Skip to content

Commit abbafb3

Browse files
authored
Remove duplicate and unnecessary code in micrometer1shim (#4682)
Signed-off-by: Bogdan Drutu <[email protected]> Signed-off-by: Bogdan Drutu <[email protected]>
1 parent e118297 commit abbafb3

File tree

5 files changed

+17
-112
lines changed

5 files changed

+17
-112
lines changed

micrometer1-shim/src/main/java/io/opentelemetry/micrometer1shim/OpenTelemetryCounter.java

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,25 @@
99
import static io.opentelemetry.micrometer1shim.Bridging.name;
1010
import static io.opentelemetry.micrometer1shim.Bridging.tagsAsAttributes;
1111

12+
import io.micrometer.core.instrument.AbstractMeter;
1213
import io.micrometer.core.instrument.Counter;
1314
import io.micrometer.core.instrument.Measurement;
1415
import io.micrometer.core.instrument.config.NamingConvention;
15-
import io.micrometer.core.instrument.util.MeterEquivalence;
1616
import io.opentelemetry.api.common.Attributes;
1717
import io.opentelemetry.api.metrics.DoubleCounter;
1818
import io.opentelemetry.api.metrics.Meter;
1919
import java.util.Collections;
20-
import javax.annotation.Nullable;
2120

22-
@SuppressWarnings("HashCodeToString")
23-
final class OpenTelemetryCounter implements Counter, RemovableMeter {
21+
final class OpenTelemetryCounter extends AbstractMeter implements Counter, RemovableMeter {
2422

25-
private final Id id;
2623
// TODO: use bound instruments when they're available
2724
private final DoubleCounter otelCounter;
2825
private final Attributes attributes;
2926

3027
private volatile boolean removed = false;
3128

3229
OpenTelemetryCounter(Id id, NamingConvention namingConvention, Meter otelMeter) {
33-
this.id = id;
30+
super(id);
3431

3532
this.attributes = tagsAsAttributes(id, namingConvention);
3633
String conventionName = name(id, namingConvention);
@@ -63,24 +60,8 @@ public Iterable<Measurement> measure() {
6360
return Collections.emptyList();
6461
}
6562

66-
@Override
67-
public Id getId() {
68-
return id;
69-
}
70-
7163
@Override
7264
public void onRemove() {
7365
removed = true;
7466
}
75-
76-
@SuppressWarnings("EqualsWhichDoesntCheckParameterClass")
77-
@Override
78-
public boolean equals(@Nullable Object o) {
79-
return MeterEquivalence.equals(this, o);
80-
}
81-
82-
@Override
83-
public int hashCode() {
84-
return MeterEquivalence.hashCode(this);
85-
}
8667
}

micrometer1-shim/src/main/java/io/opentelemetry/micrometer1shim/OpenTelemetryFunctionCounter.java

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,18 @@
99
import static io.opentelemetry.micrometer1shim.Bridging.name;
1010
import static io.opentelemetry.micrometer1shim.Bridging.tagsAsAttributes;
1111

12+
import io.micrometer.core.instrument.AbstractMeter;
1213
import io.micrometer.core.instrument.FunctionCounter;
1314
import io.micrometer.core.instrument.Measurement;
1415
import io.micrometer.core.instrument.config.NamingConvention;
15-
import io.micrometer.core.instrument.util.MeterEquivalence;
1616
import io.opentelemetry.api.metrics.Meter;
1717
import io.opentelemetry.api.metrics.ObservableDoubleCounter;
1818
import java.util.Collections;
1919
import java.util.function.ToDoubleFunction;
20-
import javax.annotation.Nullable;
2120

22-
@SuppressWarnings("HashCodeToString")
23-
final class OpenTelemetryFunctionCounter<T> implements FunctionCounter, RemovableMeter {
21+
final class OpenTelemetryFunctionCounter<T> extends AbstractMeter
22+
implements FunctionCounter, RemovableMeter {
2423

25-
private final Id id;
2624
private final ObservableDoubleCounter observableCount;
2725

2826
OpenTelemetryFunctionCounter(
@@ -31,7 +29,7 @@ final class OpenTelemetryFunctionCounter<T> implements FunctionCounter, Removabl
3129
T obj,
3230
ToDoubleFunction<T> countFunction,
3331
Meter otelMeter) {
34-
this.id = id;
32+
super(id);
3533

3634
String name = name(id, namingConvention);
3735
observableCount =
@@ -57,24 +55,8 @@ public Iterable<Measurement> measure() {
5755
return Collections.emptyList();
5856
}
5957

60-
@Override
61-
public Id getId() {
62-
return id;
63-
}
64-
6558
@Override
6659
public void onRemove() {
6760
observableCount.close();
6861
}
69-
70-
@SuppressWarnings("EqualsWhichDoesntCheckParameterClass")
71-
@Override
72-
public boolean equals(@Nullable Object o) {
73-
return MeterEquivalence.equals(this, o);
74-
}
75-
76-
@Override
77-
public int hashCode() {
78-
return MeterEquivalence.hashCode(this);
79-
}
8062
}

micrometer1-shim/src/main/java/io/opentelemetry/micrometer1shim/OpenTelemetryFunctionTimer.java

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55

66
package io.opentelemetry.micrometer1shim;
77

8+
import io.micrometer.core.instrument.AbstractMeter;
89
import io.micrometer.core.instrument.FunctionTimer;
910
import io.micrometer.core.instrument.Measurement;
1011
import io.micrometer.core.instrument.config.NamingConvention;
11-
import io.micrometer.core.instrument.util.MeterEquivalence;
1212
import io.micrometer.core.instrument.util.TimeUtils;
1313
import io.opentelemetry.api.common.Attributes;
1414
import io.opentelemetry.api.metrics.Meter;
@@ -18,12 +18,9 @@
1818
import java.util.concurrent.TimeUnit;
1919
import java.util.function.ToDoubleFunction;
2020
import java.util.function.ToLongFunction;
21-
import javax.annotation.Nullable;
2221

23-
@SuppressWarnings("HashCodeToString")
24-
final class OpenTelemetryFunctionTimer<T> implements FunctionTimer, RemovableMeter {
25-
26-
private final Id id;
22+
final class OpenTelemetryFunctionTimer<T> extends AbstractMeter
23+
implements FunctionTimer, RemovableMeter {
2724
private final TimeUnit baseTimeUnit;
2825
private final ObservableLongCounter observableCount;
2926
private final ObservableDoubleCounter observableTotalTime;
@@ -37,8 +34,7 @@ final class OpenTelemetryFunctionTimer<T> implements FunctionTimer, RemovableMet
3734
TimeUnit totalTimeFunctionUnit,
3835
TimeUnit baseTimeUnit,
3936
Meter otelMeter) {
40-
41-
this.id = id;
37+
super(id);
4238
this.baseTimeUnit = baseTimeUnit;
4339

4440
String name = Bridging.name(id, namingConvention);
@@ -97,25 +93,9 @@ public Iterable<Measurement> measure() {
9793
return Collections.emptyList();
9894
}
9995

100-
@Override
101-
public Id getId() {
102-
return id;
103-
}
104-
10596
@Override
10697
public void onRemove() {
10798
observableCount.close();
10899
observableTotalTime.close();
109100
}
110-
111-
@SuppressWarnings("EqualsWhichDoesntCheckParameterClass")
112-
@Override
113-
public boolean equals(@Nullable Object o) {
114-
return MeterEquivalence.equals(this, o);
115-
}
116-
117-
@Override
118-
public int hashCode() {
119-
return MeterEquivalence.hashCode(this);
120-
}
121101
}

micrometer1-shim/src/main/java/io/opentelemetry/micrometer1shim/OpenTelemetryGauge.java

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,18 @@
99
import static io.opentelemetry.micrometer1shim.Bridging.name;
1010
import static io.opentelemetry.micrometer1shim.Bridging.tagsAsAttributes;
1111

12+
import io.micrometer.core.instrument.AbstractMeter;
1213
import io.micrometer.core.instrument.Gauge;
1314
import io.micrometer.core.instrument.Measurement;
1415
import io.micrometer.core.instrument.config.NamingConvention;
15-
import io.micrometer.core.instrument.util.MeterEquivalence;
1616
import io.opentelemetry.api.metrics.Meter;
1717
import io.opentelemetry.api.metrics.ObservableDoubleGauge;
1818
import java.util.Collections;
1919
import java.util.function.ToDoubleFunction;
2020
import javax.annotation.Nullable;
2121

22-
@SuppressWarnings("HashCodeToString")
23-
final class OpenTelemetryGauge<T> implements Gauge, RemovableMeter {
22+
final class OpenTelemetryGauge<T> extends AbstractMeter implements Gauge, RemovableMeter {
2423

25-
private final Id id;
2624
private final ObservableDoubleGauge observableGauge;
2725

2826
OpenTelemetryGauge(
@@ -31,8 +29,7 @@ final class OpenTelemetryGauge<T> implements Gauge, RemovableMeter {
3129
@Nullable T obj,
3230
ToDoubleFunction<T> objMetric,
3331
Meter otelMeter) {
34-
35-
this.id = id;
32+
super(id);
3633

3734
String name = name(id, namingConvention);
3835
observableGauge =
@@ -57,24 +54,8 @@ public Iterable<Measurement> measure() {
5754
return Collections.emptyList();
5855
}
5956

60-
@Override
61-
public Id getId() {
62-
return id;
63-
}
64-
6557
@Override
6658
public void onRemove() {
6759
observableGauge.close();
6860
}
69-
70-
@SuppressWarnings("EqualsWhichDoesntCheckParameterClass")
71-
@Override
72-
public boolean equals(@Nullable Object o) {
73-
return MeterEquivalence.equals(this, o);
74-
}
75-
76-
@Override
77-
public int hashCode() {
78-
return MeterEquivalence.hashCode(this);
79-
}
8061
}

micrometer1-shim/src/main/java/io/opentelemetry/micrometer1shim/OpenTelemetryMeter.java

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,25 @@
99
import static io.opentelemetry.micrometer1shim.Bridging.statisticInstrumentName;
1010
import static io.opentelemetry.micrometer1shim.Bridging.tagsAsAttributes;
1111

12+
import io.micrometer.core.instrument.AbstractMeter;
1213
import io.micrometer.core.instrument.Measurement;
1314
import io.micrometer.core.instrument.Meter;
1415
import io.micrometer.core.instrument.config.NamingConvention;
15-
import io.micrometer.core.instrument.util.MeterEquivalence;
1616
import io.opentelemetry.api.common.Attributes;
1717
import java.util.ArrayList;
1818
import java.util.Collections;
1919
import java.util.List;
20-
import javax.annotation.Nullable;
2120

22-
@SuppressWarnings("HashCodeToString")
23-
final class OpenTelemetryMeter implements Meter, RemovableMeter {
21+
final class OpenTelemetryMeter extends AbstractMeter implements Meter, RemovableMeter {
2422

25-
private final Id id;
2623
private final List<AutoCloseable> observableInstruments;
2724

2825
OpenTelemetryMeter(
2926
Id id,
3027
NamingConvention namingConvention,
3128
Iterable<Measurement> measurements,
3229
io.opentelemetry.api.metrics.Meter otelMeter) {
33-
this.id = id;
30+
super(id);
3431
Attributes attributes = tagsAsAttributes(id, namingConvention);
3532

3633
List<AutoCloseable> observableInstruments = new ArrayList<>();
@@ -82,11 +79,6 @@ final class OpenTelemetryMeter implements Meter, RemovableMeter {
8279
this.observableInstruments = observableInstruments;
8380
}
8481

85-
@Override
86-
public Id getId() {
87-
return id;
88-
}
89-
9082
@Override
9183
public Iterable<Measurement> measure() {
9284
UnsupportedReadLogger.logWarning();
@@ -103,15 +95,4 @@ public void onRemove() {
10395
throw new IllegalStateException("SDK instruments should never throw on close()", e);
10496
}
10597
}
106-
107-
@SuppressWarnings("EqualsWhichDoesntCheckParameterClass")
108-
@Override
109-
public boolean equals(@Nullable Object o) {
110-
return MeterEquivalence.equals(this, o);
111-
}
112-
113-
@Override
114-
public int hashCode() {
115-
return MeterEquivalence.hashCode(this);
116-
}
11798
}

0 commit comments

Comments
 (0)