Skip to content

Commit 2a76957

Browse files
authored
Add some preview instrumentation (#1650)
1 parent 75d29bd commit 2a76957

File tree

8 files changed

+77
-3
lines changed

8 files changed

+77
-3
lines changed

agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/wasbootstrap/ConfigOverride.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,20 @@ static Config getConfig(Configuration config) {
4949
if (!config.preview.instrumentation.azureSdk.enabled) {
5050
properties.put("otel.instrumentation.azure-core.enabled", "false");
5151
}
52+
if (!config.preview.instrumentation.javaHttpClient.enabled) {
53+
properties.put("otel.instrumentation.httpclient.enabled", "false");
54+
// this is going to be the future name shortly
55+
properties.put("otel.instrumentation.java-http-client.enabled", "false");
56+
}
57+
if (!config.preview.instrumentation.rabbitmq.enabled) {
58+
properties.put("otel.instrumentation.rabbitmq.enabled", "false");
59+
}
60+
if (!config.preview.instrumentation.jaxws.enabled) {
61+
properties.put("otel.instrumentation.jaxws.enabled", "false");
62+
properties.put("otel.instrumentation.axis2.enabled", "false");
63+
properties.put("otel.instrumentation.cxf.enabled", "false");
64+
properties.put("otel.instrumentation.metro.enabled", "false");
65+
}
5266
properties.put("otel.propagators", DelegatingPropagatorProvider.NAME);
5367
// AI exporter is configured manually
5468
properties.put("otel.traces.exporter", "none");

agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/wasbootstrap/configuration/Configuration.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,10 +185,13 @@ public static class PreviewConfiguration {
185185
}
186186

187187
public static class PreviewInstrumentation {
188-
public AzureSdkInstrumentation azureSdk = new AzureSdkInstrumentation();
188+
public DisabledByDefaultInstrumentation azureSdk = new DisabledByDefaultInstrumentation();
189+
public DisabledByDefaultInstrumentation javaHttpClient = new DisabledByDefaultInstrumentation();
190+
public DisabledByDefaultInstrumentation jaxws = new DisabledByDefaultInstrumentation();
191+
public DisabledByDefaultInstrumentation rabbitmq = new DisabledByDefaultInstrumentation();
189192
}
190193

191-
public static class AzureSdkInstrumentation {
194+
public static class DisabledByDefaultInstrumentation {
192195
public boolean enabled;
193196
}
194197

agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/wasbootstrap/configuration/ConfigurationBuilder.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ public class ConfigurationBuilder {
6868

6969
private static final String APPLICATIONINSIGHTS_PREVIEW_OTEL_API_SUPPORT = "APPLICATIONINSIGHTS_PREVIEW_OTEL_API_SUPPORT";
7070
private static final String APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_AZURE_SDK_ENABLED = "APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_AZURE_SDK_ENABLED";
71+
private static final String APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_JAVA_HTTP_CLIENT_ENABLED = "APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_JAVA_HTTP_CLIENT_ENABLED";
72+
private static final String APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_JAXWS_ENABLED = "APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_JAXWS_ENABLED";
73+
private static final String APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_RABBITMQ_ENABLED = "APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_RABBITMQ_ENABLED";
7174

7275
private static final String APPLICATIONINSIGHTS_PREVIEW_LIVE_METRICS_ENABLED = "APPLICATIONINSIGHTS_PREVIEW_LIVE_METRICS_ENABLED";
7376

@@ -255,6 +258,9 @@ static void overlayEnvVars(Configuration config) throws IOException {
255258

256259
config.preview.openTelemetryApiSupport = overlayWithEnvVar(APPLICATIONINSIGHTS_PREVIEW_OTEL_API_SUPPORT, config.preview.openTelemetryApiSupport);
257260
config.preview.instrumentation.azureSdk.enabled = overlayWithEnvVar(APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_AZURE_SDK_ENABLED, config.preview.instrumentation.azureSdk.enabled);
261+
config.preview.instrumentation.javaHttpClient.enabled = overlayWithEnvVar(APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_JAVA_HTTP_CLIENT_ENABLED, config.preview.instrumentation.javaHttpClient.enabled);
262+
config.preview.instrumentation.jaxws.enabled = overlayWithEnvVar(APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_JAXWS_ENABLED, config.preview.instrumentation.jaxws.enabled);
263+
config.preview.instrumentation.rabbitmq.enabled = overlayWithEnvVar(APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_RABBITMQ_ENABLED, config.preview.instrumentation.rabbitmq.enabled);
258264

259265
config.preview.liveMetrics.enabled = overlayWithEnvVar(APPLICATIONINSIGHTS_PREVIEW_LIVE_METRICS_ENABLED, config.preview.liveMetrics.enabled);
260266

agent/agent-tooling/src/test/java/com/microsoft/applicationinsights/agent/internal/wasbootstrap/configuration/ConfigurationTest.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,36 @@ public void shouldOverridePreviewAzureSdkInstrumentation() throws IOException {
367367
assertTrue(configuration.preview.instrumentation.azureSdk.enabled);
368368
}
369369

370+
@Test
371+
public void shouldOverridePreviewJavaHttpClientInstrumentation() throws IOException {
372+
envVars.set("APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_JAVA_HTTP_CLIENT_ENABLED", "true");
373+
374+
Configuration configuration = loadConfiguration();
375+
ConfigurationBuilder.overlayEnvVars(configuration);
376+
377+
assertTrue(configuration.preview.instrumentation.javaHttpClient.enabled);
378+
}
379+
380+
@Test
381+
public void shouldOverridePreviewJaxwsInstrumentation() throws IOException {
382+
envVars.set("APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_JAXWS_ENABLED", "true");
383+
384+
Configuration configuration = loadConfiguration();
385+
ConfigurationBuilder.overlayEnvVars(configuration);
386+
387+
assertTrue(configuration.preview.instrumentation.jaxws.enabled);
388+
}
389+
390+
@Test
391+
public void shouldOverridePreviewRabbitmqInstrumentation() throws IOException {
392+
envVars.set("APPLICATIONINSIGHTS_PREVIEW_INSTRUMENTATION_RABBITMQ_ENABLED", "true");
393+
394+
Configuration configuration = loadConfiguration();
395+
ConfigurationBuilder.overlayEnvVars(configuration);
396+
397+
assertTrue(configuration.preview.instrumentation.rabbitmq.enabled);
398+
}
399+
370400
@Test
371401
public void shouldOverridePreviewLiveMetricsEnabled() throws IOException {
372402
envVars.set("APPLICATIONINSIGHTS_PREVIEW_LIVE_METRICS_ENABLED", "false");

agent/instrumentation/build.gradle

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,17 @@ dependencies {
2424
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-executors', version: versions.opentelemetryInstrumentationAlpha
2525
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-grpc-1.5', version: versions.opentelemetryInstrumentationAlpha
2626
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-http-url-connection', version: versions.opentelemetryInstrumentationAlpha
27+
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-java-httpclient', version: versions.opentelemetryInstrumentationAlpha
2728
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-java-util-logging-spans', version: versions.opentelemetryInstrumentationAlpha
2829
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-jaxrs-1.0', version: versions.opentelemetryInstrumentationAlpha
2930
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-jaxrs-2.0-jersey-2.0', version: versions.opentelemetryInstrumentationAlpha
3031
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-jaxrs-2.0-resteasy-3.0', version: versions.opentelemetryInstrumentationAlpha
3132
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-jaxrs-2.0-resteasy-3.1', version: versions.opentelemetryInstrumentationAlpha
3233
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-jaxrs-2.0-common', version: versions.opentelemetryInstrumentationAlpha
34+
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-jaxws-2.0', version: versions.opentelemetryInstrumentationAlpha
35+
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-jaxws-2.0-axis2-1.6', version: versions.opentelemetryInstrumentationAlpha
36+
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-jaxws-2.0-cxf-3.0', version: versions.opentelemetryInstrumentationAlpha
37+
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-jaxws-2.0-metro-2.2', version: versions.opentelemetryInstrumentationAlpha
3338
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-jdbc', version: versions.opentelemetryInstrumentationAlpha
3439
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-jedis-1.4', version: versions.opentelemetryInstrumentationAlpha
3540
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-jedis-3.0', version: versions.opentelemetryInstrumentationAlpha
@@ -60,6 +65,7 @@ dependencies {
6065
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-okhttp-3.0', version: versions.opentelemetryInstrumentationAlpha
6166
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-opentelemetry-annotations-1.0', version: versions.opentelemetryInstrumentationAlpha
6267
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-opentelemetry-api-1.0', version: versions.opentelemetryInstrumentationAlpha
68+
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-rabbitmq-2.7', version: versions.opentelemetryInstrumentationAlpha
6369
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-reactor-3.1', version: versions.opentelemetryInstrumentationAlpha
6470
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-reactor-netty-0.9', version: versions.opentelemetryInstrumentationAlpha
6571
implementation group: 'io.opentelemetry.javaagent.instrumentation', name: 'opentelemetry-javaagent-reactor-netty-1.0', version: versions.opentelemetryInstrumentationAlpha

agent/instrumentation/gradle/dependency-locks/compileClasspath.lockfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,17 @@ io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-eclipse-osgi-
1919
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-executors:1.0.0+ai.patch.1-alpha
2020
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-grpc-1.5:1.0.0+ai.patch.1-alpha
2121
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-http-url-connection:1.0.0+ai.patch.1-alpha
22+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-java-httpclient:1.0.0+ai.patch.1-alpha
2223
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-java-util-logging-spans:1.0.0+ai.patch.1-alpha
2324
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxrs-1.0:1.0.0+ai.patch.1-alpha
2425
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxrs-2.0-common:1.0.0+ai.patch.1-alpha
2526
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxrs-2.0-jersey-2.0:1.0.0+ai.patch.1-alpha
2627
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxrs-2.0-resteasy-3.0:1.0.0+ai.patch.1-alpha
2728
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxrs-2.0-resteasy-3.1:1.0.0+ai.patch.1-alpha
29+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxws-2.0-axis2-1.6:1.0.0+ai.patch.1-alpha
30+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxws-2.0-cxf-3.0:1.0.0+ai.patch.1-alpha
31+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxws-2.0-metro-2.2:1.0.0+ai.patch.1-alpha
32+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxws-2.0:1.0.0+ai.patch.1-alpha
2833
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jdbc:1.0.0+ai.patch.1-alpha
2934
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jedis-1.4:1.0.0+ai.patch.1-alpha
3035
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jedis-3.0:1.0.0+ai.patch.1-alpha
@@ -50,6 +55,7 @@ io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-netty-4.1:1.0
5055
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-okhttp-3.0:1.0.0+ai.patch.1-alpha
5156
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-opentelemetry-annotations-1.0:1.0.0+ai.patch.1-alpha
5257
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-opentelemetry-api-1.0:1.0.0+ai.patch.1-alpha
58+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-rabbitmq-2.7:1.0.0+ai.patch.1-alpha
5359
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-reactor-3.1:1.0.0+ai.patch.1-alpha
5460
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-reactor-netty-0.9:1.0.0+ai.patch.1-alpha
5561
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-reactor-netty-1.0:1.0.0+ai.patch.1-alpha

agent/instrumentation/gradle/dependency-locks/runtimeClasspath.lockfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ commons-logging:commons-logging:1.2
2424
io.opentelemetry.instrumentation:opentelemetry-grpc-1.5:1.0.0+ai.patch.1-alpha
2525
io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-caching:1.0.0+ai.patch.1-alpha
2626
io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:1.0.0+ai.patch.1-alpha
27+
io.opentelemetry.instrumentation:opentelemetry-jaxws-2.0-axis2-1.6:1.0.0+ai.patch.1-alpha
28+
io.opentelemetry.instrumentation:opentelemetry-jaxws-2.0-cxf-3.0:1.0.0+ai.patch.1-alpha
29+
io.opentelemetry.instrumentation:opentelemetry-jaxws-common:1.0.0+ai.patch.1-alpha
2730
io.opentelemetry.instrumentation:opentelemetry-lettuce-5.1:1.0.0+ai.patch.1-alpha
2831
io.opentelemetry.instrumentation:opentelemetry-netty-4.1:1.0.0+ai.patch.1-alpha
2932
io.opentelemetry.instrumentation:opentelemetry-okhttp-3.0:1.0.0+ai.patch.1-alpha
@@ -44,12 +47,17 @@ io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-eclipse-osgi-
4447
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-executors:1.0.0+ai.patch.1-alpha
4548
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-grpc-1.5:1.0.0+ai.patch.1-alpha
4649
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-http-url-connection:1.0.0+ai.patch.1-alpha
50+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-java-httpclient:1.0.0+ai.patch.1-alpha
4751
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-java-util-logging-spans:1.0.0+ai.patch.1-alpha
4852
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxrs-1.0:1.0.0+ai.patch.1-alpha
4953
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxrs-2.0-common:1.0.0+ai.patch.1-alpha
5054
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxrs-2.0-jersey-2.0:1.0.0+ai.patch.1-alpha
5155
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxrs-2.0-resteasy-3.0:1.0.0+ai.patch.1-alpha
5256
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxrs-2.0-resteasy-3.1:1.0.0+ai.patch.1-alpha
57+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxws-2.0-axis2-1.6:1.0.0+ai.patch.1-alpha
58+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxws-2.0-cxf-3.0:1.0.0+ai.patch.1-alpha
59+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxws-2.0-metro-2.2:1.0.0+ai.patch.1-alpha
60+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jaxws-2.0:1.0.0+ai.patch.1-alpha
5361
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jdbc:1.0.0+ai.patch.1-alpha
5462
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jedis-1.4:1.0.0+ai.patch.1-alpha
5563
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-jedis-3.0:1.0.0+ai.patch.1-alpha
@@ -75,6 +83,7 @@ io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-netty-4.1:1.0
7583
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-okhttp-3.0:1.0.0+ai.patch.1-alpha
7684
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-opentelemetry-annotations-1.0:1.0.0+ai.patch.1-alpha
7785
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-opentelemetry-api-1.0:1.0.0+ai.patch.1-alpha
86+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-rabbitmq-2.7:1.0.0+ai.patch.1-alpha
7887
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-reactor-3.1:1.0.0+ai.patch.1-alpha
7988
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-reactor-netty-0.9:1.0.0+ai.patch.1-alpha
8089
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-reactor-netty-1.0:1.0.0+ai.patch.1-alpha

otel

Submodule otel updated 32 files

0 commit comments

Comments
 (0)