Skip to content

Commit c75c9eb

Browse files
committed
Merge branch 'main' of github.com:open-telemetry/opentelemetry-java-instrumentation into indy-migration-2
2 parents ceed0fe + 892b398 commit c75c9eb

File tree

30 files changed

+484
-343
lines changed

30 files changed

+484
-343
lines changed

benchmark-overhead/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
22
id("java")
3-
id("com.diffplug.spotless") version "7.0.3"
3+
id("com.diffplug.spotless") version "7.0.4"
44
}
55

66
spotless {

conventions/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins {
22
`kotlin-dsl`
33
// When updating, update below in dependencies too
4-
id("com.diffplug.spotless") version "7.0.3"
4+
id("com.diffplug.spotless") version "7.0.4"
55
}
66

77
spotless {
@@ -54,12 +54,12 @@ dependencies {
5454
implementation("org.apache.maven:maven-aether-provider:3.3.9")
5555

5656
// When updating, update above in plugins too
57-
implementation("com.diffplug.spotless:spotless-plugin-gradle:7.0.3")
57+
implementation("com.diffplug.spotless:spotless-plugin-gradle:7.0.4")
5858
implementation("com.google.guava:guava:33.4.8-jre")
5959
implementation("gradle.plugin.com.google.protobuf:protobuf-gradle-plugin:0.8.18")
6060
implementation("com.gradleup.shadow:shadow-gradle-plugin:8.3.6")
6161
implementation("org.apache.httpcomponents:httpclient:4.5.14")
62-
implementation("com.gradle.develocity:com.gradle.develocity.gradle.plugin:4.0.1")
62+
implementation("com.gradle.develocity:com.gradle.develocity.gradle.plugin:4.0.2")
6363
implementation("org.owasp:dependency-check-gradle:12.1.1")
6464
implementation("ru.vyarus:gradle-animalsniffer-plugin:2.0.1")
6565
implementation("org.spdx:spdx-gradle-plugin:0.9.0")

dependencyManagement/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ val DEPENDENCY_BOMS = listOf(
2828
// even if they are only used by test dependencies, so not using junit bom since it is LGPL
2929

3030
"com.fasterxml.jackson:jackson-bom:2.19.0",
31-
"com.squareup.okio:okio-bom:3.11.0", // see https://github.com/open-telemetry/opentelemetry-java/issues/5637
31+
"com.squareup.okio:okio-bom:3.12.0", // see https://github.com/open-telemetry/opentelemetry-java/issues/5637
3232
"com.google.guava:guava-bom:33.4.8-jre",
3333
"org.apache.groovy:groovy-bom:${groovyVersion}",
3434
"io.opentelemetry:opentelemetry-bom:${otelSdkVersion}",

examples/distro/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ buildscript {
1212
}
1313
}
1414
dependencies {
15-
classpath "com.diffplug.spotless:spotless-plugin-gradle:7.0.3"
15+
classpath "com.diffplug.spotless:spotless-plugin-gradle:7.0.4"
1616
classpath "com.gradleup.shadow:shadow-gradle-plugin:8.3.6"
1717
classpath "io.opentelemetry.instrumentation:gradle-plugins:2.17.0-alpha-SNAPSHOT"
1818
}

examples/extension/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ plugins {
1111
See https://imperceptiblethoughts.com/shadow/ for more details about Shadow plugin.
1212
*/
1313
id "com.gradleup.shadow" version "8.3.6"
14-
id "com.diffplug.spotless" version "7.0.3"
14+
id "com.diffplug.spotless" version "7.0.4"
1515

1616
id "io.opentelemetry.instrumentation.muzzle-generation" version "2.17.0-alpha-SNAPSHOT"
1717
id "io.opentelemetry.instrumentation.muzzle-check" version "2.17.0-alpha-SNAPSHOT"

instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientInstrumentation.java

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import io.opentelemetry.context.Scope;
1919
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
2020
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
21+
import javax.annotation.Nullable;
2122
import net.bytebuddy.asm.Advice;
2223
import net.bytebuddy.description.type.TypeDescription;
2324
import net.bytebuddy.matcher.ElementMatcher;
@@ -47,32 +48,46 @@ public void transform(TypeTransformer transformer) {
4748
@SuppressWarnings("unused")
4849
public static class ExecuteMethodAdvice {
4950

50-
@Advice.OnMethodEnter(suppress = Throwable.class)
51-
public static void methodEnter(
52-
@Advice.Argument(1) HttpMethod httpMethod,
53-
@Advice.Local("otelContext") Context context,
54-
@Advice.Local("otelScope") Scope scope) {
55-
Context parentContext = currentContext();
56-
if (!instrumenter().shouldStart(parentContext, httpMethod)) {
57-
return;
51+
public static class AdviceScope {
52+
private final Context context;
53+
private final Scope scope;
54+
private final HttpMethod httpMethod;
55+
56+
private AdviceScope(Context context, Scope scope, HttpMethod httpMethod) {
57+
this.context = context;
58+
this.scope = scope;
59+
this.httpMethod = httpMethod;
60+
}
61+
62+
@Nullable
63+
public static AdviceScope start(HttpMethod httpMethod) {
64+
Context parentContext = currentContext();
65+
if (!instrumenter().shouldStart(parentContext, httpMethod)) {
66+
return null;
67+
}
68+
Context context = instrumenter().start(parentContext, httpMethod);
69+
return new AdviceScope(context, context.makeCurrent(), httpMethod);
70+
}
71+
72+
public void end(Throwable throwable) {
73+
scope.close();
74+
instrumenter().end(context, httpMethod, httpMethod, throwable);
5875
}
76+
}
5977

60-
context = instrumenter().start(parentContext, httpMethod);
61-
scope = context.makeCurrent();
78+
@Advice.OnMethodEnter(suppress = Throwable.class)
79+
public static AdviceScope methodEnter(@Advice.Argument(1) HttpMethod httpMethod) {
80+
return AdviceScope.start(httpMethod);
6281
}
6382

6483
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
6584
public static void methodExit(
66-
@Advice.Argument(1) HttpMethod httpMethod,
67-
@Advice.Thrown Throwable throwable,
68-
@Advice.Local("otelContext") Context context,
69-
@Advice.Local("otelScope") Scope scope) {
70-
if (scope == null) {
71-
return;
72-
}
85+
@Advice.Thrown @Nullable Throwable throwable,
86+
@Advice.Enter @Nullable AdviceScope adviceScope) {
7387

74-
scope.close();
75-
instrumenter().end(context, httpMethod, httpMethod, throwable);
88+
if (adviceScope != null) {
89+
adviceScope.end(throwable);
90+
}
7691
}
7792
}
7893
}

instrumentation/apache-httpclient/apache-httpclient-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v2_0/ApacheHttpClientInstrumentationModule.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@
1010
import com.google.auto.service.AutoService;
1111
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1212
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
13+
import io.opentelemetry.javaagent.extension.instrumentation.internal.ExperimentalInstrumentationModule;
1314
import java.util.List;
1415

1516
@AutoService(InstrumentationModule.class)
16-
public class ApacheHttpClientInstrumentationModule extends InstrumentationModule {
17+
public class ApacheHttpClientInstrumentationModule extends InstrumentationModule
18+
implements ExperimentalInstrumentationModule {
1719

1820
public ApacheHttpClientInstrumentationModule() {
1921
super("apache-httpclient", "apache-httpclient-2.0");
@@ -23,4 +25,9 @@ public ApacheHttpClientInstrumentationModule() {
2325
public List<TypeInstrumentation> typeInstrumentations() {
2426
return singletonList(new ApacheHttpClientInstrumentation());
2527
}
28+
29+
@Override
30+
public boolean isIndyReady() {
31+
return true;
32+
}
2633
}

instrumentation/apache-httpclient/apache-httpclient-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpclient/v4_0/ApacheHttpClientHelper.java

Lines changed: 0 additions & 27 deletions
This file was deleted.

0 commit comments

Comments
 (0)