Include environment/service/version as common metric tags.

This commit is contained in:
Jon Chambers 2021-06-04 18:01:14 -04:00 committed by Jon Chambers
parent 5522376584
commit 6cbd57f19f
2 changed files with 21 additions and 7 deletions

View File

@ -34,6 +34,7 @@ import io.lettuce.core.resource.ClientResources;
import io.micrometer.core.instrument.Clock; import io.micrometer.core.instrument.Clock;
import io.micrometer.core.instrument.Meter.Id; import io.micrometer.core.instrument.Meter.Id;
import io.micrometer.core.instrument.Metrics; import io.micrometer.core.instrument.Metrics;
import io.micrometer.core.instrument.Tags;
import io.micrometer.core.instrument.config.MeterFilter; import io.micrometer.core.instrument.config.MeterFilter;
import io.micrometer.core.instrument.distribution.DistributionStatisticConfig; import io.micrometer.core.instrument.distribution.DistributionStatisticConfig;
import io.micrometer.datadog.DatadogConfig; import io.micrometer.datadog.DatadogConfig;
@ -309,16 +310,21 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
} }
}, Clock.SYSTEM); }, Clock.SYSTEM);
datadogMeterRegistry.config().meterFilter(new MeterFilter() { datadogMeterRegistry.config().commonTags(
@Override Tags.of(
public DistributionStatisticConfig configure(final Id id, final DistributionStatisticConfig config) { "service", "chat",
return defaultDistributionStatisticConfig.merge(config); "version", WhisperServerVersion.getServerVersion(),
} "env", config.getDatadogConfiguration().getEnvironment()))
})
.meterFilter(MeterFilter.denyNameStartsWith(MetricsRequestEventListener.REQUEST_COUNTER_NAME)) .meterFilter(MeterFilter.denyNameStartsWith(MetricsRequestEventListener.REQUEST_COUNTER_NAME))
.meterFilter(MeterFilter.denyNameStartsWith(MetricsRequestEventListener.ANDROID_REQUEST_COUNTER_NAME)) .meterFilter(MeterFilter.denyNameStartsWith(MetricsRequestEventListener.ANDROID_REQUEST_COUNTER_NAME))
.meterFilter(MeterFilter.denyNameStartsWith(MetricsRequestEventListener.DESKTOP_REQUEST_COUNTER_NAME)) .meterFilter(MeterFilter.denyNameStartsWith(MetricsRequestEventListener.DESKTOP_REQUEST_COUNTER_NAME))
.meterFilter(MeterFilter.denyNameStartsWith(MetricsRequestEventListener.IOS_REQUEST_COUNTER_NAME)); .meterFilter(MeterFilter.denyNameStartsWith(MetricsRequestEventListener.IOS_REQUEST_COUNTER_NAME))
.meterFilter(new MeterFilter() {
@Override
public DistributionStatisticConfig configure(final Id id, final DistributionStatisticConfig config) {
return defaultDistributionStatisticConfig.merge(config);
}
});
Metrics.addRegistry(datadogMeterRegistry); Metrics.addRegistry(datadogMeterRegistry);
} }

View File

@ -20,6 +20,10 @@ public class DatadogConfiguration {
@NotNull @NotNull
private Duration step = Duration.ofSeconds(10); private Duration step = Duration.ofSeconds(10);
@JsonProperty
@NotBlank
private String environment;
public String getApiKey() { public String getApiKey() {
return apiKey; return apiKey;
} }
@ -27,4 +31,8 @@ public class DatadogConfiguration {
public Duration getStep() { public Duration getStep() {
return step; return step;
} }
public String getEnvironment() {
return environment;
}
} }