Skip to content

Commit 7016110

Browse files
authored
Use singleton for null telemetry objects in NullTelemetryFactory (#1188)
1 parent 36e5e57 commit 7016110

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

wrapper/src/main/java/software/amazon/jdbc/util/telemetry/NullTelemetryFactory.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,13 @@
1818

1919
public class NullTelemetryFactory implements TelemetryFactory {
2020

21+
private static final TelemetryContext NULL_TELEMETRY_CONTEXT = new NullTelemetryContext("null");
22+
private static final TelemetryCounter NULL_TELEMETRY_COUNTER = new NullTelemetryCounter("null");
23+
private static final TelemetryGauge NULL_TELEMETRY_GAUGE = new NullTelemetryGauge("null");
24+
2125
@Override
2226
public TelemetryContext openTelemetryContext(String name, TelemetryTraceLevel traceLevel) {
23-
return new NullTelemetryContext(name);
27+
return NULL_TELEMETRY_CONTEXT;
2428
}
2529

2630
@Override
@@ -30,11 +34,11 @@ public void postCopy(TelemetryContext telemetryContext, TelemetryTraceLevel trac
3034

3135
@Override
3236
public TelemetryCounter createCounter(String name) {
33-
return new NullTelemetryCounter(name);
37+
return NULL_TELEMETRY_COUNTER;
3438
}
3539

3640
@Override
3741
public TelemetryGauge createGauge(String name, GaugeCallable<Long> callback) {
38-
return new NullTelemetryGauge(name);
42+
return NULL_TELEMETRY_GAUGE;
3943
}
4044
}

0 commit comments

Comments
 (0)