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

View File

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