11package com .snowflake .telemetry ;
22
3- import io .opentelemetry .sdk .common .CompletableResultCode ;
4- import io .opentelemetry .sdk .metrics .data .MetricData ;
5- import io .opentelemetry .sdk .metrics .export .MetricExporter ;
3+ import com .intellij .openapi .diagnostic .Logger ;
64import io .opentelemetry .exporter .otlp .metrics .OtlpGrpcMetricExporter ;
5+ import io .opentelemetry .sdk .common .CompletableResultCode ;
76import io .opentelemetry .sdk .common .export .MemoryMode ;
87import io .opentelemetry .sdk .metrics .Aggregation ;
9- import io .opentelemetry .sdk .metrics .data .AggregationTemporality ;
108import io .opentelemetry .sdk .metrics .InstrumentType ;
11- import com . intellij . openapi . diagnostic . Logger ;
12- import io .opentelemetry .sdk .metrics .internal . data .ImmutableMetricData ;
13-
9+ import io . opentelemetry . sdk . metrics . data . AggregationTemporality ;
10+ import io .opentelemetry .sdk .metrics .data .MetricData ;
11+ import io . opentelemetry . sdk . metrics . export . MetricExporter ;
1412import java .util .Collection ;
15- import java .util .Objects ;
1613
1714/**
18- * A MetricExporter implementation that delegates all operations to an underlying OtlpGrpcMetricExporter.
19- * This wrapper allows for additional customization or monitoring of the export process if needed.
15+ * A MetricExporter implementation that delegates all operations to an underlying
16+ * OtlpGrpcMetricExporter. This wrapper allows for additional customization or monitoring of the
17+ * export process if needed.
2018 */
2119public class DelegatingMetricExporter implements MetricExporter {
22- private static final Logger LOG = Logger .getInstance (DelegatingMetricExporter .class );
23- private final OtlpGrpcMetricExporter delegate ;
24- private final String metricPrefix ;
25-
26- /**
27- * Creates a new DelegatingMetricExporter.
28- *
29- * @param delegate the underlying OtlpGrpcMetricExporter that will handle the actual export
30- * @throws NullPointerException if delegate is null
31- */
32- public DelegatingMetricExporter (OtlpGrpcMetricExporter delegate , String prefix ) {
33- this .delegate = delegate ;
34- this .metricPrefix = prefix ;
35-
36- }
20+ private static final Logger LOG = Logger .getInstance (DelegatingMetricExporter .class );
21+ private final OtlpGrpcMetricExporter delegate ;
22+ private final String metricPrefix ;
3723
24+ /**
25+ * Creates a new DelegatingMetricExporter.
26+ *
27+ * @param delegate the underlying OtlpGrpcMetricExporter that will handle the actual export
28+ * @throws NullPointerException if delegate is null
29+ */
30+ public DelegatingMetricExporter (OtlpGrpcMetricExporter delegate , String prefix ) {
31+ this .delegate = delegate ;
32+ this .metricPrefix = prefix ;
33+ }
3834
3935 @ Override
4036 public Aggregation getDefaultAggregation (InstrumentType instrumentType ) {
4137 return delegate .getDefaultAggregation (instrumentType );
4238 }
4339
44- @ Override
40+ @ Override
4541 public AggregationTemporality getAggregationTemporality (InstrumentType instrumentType ) {
4642 return delegate .getAggregationTemporality (instrumentType );
4743 }
@@ -51,30 +47,29 @@ public MemoryMode getMemoryMode() {
5147 return delegate .getMemoryMode ();
5248 }
5349
54- @ Override
55- public CompletableResultCode export (Collection <MetricData > metrics ) {
56- Collection <MetricData > prefixedMetrics = metrics .stream ()
57- .map (m -> PrefixedMetricData .create (m , metricPrefix ))
58- .toList ();
59- return delegate .export (prefixedMetrics );
60- }
50+ @ Override
51+ public CompletableResultCode export (Collection <MetricData > metrics ) {
52+ Collection <MetricData > prefixedMetrics =
53+ metrics .stream ().map (m -> PrefixedMetricData .create (m , metricPrefix )).toList ();
54+ return delegate .export (prefixedMetrics );
55+ }
6156
62- @ Override
63- public CompletableResultCode flush () {
64- return delegate .flush ();
65- }
57+ @ Override
58+ public CompletableResultCode flush () {
59+ return delegate .flush ();
60+ }
6661
67- @ Override
68- public CompletableResultCode shutdown () {
69- return delegate .shutdown ();
70- }
62+ @ Override
63+ public CompletableResultCode shutdown () {
64+ return delegate .shutdown ();
65+ }
7166
72- /**
73- * Returns the underlying OtlpGrpcMetricExporter.
74- *
75- * @return the delegate exporter
76- */
77- public OtlpGrpcMetricExporter getDelegate () {
78- return delegate ;
79- }
67+ /**
68+ * Returns the underlying OtlpGrpcMetricExporter.
69+ *
70+ * @return the delegate exporter
71+ */
72+ public OtlpGrpcMetricExporter getDelegate () {
73+ return delegate ;
74+ }
8075}
0 commit comments