Include the current server version in the tag list for Dropwizard metrics
This commit is contained in:
parent
b946c27a20
commit
f2c6ca182d
|
@ -10,6 +10,7 @@ import com.codahale.metrics.ScheduledReporter;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||||
import io.dropwizard.metrics.BaseReporterFactory;
|
import io.dropwizard.metrics.BaseReporterFactory;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
@ -20,6 +21,7 @@ import org.coursera.metrics.datadog.DefaultMetricNameFormatterFactory;
|
||||||
import org.coursera.metrics.datadog.DynamicTagsCallbackFactory;
|
import org.coursera.metrics.datadog.DynamicTagsCallbackFactory;
|
||||||
import org.coursera.metrics.datadog.MetricNameFormatterFactory;
|
import org.coursera.metrics.datadog.MetricNameFormatterFactory;
|
||||||
import org.coursera.metrics.datadog.transport.AbstractTransportFactory;
|
import org.coursera.metrics.datadog.transport.AbstractTransportFactory;
|
||||||
|
import org.whispersystems.textsecuregcm.WhisperServerVersion;
|
||||||
import org.whispersystems.textsecuregcm.util.HostnameUtil;
|
import org.whispersystems.textsecuregcm.util.HostnameUtil;
|
||||||
|
|
||||||
@JsonTypeName("signal-datadog")
|
@JsonTypeName("signal-datadog")
|
||||||
|
@ -58,10 +60,23 @@ public class SignalDatadogReporterFactory extends BaseReporterFactory {
|
||||||
);
|
);
|
||||||
|
|
||||||
public ScheduledReporter build(MetricRegistry registry) {
|
public ScheduledReporter build(MetricRegistry registry) {
|
||||||
|
final List<String> tagsWithVersion;
|
||||||
|
|
||||||
|
{
|
||||||
|
final String versionTag = "version:" + WhisperServerVersion.getServerVersion();
|
||||||
|
|
||||||
|
if (tags != null) {
|
||||||
|
tagsWithVersion = new ArrayList<>(tags);
|
||||||
|
tagsWithVersion.add(versionTag);
|
||||||
|
} else {
|
||||||
|
tagsWithVersion = List.of(versionTag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return DatadogReporter.forRegistry(registry)
|
return DatadogReporter.forRegistry(registry)
|
||||||
.withTransport(transport.build())
|
.withTransport(transport.build())
|
||||||
.withHost(HostnameUtil.getLocalHostname())
|
.withHost(HostnameUtil.getLocalHostname())
|
||||||
.withTags(tags)
|
.withTags(tagsWithVersion)
|
||||||
.withPrefix(prefix)
|
.withPrefix(prefix)
|
||||||
.withExpansions(EXPANSIONS)
|
.withExpansions(EXPANSIONS)
|
||||||
.withMetricNameFormatter(metricNameFormatter.build())
|
.withMetricNameFormatter(metricNameFormatter.build())
|
||||||
|
|
Loading…
Reference in New Issue