Skip to content

Commit 7737b0f

Browse files
committed
Experimental server metrics too
1 parent a2b128f commit 7737b0f

File tree

16 files changed

+380
-0
lines changed

16 files changed

+380
-0
lines changed

instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaTelemetryBuilder.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,11 @@ public ArmeriaTelemetryBuilder setEmitExperimentalHttpClientMetrics(
219219
*
220220
* @param emitExperimentalHttpServerMetrics {@code true} if the experimental HTTP server metrics
221221
* are to be emitted.
222+
* @deprecated Use {@link
223+
* Experimental#setEmitExperimentalHttpServerMetrics(ArmeriaTelemetryBuilder, boolean)}
224+
* instead.
222225
*/
226+
@Deprecated
223227
@CanIgnoreReturnValue
224228
public ArmeriaTelemetryBuilder setEmitExperimentalHttpServerMetrics(
225229
boolean emitExperimentalHttpServerMetrics) {

instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/internal/Experimental.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ public class Experimental {
2727
private static final Method emitExperimentalHttpClientMetricsMethod =
2828
getEmitExperimentalHttpClientMetricsMethod();
2929

30+
@Nullable
31+
private static final Method emitExperimentalHttpServerMetricsMethod =
32+
getEmitExperimentalHttpServerMetricsMethod();
33+
3034
public void setEmitExperimentalHttpClientMetrics(
3135
ArmeriaTelemetryBuilder builder, boolean emitExperimentalHttpClientMetrics) {
3236

@@ -39,6 +43,18 @@ public void setEmitExperimentalHttpClientMetrics(
3943
}
4044
}
4145

46+
public void setEmitExperimentalHttpServerMetrics(
47+
ArmeriaTelemetryBuilder builder, boolean emitExperimentalHttpServerMetrics) {
48+
49+
if (emitExperimentalHttpServerMetricsMethod != null) {
50+
try {
51+
emitExperimentalHttpServerMetricsMethod.invoke(builder, emitExperimentalHttpServerMetrics);
52+
} catch (IllegalAccessException | InvocationTargetException e) {
53+
logger.log(FINE, e.getMessage(), e);
54+
}
55+
}
56+
}
57+
4258
@Nullable
4359
private static Method getEmitExperimentalHttpClientMetricsMethod() {
4460
try {
@@ -49,4 +65,15 @@ private static Method getEmitExperimentalHttpClientMetricsMethod() {
4965
return null;
5066
}
5167
}
68+
69+
@Nullable
70+
private static Method getEmitExperimentalHttpServerMetricsMethod() {
71+
try {
72+
return ArmeriaTelemetryBuilder.class.getMethod(
73+
"setEmitExperimentalHttpServerMetrics", boolean.class);
74+
} catch (NoSuchMethodException e) {
75+
logger.log(FINE, e.getMessage(), e);
76+
return null;
77+
}
78+
}
5279
}

instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/NettyServerTelemetryBuilder.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import io.opentelemetry.instrumentation.netty.v4.common.HttpRequestAndChannel;
1414
import io.opentelemetry.instrumentation.netty.v4.common.internal.server.HttpRequestHeadersGetter;
1515
import io.opentelemetry.instrumentation.netty.v4.common.internal.server.NettyHttpServerAttributesGetter;
16+
import io.opentelemetry.instrumentation.netty.v4_1.internal.Experimental;
1617
import io.opentelemetry.instrumentation.netty.v4_1.internal.ProtocolEventHandler;
1718
import io.opentelemetry.instrumentation.netty.v4_1.internal.server.NettyServerInstrumenterBuilderUtil;
1819
import java.util.List;
@@ -99,7 +100,11 @@ public NettyServerTelemetryBuilder setKnownMethods(Set<String> knownMethods) {
99100
*
100101
* @param emitExperimentalHttpServerMetrics {@code true} if the experimental HTTP server metrics
101102
* are to be emitted.
103+
* @deprecated Use {@link
104+
* Experimental#setEmitExperimentalHttpServerMetrics(NettyServerTelemetryBuilder, boolean)}
105+
* instead.
102106
*/
107+
@Deprecated
103108
@CanIgnoreReturnValue
104109
public NettyServerTelemetryBuilder setEmitExperimentalHttpServerMetrics(
105110
boolean emitExperimentalHttpServerMetrics) {

instrumentation/netty/netty-4.1/library/src/main/java/io/opentelemetry/instrumentation/netty/v4_1/internal/Experimental.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import static java.util.logging.Level.FINE;
99

1010
import io.opentelemetry.instrumentation.netty.v4_1.NettyClientTelemetryBuilder;
11+
import io.opentelemetry.instrumentation.netty.v4_1.NettyServerTelemetryBuilder;
1112
import java.lang.reflect.InvocationTargetException;
1213
import java.lang.reflect.Method;
1314
import java.util.logging.Logger;
@@ -27,6 +28,10 @@ public class Experimental {
2728
private static final Method emitExperimentalHttpClientMetricsMethod =
2829
getEmitExperimentalHttpClientMetricsMethod();
2930

31+
@Nullable
32+
private static final Method emitExperimentalHttpServerMetricsMethod =
33+
getEmitExperimentalHttpServerMetricsMethod();
34+
3035
@Nullable
3136
private static final Method emitExperimentalHttpClientEventsMethod =
3237
getEmitExperimentalHttpClientEventsMethod();
@@ -43,6 +48,18 @@ public void setEmitExperimentalHttpClientMetrics(
4348
}
4449
}
4550

51+
public void setEmitExperimentalHttpServerMetrics(
52+
NettyServerTelemetryBuilder builder, boolean emitExperimentalHttpServerMetrics) {
53+
54+
if (emitExperimentalHttpServerMetricsMethod != null) {
55+
try {
56+
emitExperimentalHttpServerMetricsMethod.invoke(builder, emitExperimentalHttpServerMetrics);
57+
} catch (IllegalAccessException | InvocationTargetException e) {
58+
logger.log(FINE, e.getMessage(), e);
59+
}
60+
}
61+
}
62+
4663
public void setEmitExperimentalHttpClientEvents(
4764
NettyClientTelemetryBuilder builder, boolean emitExperimentalHttpClientEvents) {
4865

@@ -66,6 +83,17 @@ private static Method getEmitExperimentalHttpClientMetricsMethod() {
6683
}
6784
}
6885

86+
@Nullable
87+
private static Method getEmitExperimentalHttpServerMetricsMethod() {
88+
try {
89+
return NettyServerTelemetryBuilder.class.getMethod(
90+
"setEmitExperimentalHttpServerMetrics", boolean.class);
91+
} catch (NoSuchMethodException e) {
92+
logger.log(FINE, e.getMessage(), e);
93+
return null;
94+
}
95+
}
96+
6997
@Nullable
7098
private static Method getEmitExperimentalHttpClientEventsMethod() {
7199
try {

instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackTelemetryBuilder.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,11 @@ public RatpackTelemetryBuilder setEmitExperimentalHttpClientMetrics(
144144
*
145145
* @param emitExperimentalHttpServerMetrics {@code true} if the experimental HTTP server metrics
146146
* are to be emitted.
147+
* @deprecated Use {@link
148+
* Experimental#setEmitExperimentalHttpServerMetrics(RatpackTelemetryBuilder, boolean)}
149+
* instead.
147150
*/
151+
@Deprecated
148152
@CanIgnoreReturnValue
149153
public RatpackTelemetryBuilder setEmitExperimentalHttpServerMetrics(
150154
boolean emitExperimentalHttpServerMetrics) {

instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/internal/Experimental.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ public class Experimental {
2727
private static final Method emitExperimentalHttpClientMetricsMethod =
2828
getEmitExperimentalHttpClientMetricsMethod();
2929

30+
@Nullable
31+
private static final Method emitExperimentalHttpServerMetricsMethod =
32+
getEmitExperimentalHttpServerMetricsMethod();
33+
3034
public void setEmitExperimentalHttpClientMetrics(
3135
RatpackTelemetryBuilder builder, boolean emitExperimentalHttpClientMetrics) {
3236

@@ -39,6 +43,18 @@ public void setEmitExperimentalHttpClientMetrics(
3943
}
4044
}
4145

46+
public void setEmitExperimentalHttpServerMetrics(
47+
RatpackTelemetryBuilder builder, boolean emitExperimentalHttpServerMetrics) {
48+
49+
if (emitExperimentalHttpServerMetricsMethod != null) {
50+
try {
51+
emitExperimentalHttpServerMetricsMethod.invoke(builder, emitExperimentalHttpServerMetrics);
52+
} catch (IllegalAccessException | InvocationTargetException e) {
53+
logger.log(FINE, e.getMessage(), e);
54+
}
55+
}
56+
}
57+
4258
@Nullable
4359
private static Method getEmitExperimentalHttpClientMetricsMethod() {
4460
try {
@@ -49,4 +65,15 @@ private static Method getEmitExperimentalHttpClientMetricsMethod() {
4965
return null;
5066
}
5167
}
68+
69+
@Nullable
70+
private static Method getEmitExperimentalHttpServerMetricsMethod() {
71+
try {
72+
return RatpackTelemetryBuilder.class.getMethod(
73+
"setEmitExperimentalHttpServerMetrics", boolean.class);
74+
} catch (NoSuchMethodException e) {
75+
logger.log(FINE, e.getMessage(), e);
76+
return null;
77+
}
78+
}
5279
}

instrumentation/restlet/restlet-1.1/library/src/main/java/io/opentelemetry/instrumentation/restlet/v1_1/RestletTelemetryBuilder.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
1212
import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor;
1313
import io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesExtractorBuilder;
14+
import io.opentelemetry.instrumentation.restlet.v1_1.internal.Experimental;
1415
import io.opentelemetry.instrumentation.restlet.v1_1.internal.RestletTelemetryBuilderFactory;
1516
import java.util.List;
1617
import java.util.Set;
@@ -84,7 +85,11 @@ public RestletTelemetryBuilder setKnownMethods(Set<String> knownMethods) {
8485
*
8586
* @param emitExperimentalHttpServerMetrics {@code true} if the experimental HTTP server metrics
8687
* are to be emitted.
88+
* @deprecated Use {@link
89+
* Experimental#setEmitExperimentalHttpServerMetrics(RestletTelemetryBuilder, boolean)}
90+
* instead.
8791
*/
92+
@Deprecated
8893
@CanIgnoreReturnValue
8994
public RestletTelemetryBuilder setEmitExperimentalHttpServerMetrics(
9095
boolean emitExperimentalHttpServerMetrics) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.instrumentation.restlet.v1_1.internal;
7+
8+
import static java.util.logging.Level.FINE;
9+
10+
import io.opentelemetry.instrumentation.restlet.v1_1.RestletTelemetryBuilder;
11+
import java.lang.reflect.InvocationTargetException;
12+
import java.lang.reflect.Method;
13+
import java.util.logging.Logger;
14+
import javax.annotation.Nullable;
15+
16+
/**
17+
* This class is internal and is hence not for public use. Its APIs are unstable and can change at
18+
* any time.
19+
*/
20+
// TODO (trask) update the above javadoc similar to
21+
// https://github.com/open-telemetry/opentelemetry-java/pull/6886
22+
public class Experimental {
23+
24+
private static final Logger logger = Logger.getLogger(Experimental.class.getName());
25+
26+
@Nullable
27+
private static final Method emitExperimentalHttpServerMetricsMethod =
28+
getEmitExperimentalHttpServerMetricsMethod();
29+
30+
public void setEmitExperimentalHttpServerMetrics(
31+
RestletTelemetryBuilder builder, boolean emitExperimentalHttpServerMetrics) {
32+
33+
if (emitExperimentalHttpServerMetricsMethod != null) {
34+
try {
35+
emitExperimentalHttpServerMetricsMethod.invoke(builder, emitExperimentalHttpServerMetrics);
36+
} catch (IllegalAccessException | InvocationTargetException e) {
37+
logger.log(FINE, e.getMessage(), e);
38+
}
39+
}
40+
}
41+
42+
@Nullable
43+
private static Method getEmitExperimentalHttpServerMetricsMethod() {
44+
try {
45+
return RestletTelemetryBuilder.class.getMethod(
46+
"setEmitExperimentalHttpServerMetrics", boolean.class);
47+
} catch (NoSuchMethodException e) {
48+
logger.log(FINE, e.getMessage(), e);
49+
return null;
50+
}
51+
}
52+
}

instrumentation/restlet/restlet-2.0/library/src/main/java/io/opentelemetry/instrumentation/restlet/v2_0/RestletTelemetryBuilder.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
1212
import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor;
1313
import io.opentelemetry.instrumentation.api.semconv.http.HttpServerAttributesExtractorBuilder;
14+
import io.opentelemetry.instrumentation.restlet.v2_0.internal.Experimental;
1415
import io.opentelemetry.instrumentation.restlet.v2_0.internal.RestletTelemetryBuilderFactory;
1516
import java.util.List;
1617
import java.util.Set;
@@ -84,7 +85,11 @@ public RestletTelemetryBuilder setKnownMethods(Set<String> knownMethods) {
8485
*
8586
* @param emitExperimentalHttpServerMetrics {@code true} if the experimental HTTP server metrics
8687
* are to be emitted.
88+
* @deprecated Use {@link
89+
* Experimental#setEmitExperimentalHttpServerMetrics(RestletTelemetryBuilder, boolean)}
90+
* instead.
8791
*/
92+
@Deprecated
8893
@CanIgnoreReturnValue
8994
public RestletTelemetryBuilder setEmitExperimentalHttpServerMetrics(
9095
boolean emitExperimentalHttpServerMetrics) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.instrumentation.restlet.v2_0.internal;
7+
8+
import static java.util.logging.Level.FINE;
9+
10+
import io.opentelemetry.instrumentation.restlet.v2_0.RestletTelemetryBuilder;
11+
import java.lang.reflect.InvocationTargetException;
12+
import java.lang.reflect.Method;
13+
import java.util.logging.Logger;
14+
import javax.annotation.Nullable;
15+
16+
/**
17+
* This class is internal and is hence not for public use. Its APIs are unstable and can change at
18+
* any time.
19+
*/
20+
// TODO (trask) update the above javadoc similar to
21+
// https://github.com/open-telemetry/opentelemetry-java/pull/6886
22+
public class Experimental {
23+
24+
private static final Logger logger = Logger.getLogger(Experimental.class.getName());
25+
26+
@Nullable
27+
private static final Method emitExperimentalHttpServerMetricsMethod =
28+
getEmitExperimentalHttpServerMetricsMethod();
29+
30+
public void setEmitExperimentalHttpServerMetrics(
31+
RestletTelemetryBuilder builder, boolean emitExperimentalHttpServerMetrics) {
32+
33+
if (emitExperimentalHttpServerMetricsMethod != null) {
34+
try {
35+
emitExperimentalHttpServerMetricsMethod.invoke(builder, emitExperimentalHttpServerMetrics);
36+
} catch (IllegalAccessException | InvocationTargetException e) {
37+
logger.log(FINE, e.getMessage(), e);
38+
}
39+
}
40+
}
41+
42+
@Nullable
43+
private static Method getEmitExperimentalHttpServerMetricsMethod() {
44+
try {
45+
return RestletTelemetryBuilder.class.getMethod(
46+
"setEmitExperimentalHttpServerMetrics", boolean.class);
47+
} catch (NoSuchMethodException e) {
48+
logger.log(FINE, e.getMessage(), e);
49+
return null;
50+
}
51+
}
52+
}

0 commit comments

Comments
 (0)