Skip to content

Commit

Permalink
Measure sizes of group messages
Browse files Browse the repository at this point in the history
  • Loading branch information
jon-signal committed Jun 12, 2024
1 parent 3aa4d87 commit 09bc4ef
Showing 1 changed file with 7 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,7 @@ public Response sendMessage(@ReadOnly @Auth Optional<AuthenticatedAccount> sourc
contentLength += message.content().length();
}

validateContentLength(contentLength, userAgent);
validateContentLength(contentLength, false, userAgent);
validateEnvelopeType(message.type(), userAgent);

totalContentLength += contentLength;
Expand Down Expand Up @@ -641,6 +641,8 @@ public Response sendMultiRecipientMessage(
Tag.of(SENDER_TYPE_TAG_NAME, SENDER_TYPE_UNIDENTIFIED),
Tag.of(IDENTITY_TYPE_TAG_NAME, recipientData.serviceIdentifier().identityType().name())));

validateContentLength(multiRecipientMessage.messageSizeForRecipient(recipientData.recipient()), true, userAgent);

return recipientData.deviceIdToRegistrationId().keySet().stream().map(
deviceId ->CompletableFuture.runAsync(
() -> {
Expand Down Expand Up @@ -933,11 +935,13 @@ private void checkMessageRateLimit(AuthenticatedAccount source, Account destinat
}
}

private void validateContentLength(final int contentLength, final String userAgent) {
private void validateContentLength(final int contentLength, final boolean multiRecipientMessage, final String userAgent) {
final boolean oversize = contentLength > MAX_MESSAGE_SIZE;

DistributionSummary.builder(CONTENT_SIZE_DISTRIBUTION_NAME)
.tags(Tags.of(UserAgentTagUtil.getPlatformTag(userAgent), Tag.of("oversize", String.valueOf(oversize))))
.tags(Tags.of(UserAgentTagUtil.getPlatformTag(userAgent),
Tag.of("oversize", String.valueOf(oversize)),
Tag.of("multiRecipientMessage", String.valueOf(multiRecipientMessage))))
.publishPercentileHistogram(true)
.register(Metrics.globalRegistry)
.record(contentLength);
Expand Down

0 comments on commit 09bc4ef

Please sign in to comment.