Count reported messages by destination country code in addition to source country code
This commit is contained in:
parent
f75e616397
commit
bab6b36e4d
|
@ -474,7 +474,7 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
|
||||||
SubscriptionManager subscriptionManager = new SubscriptionManager(
|
SubscriptionManager subscriptionManager = new SubscriptionManager(
|
||||||
config.getDynamoDbTables().getSubscriptions().getTableName(), dynamoDbAsyncClient);
|
config.getDynamoDbTables().getSubscriptions().getTableName(), dynamoDbAsyncClient);
|
||||||
|
|
||||||
ReportedMessageMetricsListener reportedMessageMetricsListener = new ReportedMessageMetricsListener();
|
ReportedMessageMetricsListener reportedMessageMetricsListener = new ReportedMessageMetricsListener(accountsManager);
|
||||||
reportMessageManager.addListener(reportedMessageMetricsListener);
|
reportMessageManager.addListener(reportedMessageMetricsListener);
|
||||||
|
|
||||||
AccountAuthenticator accountAuthenticator = new AccountAuthenticator(accountsManager);
|
AccountAuthenticator accountAuthenticator = new AccountAuthenticator(accountsManager);
|
||||||
|
|
|
@ -9,17 +9,30 @@ import static com.codahale.metrics.MetricRegistry.name;
|
||||||
|
|
||||||
import io.micrometer.core.instrument.Metrics;
|
import io.micrometer.core.instrument.Metrics;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import org.whispersystems.textsecuregcm.storage.AccountsManager;
|
||||||
import org.whispersystems.textsecuregcm.storage.ReportMessageManager;
|
import org.whispersystems.textsecuregcm.storage.ReportMessageManager;
|
||||||
import org.whispersystems.textsecuregcm.storage.ReportedMessageListener;
|
import org.whispersystems.textsecuregcm.storage.ReportedMessageListener;
|
||||||
import org.whispersystems.textsecuregcm.util.Util;
|
import org.whispersystems.textsecuregcm.util.Util;
|
||||||
|
|
||||||
public class ReportedMessageMetricsListener implements ReportedMessageListener {
|
public class ReportedMessageMetricsListener implements ReportedMessageListener {
|
||||||
|
|
||||||
|
private final AccountsManager accountsManager;
|
||||||
|
|
||||||
// ReportMessageManager name used deliberately to preserve continuity of metrics
|
// ReportMessageManager name used deliberately to preserve continuity of metrics
|
||||||
private static final String REPORT_COUNTER_NAME = name(ReportMessageManager.class, "reported");
|
private static final String REPORTED_COUNTER_NAME = name(ReportMessageManager.class, "reported");
|
||||||
|
private static final String REPORTER_COUNTER_NAME = name(ReportMessageManager.class, "reporter");
|
||||||
|
|
||||||
|
private static final String COUNTRY_CODE_TAG_NAME = "countryCode";
|
||||||
|
|
||||||
|
public ReportedMessageMetricsListener(final AccountsManager accountsManager) {
|
||||||
|
this.accountsManager = accountsManager;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleMessageReported(final String sourceNumber, final UUID messageGuid, final UUID reporterUuid) {
|
public void handleMessageReported(final String sourceNumber, final UUID messageGuid, final UUID reporterUuid) {
|
||||||
Metrics.counter(REPORT_COUNTER_NAME, "countryCode", Util.getCountryCode(sourceNumber)).increment();
|
Metrics.counter(REPORTED_COUNTER_NAME, COUNTRY_CODE_TAG_NAME, Util.getCountryCode(sourceNumber)).increment();
|
||||||
|
|
||||||
|
accountsManager.getByAccountIdentifier(reporterUuid).ifPresent(reporter ->
|
||||||
|
Metrics.counter(REPORTER_COUNTER_NAME, COUNTRY_CODE_TAG_NAME, Util.getCountryCode(reporter.getNumber())).increment());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue