File tree Expand file tree Collapse file tree 4 files changed +18
-0
lines changed
src/main/java/io/opentelemetry/javaagent/instrumentation/ktor/v2_0
src/main/java/io/opentelemetry/javaagent/instrumentation/ktor/v3_0 Expand file tree Collapse file tree 4 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ dependencies {
2525 compileOnly(" org.jetbrains.kotlin:kotlin-stdlib-jdk8" )
2626
2727 testInstrumentation(project(" :instrumentation:netty:netty-4.1:javaagent" ))
28+ testInstrumentation(project(" :instrumentation:ktor:ktor-3.0:javaagent" ))
2829
2930 testImplementation(project(" :instrumentation:ktor:ktor-2.0:testing" ))
3031 testImplementation(" org.jetbrains.kotlin:kotlin-stdlib-jdk8" )
Original file line number Diff line number Diff line change 55
66package io .opentelemetry .javaagent .instrumentation .ktor .v2_0 ;
77
8+ import static io .opentelemetry .javaagent .extension .matcher .AgentElementMatchers .hasClassesNamed ;
89import static java .util .Collections .singletonList ;
910
1011import com .google .auto .service .AutoService ;
1112import io .opentelemetry .javaagent .extension .instrumentation .InstrumentationModule ;
1213import io .opentelemetry .javaagent .extension .instrumentation .TypeInstrumentation ;
1314import java .util .List ;
15+ import net .bytebuddy .matcher .ElementMatcher ;
1416
1517@ AutoService (InstrumentationModule .class )
1618public class KtorClientInstrumentationModule extends InstrumentationModule {
@@ -24,6 +26,12 @@ public boolean isHelperClass(String className) {
2426 return className .startsWith ("io.opentelemetry.extension.kotlin." );
2527 }
2628
29+ @ Override
30+ public ElementMatcher .Junction <ClassLoader > classLoaderMatcher () {
31+ // removed in ktor 3
32+ return hasClassesNamed ("io.ktor.client.engine.HttpClientJvmEngine" );
33+ }
34+
2735 @ Override
2836 public List <TypeInstrumentation > typeInstrumentations () {
2937 return singletonList (new HttpClientInstrumentation ());
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ dependencies {
2525 compileOnly(" org.jetbrains.kotlin:kotlin-stdlib-jdk8" )
2626
2727 testInstrumentation(project(" :instrumentation:netty:netty-4.1:javaagent" ))
28+ testInstrumentation(project(" :instrumentation:ktor:ktor-2.0:javaagent" ))
2829
2930 testImplementation(project(" :instrumentation:ktor:ktor-3.0:testing" ))
3031 testImplementation(" org.jetbrains.kotlin:kotlin-stdlib-jdk8" )
Original file line number Diff line number Diff line change 55
66package io .opentelemetry .javaagent .instrumentation .ktor .v3_0 ;
77
8+ import static io .opentelemetry .javaagent .extension .matcher .AgentElementMatchers .hasClassesNamed ;
89import static java .util .Collections .singletonList ;
910
1011import com .google .auto .service .AutoService ;
1112import io .opentelemetry .javaagent .extension .instrumentation .InstrumentationModule ;
1213import io .opentelemetry .javaagent .extension .instrumentation .TypeInstrumentation ;
1314import java .util .List ;
15+ import net .bytebuddy .matcher .ElementMatcher ;
1416
1517@ AutoService (InstrumentationModule .class )
1618public class KtorClientInstrumentationModule extends InstrumentationModule {
@@ -24,6 +26,12 @@ public boolean isHelperClass(String className) {
2426 return className .startsWith ("io.opentelemetry.extension.kotlin." );
2527 }
2628
29+ @ Override
30+ public ElementMatcher .Junction <ClassLoader > classLoaderMatcher () {
31+ // added in ktor 3
32+ return hasClassesNamed ("io.ktor.client.content.ProgressListener" );
33+ }
34+
2735 @ Override
2836 public List <TypeInstrumentation > typeInstrumentations () {
2937 return singletonList (new HttpClientInstrumentation ());
You can’t perform that action at this time.
0 commit comments