Skip to content

Commit 40877f9

Browse files
chore: capture sub-ms latency measurements (#9789)
1 parent dcaa152 commit 40877f9

File tree

1 file changed

+9
-5
lines changed
  • bigtable/bigtable-proxy/src/main/java/com/google/cloud/bigtable/examples/proxy/metrics

1 file changed

+9
-5
lines changed

bigtable/bigtable-proxy/src/main/java/com/google/cloud/bigtable/examples/proxy/metrics/MetricsImpl.java

+9-5
Original file line numberDiff line numberDiff line change
@@ -292,12 +292,12 @@ public void recordCallStarted(MetricsAttributes attrs) {
292292
public void recordCredLatency(MetricsAttributes attrs, Status status, Duration duration) {
293293
Attributes attributes =
294294
unwrap(attrs).toBuilder().put(STATUS_KEY, status.getCode().name()).build();
295-
clientCredLatencies.record(duration.toMillis(), attributes);
295+
clientCredLatencies.record(toMs(duration), attributes);
296296
}
297297

298298
@Override
299299
public void recordQueueLatency(MetricsAttributes attrs, Duration duration) {
300-
clientQueueLatencies.record(duration.toMillis(), unwrap(attrs));
300+
clientQueueLatencies.record(toMs(duration), unwrap(attrs));
301301
}
302302

303303
@Override
@@ -312,7 +312,7 @@ public void recordResponseSize(MetricsAttributes attrs, long size) {
312312

313313
@Override
314314
public void recordGfeLatency(MetricsAttributes attrs, Duration duration) {
315-
gfeLatency.record(duration.toMillis(), unwrap(attrs));
315+
gfeLatency.record(toMs(duration), unwrap(attrs));
316316
}
317317

318318
@Override
@@ -325,13 +325,13 @@ public void recordCallLatency(MetricsAttributes attrs, Status status, Duration d
325325
Attributes attributes =
326326
unwrap(attrs).toBuilder().put(STATUS_KEY, status.getCode().name()).build();
327327

328-
clientCallLatencies.record(duration.toMillis(), attributes);
328+
clientCallLatencies.record(toMs(duration), attributes);
329329
numOutstandingRpcs.decrementAndGet();
330330
}
331331

332332
@Override
333333
public void recordFirstByteLatency(MetricsAttributes attrs, Duration duration) {
334-
clientCallFirstByteLatencies.record(duration.toMillis(), unwrap(attrs));
334+
clientCallFirstByteLatencies.record(toMs(duration), unwrap(attrs));
335335
}
336336

337337
@Override
@@ -352,6 +352,10 @@ public void recordChannelStateChange(ConnectivityState prevState, ConnectivitySt
352352
channelStateChangeCounter.add(1, attributes);
353353
}
354354

355+
private static double toMs(Duration duration) {
356+
return duration.toNanos() / 1_000_000.0;
357+
}
358+
355359
private static Attributes unwrap(MetricsAttributes wrapped) {
356360
return ((MetricsAttributesImpl) wrapped).getAttributes();
357361
}

0 commit comments

Comments
 (0)