Add an "is primary" dimension to message latency measurements
This commit is contained in:
parent
0ef3e00ba7
commit
4f10014902
|
@ -742,7 +742,11 @@ public class MessageController {
|
||||||
.map(OutgoingMessageEntity::fromEnvelope)
|
.map(OutgoingMessageEntity::fromEnvelope)
|
||||||
.peek(outgoingMessageEntity -> {
|
.peek(outgoingMessageEntity -> {
|
||||||
messageMetrics.measureAccountOutgoingMessageUuidMismatches(auth.getAccount(), outgoingMessageEntity);
|
messageMetrics.measureAccountOutgoingMessageUuidMismatches(auth.getAccount(), outgoingMessageEntity);
|
||||||
messageMetrics.measureOutgoingMessageLatency(outgoingMessageEntity.serverTimestamp(), "rest", userAgent, clientReleaseManager);
|
messageMetrics.measureOutgoingMessageLatency(outgoingMessageEntity.serverTimestamp(),
|
||||||
|
"rest",
|
||||||
|
auth.getAuthenticatedDevice().isPrimary(),
|
||||||
|
userAgent,
|
||||||
|
clientReleaseManager);
|
||||||
})
|
})
|
||||||
.collect(Collectors.toList()),
|
.collect(Collectors.toList()),
|
||||||
messagesAndHasMore.second());
|
messagesAndHasMore.second());
|
||||||
|
|
|
@ -70,12 +70,14 @@ public final class MessageMetrics {
|
||||||
|
|
||||||
public void measureOutgoingMessageLatency(final long serverTimestamp,
|
public void measureOutgoingMessageLatency(final long serverTimestamp,
|
||||||
final String channel,
|
final String channel,
|
||||||
|
final boolean isPrimaryDevice,
|
||||||
final String userAgent,
|
final String userAgent,
|
||||||
final ClientReleaseManager clientReleaseManager) {
|
final ClientReleaseManager clientReleaseManager) {
|
||||||
|
|
||||||
final List<Tag> tags = new ArrayList<>(3);
|
final List<Tag> tags = new ArrayList<>(4);
|
||||||
tags.add(UserAgentTagUtil.getPlatformTag(userAgent));
|
tags.add(UserAgentTagUtil.getPlatformTag(userAgent));
|
||||||
tags.add(Tag.of("channel", channel));
|
tags.add(Tag.of("channel", channel));
|
||||||
|
tags.add(Tag.of("isPrimary", String.valueOf(isPrimaryDevice)));
|
||||||
|
|
||||||
UserAgentTagUtil.getClientVersionTag(userAgent, clientReleaseManager).ifPresent(tags::add);
|
UserAgentTagUtil.getClientVersionTag(userAgent, clientReleaseManager).ifPresent(tags::add);
|
||||||
|
|
||||||
|
|
|
@ -222,7 +222,11 @@ public class WebSocketConnection implements MessageAvailabilityListener, Displac
|
||||||
if (throwable != null) {
|
if (throwable != null) {
|
||||||
sendFailuresCounter.increment();
|
sendFailuresCounter.increment();
|
||||||
} else {
|
} else {
|
||||||
messageMetrics.measureOutgoingMessageLatency(message.getServerTimestamp(), "websocket", client.getUserAgent(), clientReleaseManager);
|
messageMetrics.measureOutgoingMessageLatency(message.getServerTimestamp(),
|
||||||
|
"websocket",
|
||||||
|
device.isPrimary(),
|
||||||
|
client.getUserAgent(),
|
||||||
|
clientReleaseManager);
|
||||||
}
|
}
|
||||||
}).thenCompose(response -> {
|
}).thenCompose(response -> {
|
||||||
final CompletableFuture<Void> result;
|
final CompletableFuture<Void> result;
|
||||||
|
|
Loading…
Reference in New Issue