Skip to content

Commit 15b32c7

Browse files
geekgirl10Heli Desai
andauthored
Fixes OTLP sink metric names to use dot notation instead of underscores (#5929)
Signed-off-by: Heli Desai <desaihel@amazon.com> Co-authored-by: Heli Desai <desaihel@amazon.com>
1 parent 439fde2 commit 15b32c7

2 files changed

Lines changed: 7 additions & 46 deletions

File tree

data-prepper-plugins/otlp-sink/src/main/java/org/opensearch/dataprepper/plugins/sink/otlp/metrics/OtlpSinkMetrics.java

Lines changed: 4 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
package org.opensearch.dataprepper.plugins.sink.otlp.metrics;
77

88
import io.micrometer.core.instrument.DistributionSummary;
9-
import io.micrometer.core.instrument.Metrics;
109
import io.micrometer.core.instrument.Timer;
1110
import org.opensearch.dataprepper.metrics.PluginMetrics;
1211
import org.opensearch.dataprepper.model.configuration.PluginSetting;
@@ -38,48 +37,10 @@ public class OtlpSinkMetrics {
3837
public OtlpSinkMetrics(@Nonnull final PluginMetrics pluginMetrics, @Nonnull final PluginSetting pluginSetting) {
3938
this.pluginMetrics = pluginMetrics;
4039

41-
final String pipelineName = pluginSetting.getPipelineName();
42-
final String pluginName = pluginSetting.getName();
40+
httpLatency = pluginMetrics.timer("httpLatency");
4341

44-
httpLatency = buildLatencyTimer(pipelineName, pluginName, "httpLatency");
45-
46-
payloadSize = buildDistributionSummary(pipelineName, pluginName, "payloadSize");
47-
payloadGzipSize = buildDistributionSummary(pipelineName, pluginName, "payloadGzipSize");
48-
}
49-
50-
/**
51-
* Builds a timer for latency metrics with percentiles
52-
*
53-
* @param pipelineName The pipeline name
54-
* @param pluginName The plugin name
55-
* @param metricName The metric name
56-
* @return The timer
57-
*/
58-
private static Timer buildLatencyTimer(@Nonnull final String pipelineName, @Nonnull final String pluginName, @Nonnull final String metricName) {
59-
return Timer.builder(String.format("%s_%s_%s", pipelineName, pluginName, metricName))
60-
.publishPercentiles(0.5, 0.9, 0.95, 0.99, 1.0)
61-
.publishPercentileHistogram(true)
62-
.distributionStatisticBufferLength(1024)
63-
.distributionStatisticExpiry(Duration.ofMinutes(10))
64-
.register(Metrics.globalRegistry);
65-
}
66-
67-
/**
68-
* Builds a distribution summary for payload size metrics with percentiles
69-
*
70-
* @param pipelineName The pipeline name
71-
* @param pluginName The plugin name
72-
* @param metricName The metric name
73-
* @return The distribution summary
74-
*/
75-
private static DistributionSummary buildDistributionSummary(@Nonnull final String pipelineName, @Nonnull final String pluginName, @Nonnull final String metricName) {
76-
return DistributionSummary.builder(String.format("%s_%s_%s", pipelineName, pluginName, metricName))
77-
.baseUnit("bytes")
78-
.publishPercentiles(0.5, 0.9, 0.95, 0.99, 1.0)
79-
.publishPercentileHistogram(true)
80-
.distributionStatisticBufferLength(1024)
81-
.distributionStatisticExpiry(Duration.ofMinutes(10))
82-
.register(Metrics.globalRegistry);
42+
payloadSize = pluginMetrics.summary("payloadSize");
43+
payloadGzipSize = pluginMetrics.summary("payloadGzipSize");
8344
}
8445

8546
public void incrementRecordsOut(final long count) {
@@ -133,6 +94,6 @@ public void incrementFailedSpansCount(final long count) {
13394
*/
13495
public void recordResponseCode(final int statusCode) {
13596
final String codeCategory = (statusCode / 100) + "xx";
136-
pluginMetrics.counter("http_" + codeCategory + "_responses").increment();
97+
pluginMetrics.counter("http" + codeCategory + "Responses").increment();
13798
}
13899
}

data-prepper-plugins/otlp-sink/src/test/java/org/opensearch/dataprepper/plugins/sink/otlp/metrics/OtlpSinkMetricsTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,18 +90,18 @@ void testIncrementFailedSpansCount() {
9090
void testRecordResponseCodeCounters() {
9191
// 5xx
9292
sinkMetrics.recordResponseCode(503);
93-
verify(pluginMetrics).counter("http_5xx_responses");
93+
verify(pluginMetrics).counter("http5xxResponses");
9494
verify(counterMock).increment();
9595

9696
// 4xx
9797
sinkMetrics.recordResponseCode(404);
98-
verify(pluginMetrics).counter("http_4xx_responses");
98+
verify(pluginMetrics).counter("http4xxResponses");
9999
// total increments called twice so far
100100
verify(counterMock, times(2)).increment();
101101

102102
// 2xx
103103
sinkMetrics.recordResponseCode(200);
104-
verify(pluginMetrics).counter("http_2xx_responses");
104+
verify(pluginMetrics).counter("http2xxResponses");
105105
verify(counterMock, times(3)).increment();
106106
}
107107

0 commit comments

Comments
 (0)