diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java index de341dc96..bf9dfcbcf 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java @@ -45,7 +45,10 @@ import io.dropwizard.setup.Environment; import io.lettuce.core.RedisURI; import io.lettuce.core.cluster.RedisClusterClient; import io.micrometer.core.instrument.Clock; +import io.micrometer.core.instrument.ImmutableTag; +import io.micrometer.core.instrument.Meter; import io.micrometer.core.instrument.Metrics; +import io.micrometer.core.instrument.Tag; import io.micrometer.datadog.DatadogConfig; import io.micrometer.datadog.DatadogMeterRegistry; import io.micrometer.wavefront.WavefrontConfig; @@ -156,6 +159,7 @@ import org.whispersystems.textsecuregcm.workers.ZkParamsCommand; import org.whispersystems.websocket.WebSocketResourceProviderFactory; import org.whispersystems.websocket.setup.WebSocketEnvironment; +import javax.annotation.Nonnull; import javax.servlet.DispatcherType; import javax.servlet.FilterRegistration; import javax.servlet.ServletRegistration; @@ -269,7 +273,14 @@ public class WhisperServerService extends Application getConventionTags(@Nonnull Meter.Id id) { + final List tags = super.getConventionTags(id); + tags.add(new ImmutableTag("environment", micrometerDatadogConfig.getEnvironment())); + return tags; + } + }); } environment.getObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/configuration/MicrometerConfiguration.java b/service/src/main/java/org/whispersystems/textsecuregcm/configuration/MicrometerConfiguration.java index 58dba6654..39cf7f871 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/configuration/MicrometerConfiguration.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/configuration/MicrometerConfiguration.java @@ -1,7 +1,6 @@ package org.whispersystems.textsecuregcm.configuration; import com.fasterxml.jackson.annotation.JsonProperty; -import io.micrometer.wavefront.WavefrontConfig; import javax.validation.constraints.NotEmpty; @@ -18,6 +17,9 @@ public class MicrometerConfiguration { @NotEmpty private String apiKey; + @JsonProperty + private String environment; + public String getName() { return name; } @@ -29,4 +31,8 @@ public class MicrometerConfiguration { public String getApiKey() { return apiKey; } + + public String getEnvironment() { + return environment; + } }