Skip to content

Commit e87d920

Browse files
authored
Add akka preview instrumentation (#1911)
* Add akka preview instrumentation * Fix comment * Update lock files
1 parent 27f49eb commit e87d920

File tree

7 files changed

+19
-1
lines changed

7 files changed

+19
-1
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,8 @@ public static class InternalConfiguration {
267267

268268
public static class PreviewInstrumentation {
269269

270+
public DisabledByDefaultInstrumentation akka = new DisabledByDefaultInstrumentation();
271+
270272
public DisabledByDefaultInstrumentation apacheCamel = new DisabledByDefaultInstrumentation();
271273

272274
// this is just here to detect if using this old setting in order to give a helpful message

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ static Config getConfig(Configuration config) {
7272
if (!config.instrumentation.springScheduling.enabled) {
7373
properties.put("otel.instrumentation.spring-scheduling.enabled", "false");
7474
}
75+
if (!config.preview.instrumentation.akka.enabled) {
76+
// akka instrumentation is ON by default in OTEL
77+
properties.put("otel.instrumentation.akka-actor.enabled", "false");
78+
properties.put("otel.instrumentation.akka-http.enabled", "false");
79+
}
7580
if (!config.preview.instrumentation.apacheCamel.enabled) {
7681
// apache-camel instrumentation is ON by default in OTEL
7782
properties.put("otel.instrumentation.apache-camel.enabled", "false");

agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/statsbeat/Feature.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ enum Feature {
5252
GRIZZLY_ENABLED(21), // preview instrumentation, grizzly is OFF by default in OTEL
5353
STATSBEAT_DISABLED(22), // disable non-essential statsbeat
5454
QUARTZ_DISABLED(23), // preview instrumentation, quartz is ON by default in OTEL
55-
APACHE_CAMEL_DISABLED(24); // preview instrumentation, apache camel is ON by default in OTEL
55+
APACHE_CAMEL_DISABLED(24), // preview instrumentation, apache camel is ON by default in OTEL
56+
AKKA_DISABLED(25); // preview instrumentation, akka is ON by default in OTEL
5657

5758
private static final Map<String, Feature> javaVendorFeatureMap;
5859

agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/statsbeat/FeatureStatsbeat.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,9 @@ void trackConfigurationOptions(Configuration config) {
129129
}
130130

131131
// preview instrumentation
132+
if (!config.preview.instrumentation.akka.enabled) {
133+
featureList.add(Feature.AKKA_DISABLED);
134+
}
132135
if (!config.preview.instrumentation.apacheCamel.enabled) {
133136
featureList.add(Feature.APACHE_CAMEL_DISABLED);
134137
}

agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/statsbeat/Instrumentations.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ class Instrumentations {
120120
INSTRUMENTATION_MAP.put("io.opentelemetry.grizzly-2.0", 69);
121121
INSTRUMENTATION_MAP.put("io.opentelemetry.quartz-2.0", 70);
122122
INSTRUMENTATION_MAP.put("io.opentelemetry.apache-camel-2.20", 71);
123+
INSTRUMENTATION_MAP.put("io.opentelemetry.akka-http-10.0", 72);
123124
}
124125

125126
// encode BitSet to a long

agent/instrumentation/build.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ dependencies {
3939
exclude("ch.qos.logback", "logback-core")
4040
}
4141

42+
implementation("io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-akka-actor-2.5:$otelInstrumentationAlphaVersion")
43+
implementation("io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-akka-actor-fork-join-2.5:$otelInstrumentationAlphaVersion")
44+
implementation("io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-akka-http-10.0:$otelInstrumentationAlphaVersion")
4245
implementation("io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-apache-camel-2.20:$otelInstrumentationAlphaVersion")
4346
implementation("io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-apache-httpasyncclient-4.1:$otelInstrumentationAlphaVersion")
4447
implementation("io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-apache-httpclient-2.0:$otelInstrumentationAlphaVersion")

agent/instrumentation/gradle.lockfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ io.opentelemetry.instrumentation:opentelemetry-servlet-common:1.6.0+ai.patches-a
7575
io.opentelemetry.instrumentation:opentelemetry-servlet-javax-common:1.6.0+ai.patches-alpha=runtimeClasspath
7676
io.opentelemetry.instrumentation:opentelemetry-spring-integration-4.1:1.6.0+ai.patches-alpha=runtimeClasspath
7777
io.opentelemetry.instrumentation:opentelemetry-spring-webflux-5.0:1.6.0+ai.patches-alpha=runtimeClasspath
78+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-akka-actor-2.5:1.6.0+ai.patches-alpha=runtimeClasspath
79+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-akka-actor-fork-join-2.5:1.6.0+ai.patches-alpha=runtimeClasspath
80+
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-akka-http-10.0:1.6.0+ai.patches-alpha=runtimeClasspath
7881
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-apache-camel-2.20:1.6.0+ai.patches-alpha=runtimeClasspath
7982
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-apache-httpasyncclient-4.1:1.6.0+ai.patches-alpha=runtimeClasspath
8083
io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-apache-httpclient-2.0:1.6.0+ai.patches-alpha=runtimeClasspath

0 commit comments

Comments
 (0)