aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWyatt Hepler <hepler@google.com>2022-04-01 18:34:46 -0700
committerCQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-04-04 20:55:29 +0000
commit6ff271a3cda97f38f9bdca80160e82616678fc01 (patch)
tree0f118e256dfde627b6f842c7a3124996504b80d9
parent29f95b9c94c772bfaae4dad5953b3c50337dce35 (diff)
downloadpigweed-6ff271a3cda97f38f9bdca80160e82616678fc01.tar.gz
pw_rpc: Expand debug logs for pw_rpc activity
Add descriptive logs for each phase of an RPC call. Change-Id: I2ff5f4c833c9045dc97524635cc3d571f6262b34 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/89700 Reviewed-by: Ted Pudlik <tpudlik@google.com> Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com> Reviewed-by: Anthony DiGirolamo <tonymd@google.com> Reviewed-by: Armando Montanez <amontanez@google.com> Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
-rw-r--r--pw_rpc/java/main/dev/pigweed/pw_rpc/Client.java25
-rw-r--r--pw_rpc/java/main/dev/pigweed/pw_rpc/PendingRpc.java3
-rw-r--r--pw_rpc/java/main/dev/pigweed/pw_rpc/RpcManager.java15
3 files changed, 25 insertions, 18 deletions
diff --git a/pw_rpc/java/main/dev/pigweed/pw_rpc/Client.java b/pw_rpc/java/main/dev/pigweed/pw_rpc/Client.java
index f4d187351..a62d77d76 100644
--- a/pw_rpc/java/main/dev/pigweed/pw_rpc/Client.java
+++ b/pw_rpc/java/main/dev/pigweed/pw_rpc/Client.java
@@ -198,31 +198,42 @@ public class Client {
StreamObserverCall<?, ?> call =
packet.getType().equals(PacketType.SERVER_STREAM) ? rpcs.getPending(rpc) : rpcs.clear(rpc);
if (call == null) {
- logger.atInfo().log(
- "Ignoring packet for RPC (%s) that isn't pending. Pending RPCs are: %s", rpc, rpcs);
+ logger.atFine().log(
+ "Ignoring packet for %s, which isn't pending. Pending RPCs are %s", rpc, rpcs);
sendError(channel, packet, Status.FAILED_PRECONDITION);
return true;
}
switch (packet.getType()) {
- case SERVER_ERROR:
+ case SERVER_ERROR: {
Status status = decodeStatus(packet);
- logger.atWarning().log("RPC %s failed with error %s", rpc, status);
+ logger.atWarning().log("%s failed with error %s", rpc, status);
call.onError(status);
break;
- case RESPONSE:
+ }
+ case RESPONSE: {
+ Status status = decodeStatus(packet);
// Server streaming an unary RPCs include a payload with their response packet.
if (!rpc.method().isServerStreaming()) {
+ logger.atFiner().log("%s completed with status %s and %d B payload",
+ rpc,
+ status,
+ packet.getPayload().size());
call.onNext(packet.getPayload());
+ } else {
+ logger.atFiner().log("%s completed with status %s", rpc, status);
}
- call.onCompleted(decodeStatus(packet));
+ call.onCompleted(status);
break;
+ }
case SERVER_STREAM:
+ logger.atFiner().log(
+ "%s received server stream with %d B payload", rpc, packet.getPayload().size());
call.onNext(packet.getPayload());
break;
default:
logger.atWarning().log(
- "Unexpected PacketType %d for RPC %s", packet.getType().getNumber(), rpc);
+ "%s received unexpected PacketType %d", rpc, packet.getType().getNumber());
}
return true;
diff --git a/pw_rpc/java/main/dev/pigweed/pw_rpc/PendingRpc.java b/pw_rpc/java/main/dev/pigweed/pw_rpc/PendingRpc.java
index 6cc9b4719..59e210d8a 100644
--- a/pw_rpc/java/main/dev/pigweed/pw_rpc/PendingRpc.java
+++ b/pw_rpc/java/main/dev/pigweed/pw_rpc/PendingRpc.java
@@ -32,7 +32,6 @@ public abstract class PendingRpc {
@Override
public final String toString() {
- return String.format(
- Locale.ENGLISH, "PendingRpc(channel=%d, method=%s)", channel().id(), method());
+ return String.format(Locale.ENGLISH, "RpcCall[%s channel=%d]", method(), channel().id());
}
}
diff --git a/pw_rpc/java/main/dev/pigweed/pw_rpc/RpcManager.java b/pw_rpc/java/main/dev/pigweed/pw_rpc/RpcManager.java
index 2f8b8699d..bc690bb28 100644
--- a/pw_rpc/java/main/dev/pigweed/pw_rpc/RpcManager.java
+++ b/pw_rpc/java/main/dev/pigweed/pw_rpc/RpcManager.java
@@ -37,7 +37,7 @@ public class RpcManager {
public synchronized StreamObserverCall<?, ?> start(
PendingRpc rpc, StreamObserverCall<?, ?> call, @Nullable MessageLite payload)
throws ChannelOutputException {
- logger.atFine().log("Start %s", rpc);
+ logger.atFine().log("%s starting", rpc);
rpc.channel().send(Packets.request(rpc, payload));
return pending.put(rpc, call);
}
@@ -51,11 +51,11 @@ public class RpcManager {
@Nullable
public synchronized StreamObserverCall<?, ?> open(
PendingRpc rpc, StreamObserverCall<?, ?> call, @Nullable MessageLite payload) {
- logger.atFine().log("Open %s", rpc);
+ logger.atFine().log("%s opening", rpc);
try {
rpc.channel().send(Packets.request(rpc, payload));
} catch (ChannelOutputException e) {
- logger.atFine().withCause(e).log(
+ logger.atFiner().withCause(e).log(
"Ignoring error opening %s; listening for unrequested responses", rpc);
}
return pending.put(rpc, call);
@@ -67,7 +67,7 @@ public class RpcManager {
throws ChannelOutputException {
StreamObserverCall<?, ?> call = pending.remove(rpc);
if (call != null) {
- logger.atFine().log("Cancel %s", rpc);
+ logger.atFine().log("%s was cancelled", rpc);
rpc.channel().send(Packets.cancel(rpc));
}
return call;
@@ -88,6 +88,7 @@ public class RpcManager {
throws ChannelOutputException {
StreamObserverCall<?, ?> call = pending.get(rpc);
if (call != null) {
+ logger.atFiner().log("%s client stream closed", rpc);
rpc.channel().send(Packets.clientStreamEnd(rpc));
}
return call;
@@ -95,11 +96,7 @@ public class RpcManager {
@Nullable
public synchronized StreamObserverCall<?, ?> clear(PendingRpc rpc) {
- StreamObserverCall<?, ?> call = pending.remove(rpc);
- if (call != null) {
- logger.atFine().log("Clear %s", rpc);
- }
- return call;
+ return pending.remove(rpc);
}
@Nullable