Skip to content

Commit 5059c8e

Browse files
refactors metrics into javaagent and updates metrics test and removes old semconv
1 parent 5da5b5b commit 5059c8e

File tree

13 files changed

+388
-400
lines changed

13 files changed

+388
-400
lines changed

instrumentation/aerospike-client/aerospike-client-7.1/javaagent/build.gradle.kts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
plugins {
22
id("otel.javaagent-instrumentation")
3+
id("otel.library-instrumentation")
4+
id("otel.animalsniffer-conventions")
35
}
46

57
muzzle {
@@ -12,12 +14,11 @@ muzzle {
1214
}
1315

1416
dependencies {
15-
implementation(project(":instrumentation:aerospike-client:aerospike-client-7.1:library"))
1617
library("com.aerospike:aerospike-client:7.1.0")
18+
implementation("io.opentelemetry:opentelemetry-extension-incubator")
1719

1820
compileOnly("com.google.auto.value:auto-value-annotations")
1921
annotationProcessor("com.google.auto.value:auto-value")
20-
testImplementation(project(":instrumentation:aerospike-client:aerospike-client-7.1:library"))
2122
}
2223

2324
tasks {

instrumentation/aerospike-client/aerospike-client-7.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/aerospike/v7_1/AerospikeClientAttributeExtractor.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@
99
import com.aerospike.client.ResultCode;
1010
import io.opentelemetry.api.common.AttributesBuilder;
1111
import io.opentelemetry.context.Context;
12-
import io.opentelemetry.instrumentation.aerospike.v7_1.AerospikeSemanticAttributes;
1312
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
1413
import javax.annotation.Nullable;
1514

16-
public class AerospikeClientAttributeExtractor
15+
final class AerospikeClientAttributeExtractor
1716
implements AttributesExtractor<AerospikeRequest, Void> {
1817

1918
@Override
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55

66
package io.opentelemetry.javaagent.instrumentation.aerospike.v7_1;
77

8-
import io.opentelemetry.instrumentation.aerospike.v7_1.AerospikeSemanticAttributes;
9-
import io.opentelemetry.instrumentation.api.instrumenter.db.DbClientAttributesGetter;
8+
import io.opentelemetry.instrumentation.api.incubator.semconv.db.DbClientAttributesGetter;
109
import javax.annotation.Nullable;
1110

12-
final class DbAttributesGetter implements DbClientAttributesGetter<AerospikeRequest> {
11+
final class AerospikeDbAttributesGetter implements DbClientAttributesGetter<AerospikeRequest> {
1312

1413
@Override
1514
public String getSystem(AerospikeRequest request) {
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,12 @@
66
package io.opentelemetry.javaagent.instrumentation.aerospike.v7_1;
77

88
import com.aerospike.client.cluster.Node;
9-
import io.opentelemetry.instrumentation.api.instrumenter.network.ServerAttributesGetter;
9+
import io.opentelemetry.instrumentation.api.semconv.network.NetworkAttributesGetter;
1010
import java.net.InetSocketAddress;
1111
import javax.annotation.Nullable;
1212

13-
final class NetworkAttributesGetter
14-
implements ServerAttributesGetter<AerospikeRequest, Void>,
15-
io.opentelemetry.instrumentation.api.instrumenter.network.NetworkAttributesGetter<
16-
AerospikeRequest, Void> {
13+
final class AerospikeNetworkAttributesGetter
14+
implements NetworkAttributesGetter<AerospikeRequest, Void> {
1715

1816
@Override
1917
@Nullable
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.aerospike.v7_1;
6+
package io.opentelemetry.javaagent.instrumentation.aerospike.v7_1;
77

88
import static io.opentelemetry.api.common.AttributeKey.longKey;
99
import static io.opentelemetry.api.common.AttributeKey.stringKey;

instrumentation/aerospike-client/aerospike-client-7.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/aerospike/v7_1/AersopikeSingletons.java

+10-10
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,32 @@
66
package io.opentelemetry.javaagent.instrumentation.aerospike.v7_1;
77

88
import io.opentelemetry.api.GlobalOpenTelemetry;
9-
import io.opentelemetry.instrumentation.aerospike.v7_1.AerospikeMetrics;
9+
import io.opentelemetry.instrumentation.api.incubator.semconv.db.DbClientAttributesExtractor;
10+
import io.opentelemetry.instrumentation.api.incubator.semconv.db.DbClientSpanNameExtractor;
1011
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
1112
import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder;
1213
import io.opentelemetry.instrumentation.api.instrumenter.SpanKindExtractor;
13-
import io.opentelemetry.instrumentation.api.instrumenter.db.DbClientAttributesExtractor;
14-
import io.opentelemetry.instrumentation.api.instrumenter.db.DbClientSpanNameExtractor;
15-
import io.opentelemetry.instrumentation.api.instrumenter.network.NetworkAttributesExtractor;
16-
import io.opentelemetry.instrumentation.api.instrumenter.network.ServerAttributesExtractor;
14+
import io.opentelemetry.instrumentation.api.semconv.network.NetworkAttributesExtractor;
15+
import io.opentelemetry.instrumentation.api.semconv.network.NetworkAttributesGetter;
1716
import io.opentelemetry.javaagent.bootstrap.internal.InstrumentationConfig;
17+
import io.opentelemetry.javaagent.instrumentation.aerospike.v7_1.metrics.AerospikeMetrics;
1818

1919
public final class AersopikeSingletons {
2020
private static final String INSTRUMENTATION_NAME = "io.opentelemetry.aerospike-client-7.1";
2121

2222
private static final Instrumenter<AerospikeRequest, Void> INSTRUMENTER;
2323

2424
static {
25-
DbAttributesGetter dbAttributesGetter = new DbAttributesGetter();
26-
NetworkAttributesGetter netAttributesGetter = new NetworkAttributesGetter();
25+
AerospikeDbAttributesGetter aerospikeDbAttributesGetter = new AerospikeDbAttributesGetter();
26+
NetworkAttributesGetter<AerospikeRequest, Void> netAttributesGetter =
27+
new AerospikeNetworkAttributesGetter();
2728

2829
InstrumenterBuilder<AerospikeRequest, Void> builder =
2930
Instrumenter.<AerospikeRequest, Void>builder(
3031
GlobalOpenTelemetry.get(),
3132
INSTRUMENTATION_NAME,
32-
DbClientSpanNameExtractor.create(dbAttributesGetter))
33-
.addAttributesExtractor(DbClientAttributesExtractor.create(dbAttributesGetter))
34-
.addAttributesExtractor(ServerAttributesExtractor.create(netAttributesGetter))
33+
DbClientSpanNameExtractor.create(aerospikeDbAttributesGetter))
34+
.addAttributesExtractor(DbClientAttributesExtractor.create(aerospikeDbAttributesGetter))
3535
.addAttributesExtractor(NetworkAttributesExtractor.create(netAttributesGetter))
3636
.addOperationMetrics(AerospikeMetrics.get());
3737
if (InstrumentationConfig.get()
+2-1
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.aerospike.v7_1;
6+
package io.opentelemetry.javaagent.instrumentation.aerospike.v7_1.metrics;
77

88
import io.opentelemetry.api.common.AttributeKey;
99
import io.opentelemetry.api.common.Attributes;
10+
import io.opentelemetry.javaagent.instrumentation.aerospike.v7_1.AerospikeSemanticAttributes;
1011
import javax.annotation.Nullable;
1112

1213
final class AerospikeMessageSizeUtil {
+10-4
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.aerospike.v7_1;
6+
package io.opentelemetry.javaagent.instrumentation.aerospike.v7_1.metrics;
77

8-
import static io.opentelemetry.instrumentation.aerospike.v7_1.AerospikeMessageSizeUtil.getMessageSize;
8+
import static io.opentelemetry.javaagent.instrumentation.aerospike.v7_1.metrics.AerospikeMessageSizeUtil.getMessageSize;
99
import static java.util.logging.Level.FINE;
1010

1111
import com.google.auto.value.AutoValue;
@@ -33,35 +33,41 @@ public final class AerospikeMetrics implements OperationListener {
3333
private static final Logger logger = Logger.getLogger(AerospikeMetrics.class.getName());
3434

3535
private final LongCounter requestCounter;
36+
3637
private final LongCounter responseCounter;
38+
3739
private final LongUpDownCounter concurrencyUpDownCounter;
40+
3841
private final DoubleHistogram clientLatencyHistogram;
3942

40-
@SuppressWarnings("unused")
4143
private final DoubleHistogram recordSizeHistogram;
4244

4345
private AerospikeMetrics(Meter meter) {
4446
LongCounterBuilder requestCounterBuilder =
4547
meter.counterBuilder("aerospike.requests").setDescription("Aerospike Calls");
4648
AerospikeMetricsAdvice.applyRequestCounterAdvice(requestCounterBuilder);
4749
requestCounter = requestCounterBuilder.build();
50+
4851
LongCounterBuilder responseCounterBuilder =
4952
meter.counterBuilder("aerospike.response").setDescription("Aerospike Responses");
5053
AerospikeMetricsAdvice.applyResponseCounterAdvice(responseCounterBuilder);
5154
responseCounter = responseCounterBuilder.build();
55+
5256
LongUpDownCounterBuilder concurrencyUpDownCounterBuilder =
5357
meter
54-
.upDownCounterBuilder("aerospike.concurrreny")
58+
.upDownCounterBuilder("aerospike.concurrency")
5559
.setDescription("Aerospike Concurrent Requests");
5660
AerospikeMetricsAdvice.applyConcurrencyUpDownCounterAdvice(concurrencyUpDownCounterBuilder);
5761
concurrencyUpDownCounter = concurrencyUpDownCounterBuilder.build();
62+
5863
DoubleHistogramBuilder durationBuilder =
5964
meter
6065
.histogramBuilder("aerospike.client.duration")
6166
.setDescription("Aerospike Response Latency")
6267
.setUnit("ms");
6368
AerospikeMetricsAdvice.applyClientDurationAdvice(durationBuilder);
6469
clientLatencyHistogram = durationBuilder.build();
70+
6571
DoubleHistogramBuilder recordSizeHistogramBuilder =
6672
meter
6773
.histogramBuilder("aerospike.record.size")
+18-62
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.aerospike.v7_1;
6+
package io.opentelemetry.javaagent.instrumentation.aerospike.v7_1.metrics;
77

88
import io.opentelemetry.api.common.AttributeKey;
99
import io.opentelemetry.api.metrics.DoubleHistogramBuilder;
@@ -12,15 +12,15 @@
1212
import io.opentelemetry.extension.incubator.metrics.ExtendedDoubleHistogramBuilder;
1313
import io.opentelemetry.extension.incubator.metrics.ExtendedLongCounterBuilder;
1414
import io.opentelemetry.extension.incubator.metrics.ExtendedLongUpDownCounterBuilder;
15-
import io.opentelemetry.instrumentation.api.internal.SemconvStability;
15+
import io.opentelemetry.instrumentation.api.semconv.network.internal.NetworkAttributes;
16+
import io.opentelemetry.javaagent.instrumentation.aerospike.v7_1.AerospikeSemanticAttributes;
1617
import io.opentelemetry.semconv.SemanticAttributes;
1718
import java.util.ArrayList;
1819
import java.util.List;
1920

2021
final class AerospikeMetricsAdvice {
2122
private AerospikeMetricsAdvice() {}
2223

23-
@SuppressWarnings("deprecation") // until old http semconv are dropped in 2.0
2424
static void applyRequestCounterAdvice(LongCounterBuilder builder) {
2525
if (!(builder instanceof ExtendedLongCounterBuilder)) {
2626
return;
@@ -32,22 +32,13 @@ static void applyRequestCounterAdvice(LongCounterBuilder builder) {
3232
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_NAMESPACE);
3333
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_SET_NAME);
3434
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_USER_KEY);
35-
if (SemconvStability.emitStableHttpSemconv()) {
36-
attributes.add(SemanticAttributes.NETWORK_TYPE);
37-
attributes.add(SemanticAttributes.NETWORK_TRANSPORT);
38-
attributes.add(SemanticAttributes.SERVER_ADDRESS);
39-
attributes.add(SemanticAttributes.SERVER_PORT);
40-
}
41-
if (SemconvStability.emitOldHttpSemconv()) {
42-
attributes.add(SemanticAttributes.NET_SOCK_PEER_ADDR);
43-
attributes.add(SemanticAttributes.NET_SOCK_PEER_NAME);
44-
attributes.add(SemanticAttributes.NET_SOCK_PEER_PORT);
45-
}
35+
attributes.add(SemanticAttributes.NETWORK_TYPE);
36+
attributes.add(NetworkAttributes.NETWORK_PEER_PORT);
37+
attributes.add(NetworkAttributes.NETWORK_PEER_ADDRESS);
4638

4739
((ExtendedLongCounterBuilder) builder).setAttributesAdvice(attributes);
4840
}
4941

50-
@SuppressWarnings("deprecation") // until old http semconv are dropped in 2.0
5142
static void applyConcurrencyUpDownCounterAdvice(LongUpDownCounterBuilder builder) {
5243
if (!(builder instanceof ExtendedLongUpDownCounterBuilder)) {
5344
return;
@@ -59,22 +50,13 @@ static void applyConcurrencyUpDownCounterAdvice(LongUpDownCounterBuilder builder
5950
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_NAMESPACE);
6051
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_SET_NAME);
6152
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_USER_KEY);
62-
if (SemconvStability.emitStableHttpSemconv()) {
63-
attributes.add(SemanticAttributes.NETWORK_TYPE);
64-
attributes.add(SemanticAttributes.NETWORK_TRANSPORT);
65-
attributes.add(SemanticAttributes.SERVER_ADDRESS);
66-
attributes.add(SemanticAttributes.SERVER_PORT);
67-
}
68-
if (SemconvStability.emitOldHttpSemconv()) {
69-
attributes.add(SemanticAttributes.NET_SOCK_PEER_ADDR);
70-
attributes.add(SemanticAttributes.NET_SOCK_PEER_NAME);
71-
attributes.add(SemanticAttributes.NET_SOCK_PEER_PORT);
72-
}
53+
attributes.add(SemanticAttributes.NETWORK_TYPE);
54+
attributes.add(NetworkAttributes.NETWORK_PEER_PORT);
55+
attributes.add(NetworkAttributes.NETWORK_PEER_ADDRESS);
7356

7457
((ExtendedLongUpDownCounterBuilder) builder).setAttributesAdvice(attributes);
7558
}
7659

77-
@SuppressWarnings("deprecation") // until old http semconv are dropped in 2.0
7860
static void applyResponseCounterAdvice(LongCounterBuilder builder) {
7961
if (!(builder instanceof ExtendedLongCounterBuilder)) {
8062
return;
@@ -88,22 +70,13 @@ static void applyResponseCounterAdvice(LongCounterBuilder builder) {
8870
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_USER_KEY);
8971
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_STATUS);
9072
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_ERROR_CODE);
91-
if (SemconvStability.emitStableHttpSemconv()) {
92-
attributes.add(SemanticAttributes.NETWORK_TYPE);
93-
attributes.add(SemanticAttributes.NETWORK_TRANSPORT);
94-
attributes.add(SemanticAttributes.SERVER_ADDRESS);
95-
attributes.add(SemanticAttributes.SERVER_PORT);
96-
}
97-
if (SemconvStability.emitOldHttpSemconv()) {
98-
attributes.add(SemanticAttributes.NET_SOCK_PEER_ADDR);
99-
attributes.add(SemanticAttributes.NET_SOCK_PEER_NAME);
100-
attributes.add(SemanticAttributes.NET_SOCK_PEER_PORT);
101-
}
73+
attributes.add(SemanticAttributes.NETWORK_TYPE);
74+
attributes.add(NetworkAttributes.NETWORK_PEER_PORT);
75+
attributes.add(NetworkAttributes.NETWORK_PEER_ADDRESS);
10276

10377
((ExtendedLongCounterBuilder) builder).setAttributesAdvice(attributes);
10478
}
10579

106-
@SuppressWarnings("deprecation") // until old http semconv are dropped in 2.0
10780
static void applyClientDurationAdvice(DoubleHistogramBuilder builder) {
10881
if (!(builder instanceof ExtendedDoubleHistogramBuilder)) {
10982
return;
@@ -117,22 +90,13 @@ static void applyClientDurationAdvice(DoubleHistogramBuilder builder) {
11790
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_USER_KEY);
11891
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_STATUS);
11992
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_ERROR_CODE);
120-
if (SemconvStability.emitStableHttpSemconv()) {
121-
attributes.add(SemanticAttributes.NETWORK_TYPE);
122-
attributes.add(SemanticAttributes.NETWORK_TRANSPORT);
123-
attributes.add(SemanticAttributes.SERVER_ADDRESS);
124-
attributes.add(SemanticAttributes.SERVER_PORT);
125-
}
126-
if (SemconvStability.emitOldHttpSemconv()) {
127-
attributes.add(SemanticAttributes.NET_SOCK_PEER_ADDR);
128-
attributes.add(SemanticAttributes.NET_SOCK_PEER_NAME);
129-
attributes.add(SemanticAttributes.NET_SOCK_PEER_PORT);
130-
}
93+
attributes.add(SemanticAttributes.NETWORK_TYPE);
94+
attributes.add(NetworkAttributes.NETWORK_PEER_PORT);
95+
attributes.add(NetworkAttributes.NETWORK_PEER_ADDRESS);
13196

13297
((ExtendedDoubleHistogramBuilder) builder).setAttributesAdvice(attributes);
13398
}
13499

135-
@SuppressWarnings("deprecation") // until old http semconv are dropped in 2.0
136100
static void applyRecordSizeAdvice(DoubleHistogramBuilder builder) {
137101
if (!(builder instanceof ExtendedDoubleHistogramBuilder)) {
138102
return;
@@ -146,17 +110,9 @@ static void applyRecordSizeAdvice(DoubleHistogramBuilder builder) {
146110
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_USER_KEY);
147111
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_ERROR_CODE);
148112
attributes.add(AerospikeSemanticAttributes.AEROSPIKE_STATUS);
149-
if (SemconvStability.emitStableHttpSemconv()) {
150-
attributes.add(SemanticAttributes.NETWORK_TYPE);
151-
attributes.add(SemanticAttributes.NETWORK_TRANSPORT);
152-
attributes.add(SemanticAttributes.SERVER_ADDRESS);
153-
attributes.add(SemanticAttributes.SERVER_PORT);
154-
}
155-
if (SemconvStability.emitOldHttpSemconv()) {
156-
attributes.add(SemanticAttributes.NET_SOCK_PEER_ADDR);
157-
attributes.add(SemanticAttributes.NET_SOCK_PEER_NAME);
158-
attributes.add(SemanticAttributes.NET_SOCK_PEER_PORT);
159-
}
113+
attributes.add(SemanticAttributes.NETWORK_TYPE);
114+
attributes.add(NetworkAttributes.NETWORK_PEER_PORT);
115+
attributes.add(NetworkAttributes.NETWORK_PEER_ADDRESS);
160116

161117
((ExtendedDoubleHistogramBuilder) builder).setAttributesAdvice(attributes);
162118
}

0 commit comments

Comments
 (0)