File tree Expand file tree Collapse file tree 6 files changed +37
-12
lines changed
instrumentation/cassandra
cassandra-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v3_0
cassandra-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_0
cassandra-4.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/cassandra/v4_4 Expand file tree Collapse file tree 6 files changed +37
-12
lines changed Original file line number Diff line number Diff line change 1010import com .google .auto .service .AutoService ;
1111import io .opentelemetry .javaagent .extension .instrumentation .InstrumentationModule ;
1212import io .opentelemetry .javaagent .extension .instrumentation .TypeInstrumentation ;
13+ import io .opentelemetry .javaagent .extension .instrumentation .internal .ExperimentalInstrumentationModule ;
1314import java .util .List ;
1415
1516@ AutoService (InstrumentationModule .class )
16- public class CassandraInstrumentationModule extends InstrumentationModule {
17+ public class CassandraInstrumentationModule extends InstrumentationModule
18+ implements ExperimentalInstrumentationModule {
1719 public CassandraInstrumentationModule () {
1820 super ("cassandra" , "cassandra-3.0" );
1921 }
@@ -22,4 +24,9 @@ public CassandraInstrumentationModule() {
2224 public List <TypeInstrumentation > typeInstrumentations () {
2325 return singletonList (new CassandraManagerInstrumentation ());
2426 }
27+
28+ @ Override
29+ public boolean isIndyReady () {
30+ return true ;
31+ }
2532}
Original file line number Diff line number Diff line change 1414import io .opentelemetry .javaagent .extension .instrumentation .TypeInstrumentation ;
1515import io .opentelemetry .javaagent .extension .instrumentation .TypeTransformer ;
1616import net .bytebuddy .asm .Advice ;
17+ import net .bytebuddy .asm .Advice .AssignReturned ;
1718import net .bytebuddy .description .type .TypeDescription ;
1819import net .bytebuddy .matcher .ElementMatcher ;
1920
@@ -42,13 +43,14 @@ public static class NewSessionAdvice {
4243 *
4344 * @param session The fresh session to patch. This session is replaced with new session
4445 */
46+ @ AssignReturned .ToReturned
4547 @ Advice .OnMethodExit (suppress = Throwable .class )
46- public static void injectTracingSession (@ Advice .Return ( readOnly = false ) Session session ) {
48+ public static Session injectTracingSession (@ Advice .Return Session session ) {
4749 // This should cover ours and OT's TracingSession
4850 if (session .getClass ().getName ().endsWith ("cassandra.TracingSession" )) {
49- return ;
51+ return session ;
5052 }
51- session = new TracingSession (session );
53+ return new TracingSession (session );
5254 }
5355 }
5456}
Original file line number Diff line number Diff line change 1212import com .google .auto .service .AutoService ;
1313import io .opentelemetry .javaagent .extension .instrumentation .InstrumentationModule ;
1414import io .opentelemetry .javaagent .extension .instrumentation .TypeInstrumentation ;
15+ import io .opentelemetry .javaagent .extension .instrumentation .internal .ExperimentalInstrumentationModule ;
1516import java .util .List ;
1617import net .bytebuddy .matcher .ElementMatcher ;
1718
1819@ AutoService (InstrumentationModule .class )
19- public class CassandraClientInstrumentationModule extends InstrumentationModule {
20+ public class CassandraClientInstrumentationModule extends InstrumentationModule
21+ implements ExperimentalInstrumentationModule {
2022
2123 public CassandraClientInstrumentationModule () {
2224 super ("cassandra" , "cassandra-4.0" );
@@ -32,4 +34,9 @@ public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
3234 // new public interface introduced in version 4.4
3335 return not (hasClassesNamed ("com.datastax.dse.driver.api.core.cql.reactive.ReactiveSession" ));
3436 }
37+
38+ @ Override
39+ public boolean isIndyReady () {
40+ return true ;
41+ }
3542}
Original file line number Diff line number Diff line change 1414import io .opentelemetry .javaagent .extension .instrumentation .TypeTransformer ;
1515import java .util .concurrent .CompletionStage ;
1616import net .bytebuddy .asm .Advice ;
17+ import net .bytebuddy .asm .Advice .AssignReturned ;
1718import net .bytebuddy .description .type .TypeDescription ;
1819import net .bytebuddy .matcher .ElementMatcher ;
1920
@@ -44,10 +45,10 @@ public static class BuildAdvice {
4445 * @param stage The fresh CompletionStage to patch. This stage produces session which is
4546 * replaced with new session
4647 */
48+ @ AssignReturned .ToReturned
4749 @ Advice .OnMethodExit (suppress = Throwable .class )
48- public static void injectTracingSession (
49- @ Advice .Return (readOnly = false ) CompletionStage <?> stage ) {
50- stage = stage .thenApply (new CompletionStageFunction ());
50+ public static CompletionStage <?> injectTracingSession (@ Advice .Return CompletionStage <?> stage ) {
51+ return stage .thenApply (new CompletionStageFunction ());
5152 }
5253 }
5354}
Original file line number Diff line number Diff line change 1111import com .google .auto .service .AutoService ;
1212import io .opentelemetry .javaagent .extension .instrumentation .InstrumentationModule ;
1313import io .opentelemetry .javaagent .extension .instrumentation .TypeInstrumentation ;
14+ import io .opentelemetry .javaagent .extension .instrumentation .internal .ExperimentalInstrumentationModule ;
1415import java .util .List ;
1516import net .bytebuddy .matcher .ElementMatcher ;
1617
1718@ AutoService (InstrumentationModule .class )
18- public class CassandraClientInstrumentationModule extends InstrumentationModule {
19+ public class CassandraClientInstrumentationModule extends InstrumentationModule
20+ implements ExperimentalInstrumentationModule {
1921
2022 public CassandraClientInstrumentationModule () {
2123 super ("cassandra" , "cassandra-4.4" );
@@ -31,4 +33,9 @@ public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
3133 // new public interface introduced in version 4.4
3234 return hasClassesNamed ("com.datastax.dse.driver.api.core.cql.reactive.ReactiveSession" );
3335 }
36+
37+ @ Override
38+ public boolean isIndyReady () {
39+ return true ;
40+ }
3441}
Original file line number Diff line number Diff line change 1414import io .opentelemetry .javaagent .extension .instrumentation .TypeTransformer ;
1515import java .util .concurrent .CompletionStage ;
1616import net .bytebuddy .asm .Advice ;
17+ import net .bytebuddy .asm .Advice .AssignReturned ;
1718import net .bytebuddy .description .type .TypeDescription ;
1819import net .bytebuddy .matcher .ElementMatcher ;
1920
@@ -44,10 +45,10 @@ public static class BuildAdvice {
4445 * @param stage The fresh CompletionStage to patch. This stage produces session which is
4546 * replaced with new session
4647 */
48+ @ AssignReturned .ToReturned
4749 @ Advice .OnMethodExit (suppress = Throwable .class )
48- public static void injectTracingSession (
49- @ Advice .Return (readOnly = false ) CompletionStage <?> stage ) {
50- stage = stage .thenApply (new CompletionStageFunction ());
50+ public static CompletionStage <?> injectTracingSession (@ Advice .Return CompletionStage <?> stage ) {
51+ return stage .thenApply (new CompletionStageFunction ());
5152 }
5253 }
5354}
You can’t perform that action at this time.
0 commit comments