Retire old unsealed-sender meters

This commit is contained in:
Jon Chambers 2021-10-28 17:37:31 -04:00 committed by Jon Chambers
parent 0bbd34d060
commit 10f27af6f2
1 changed files with 14 additions and 15 deletions

View File

@ -110,8 +110,6 @@ public class MessageController {
private final Logger logger = LoggerFactory.getLogger(MessageController.class); private final Logger logger = LoggerFactory.getLogger(MessageController.class);
private final MetricRegistry metricRegistry = SharedMetricRegistries.getOrCreate(Constants.METRICS_NAME); private final MetricRegistry metricRegistry = SharedMetricRegistries.getOrCreate(Constants.METRICS_NAME);
private final Meter unidentifiedMeter = metricRegistry.meter(name(getClass(), "delivery", "unidentified"));
private final Meter identifiedMeter = metricRegistry.meter(name(getClass(), "delivery", "identified" ));
private final Meter rejectOver256kibMessageMeter = metricRegistry.meter(name(getClass(), "rejectOver256kibMessage")); private final Meter rejectOver256kibMessageMeter = metricRegistry.meter(name(getClass(), "rejectOver256kibMessage"));
private final Timer sendMessageInternalTimer = metricRegistry.timer(name(getClass(), "sendMessageInternal")); private final Timer sendMessageInternalTimer = metricRegistry.timer(name(getClass(), "sendMessageInternal"));
private final Timer sendCommonMessageInternalTimer = metricRegistry.timer(name(getClass(), "sendCommonMessageInternal")); private final Timer sendCommonMessageInternalTimer = metricRegistry.timer(name(getClass(), "sendCommonMessageInternal"));
@ -145,6 +143,10 @@ public class MessageController {
private static final String SENDER_COUNTRY_TAG_NAME = "senderCountry"; private static final String SENDER_COUNTRY_TAG_NAME = "senderCountry";
private static final String RATE_LIMIT_REASON_TAG_NAME = "rateLimitReason"; private static final String RATE_LIMIT_REASON_TAG_NAME = "rateLimitReason";
private static final String SENDER_TYPE_IDENTIFIED = "identified";
private static final String SENDER_TYPE_UNIDENTIFIED = "unidentified";
private static final String SENDER_TYPE_SELF = "self";
private static final long MAX_MESSAGE_SIZE = DataSize.kibibytes(256).toBytes(); private static final long MAX_MESSAGE_SIZE = DataSize.kibibytes(256).toBytes();
public MessageController( public MessageController(
@ -192,14 +194,12 @@ public class MessageController {
if (source.isPresent()) { if (source.isPresent()) {
if (source.get().getAccount().isIdentifiedBy(destinationUuid)) { if (source.get().getAccount().isIdentifiedBy(destinationUuid)) {
senderType = "self"; senderType = SENDER_TYPE_SELF;
} else { } else {
identifiedMeter.mark(); senderType = SENDER_TYPE_IDENTIFIED;
senderType = "identified";
} }
} else { } else {
unidentifiedMeter.mark(); senderType = SENDER_TYPE_UNIDENTIFIED;
senderType = "unidentified";
} }
for (final IncomingMessage message : messages.getMessages()) { for (final IncomingMessage message : messages.getMessages()) {
@ -318,8 +318,6 @@ public class MessageController {
@QueryParam("ts") long timestamp, @QueryParam("ts") long timestamp,
@Valid MultiRecipientMessage multiRecipientMessage) { @Valid MultiRecipientMessage multiRecipientMessage) {
unidentifiedMeter.mark(multiRecipientMessage.getRecipients().length);
Map<UUID, Account> uuidToAccountMap = Arrays.stream(multiRecipientMessage.getRecipients()) Map<UUID, Account> uuidToAccountMap = Arrays.stream(multiRecipientMessage.getRecipients())
.map(Recipient::getUuid) .map(Recipient::getUuid)
.distinct() .distinct()
@ -375,20 +373,21 @@ public class MessageController {
.build(); .build();
} }
List<Tag> tags = List.of(
UserAgentTagUtil.getPlatformTag(userAgent),
Tag.of(EPHEMERAL_TAG_NAME, String.valueOf(online)),
Tag.of(SENDER_TYPE_TAG_NAME, "unidentified"));
List<UUID> uuids404 = Collections.synchronizedList(new ArrayList<>()); List<UUID> uuids404 = Collections.synchronizedList(new ArrayList<>());
final Counter counter = Metrics.counter(SENT_MESSAGE_COUNTER_NAME, tags);
try { try {
final Counter sentMessageCounter = Metrics.counter(SENT_MESSAGE_COUNTER_NAME, Tags.of(
UserAgentTagUtil.getPlatformTag(userAgent),
Tag.of(EPHEMERAL_TAG_NAME, String.valueOf(online)),
Tag.of(SENDER_TYPE_TAG_NAME, SENDER_TYPE_UNIDENTIFIED)));
multiRecipientMessageExecutor.invokeAll(Arrays.stream(multiRecipientMessage.getRecipients()) multiRecipientMessageExecutor.invokeAll(Arrays.stream(multiRecipientMessage.getRecipients())
.map(recipient -> (Callable<Void>) () -> { .map(recipient -> (Callable<Void>) () -> {
Account destinationAccount = uuidToAccountMap.get(recipient.getUuid()); Account destinationAccount = uuidToAccountMap.get(recipient.getUuid());
// we asserted this must exist in validateCompleteDeviceList // we asserted this must exist in validateCompleteDeviceList
Device destinationDevice = destinationAccount.getDevice(recipient.getDeviceId()).orElseThrow(); Device destinationDevice = destinationAccount.getDevice(recipient.getDeviceId()).orElseThrow();
counter.increment(); sentMessageCounter.increment();
try { try {
sendMessage(destinationAccount, destinationDevice, timestamp, online, recipient, sendMessage(destinationAccount, destinationDevice, timestamp, online, recipient,
multiRecipientMessage.getCommonPayload()); multiRecipientMessage.getCommonPayload());