File tree Expand file tree Collapse file tree 4 files changed +71
-0
lines changed
dd-java-agent/instrumentation/crac
src/main/java/trace/instrumentation/crac Expand file tree Collapse file tree 4 files changed +71
-0
lines changed Original file line number Diff line number Diff line change 1+ muzzle {
2+ pass {
3+ group = " org.crac"
4+ module = " crac"
5+ versions = " [1.3,)"
6+ }
7+ }
8+
9+ apply from : " $rootDir /gradle/java.gradle"
10+
11+ dependencies {
12+ compileOnly group : ' org.crac' , name : ' crac' , version : ' 1.3.0'
13+ }
Original file line number Diff line number Diff line change 1+ package trace .instrumentation .crac ;
2+
3+ import static net .bytebuddy .matcher .ElementMatchers .isTypeInitializer ;
4+
5+ import com .google .auto .service .AutoService ;
6+ import datadog .trace .agent .tooling .Instrumenter ;
7+ import datadog .trace .agent .tooling .InstrumenterModule ;
8+ import net .bytebuddy .asm .Advice ;
9+ import org .crac .Core ;
10+
11+ @ AutoService (InstrumenterModule .class )
12+ public final class CracRuntimeInstrumentation extends InstrumenterModule .Tracing
13+ implements Instrumenter .ForSingleType {
14+
15+ public CracRuntimeInstrumentation () {
16+ super ("crac" );
17+ }
18+
19+ @ Override
20+ public String instrumentedType () {
21+ return "org.crac.Crac" ;
22+ }
23+
24+ @ Override
25+ public String [] helperClassNames () {
26+ return new String [] {packageName + ".TracerResource" };
27+ }
28+
29+ @ Override
30+ public void methodAdvice (Instrumenter .MethodTransformer transformer ) {
31+ transformer .applyAdvice (
32+ isTypeInitializer (), CracRuntimeInstrumentation .class .getName () + "$TracerResourceAdvice" );
33+ }
34+
35+ public static class TracerResourceAdvice {
36+ @ Advice .OnMethodExit (suppress = Throwable .class )
37+ public static void onExit () {
38+ Core .getGlobalContext ().register (new TracerResource ());
39+ }
40+ }
41+ }
Original file line number Diff line number Diff line change 1+ package trace .instrumentation .crac ;
2+
3+ import org .crac .Context ;
4+ import org .crac .Resource ;
5+
6+ public final class TracerResource implements Resource {
7+ @ Override
8+ public void beforeCheckpoint (Context <? extends Resource > context ) throws Exception {
9+ System .err .println ("BEFORE CHECKPOINT" );
10+ }
11+
12+ @ Override
13+ public void afterRestore (Context <? extends Resource > context ) throws Exception {
14+ System .err .println ("AFTER RESTORE" );
15+ }
16+ }
Original file line number Diff line number Diff line change @@ -218,6 +218,7 @@ include ':dd-java-agent:instrumentation:couchbase:couchbase-2.0'
218218include ' :dd-java-agent:instrumentation:couchbase:couchbase-2.6'
219219include ' :dd-java-agent:instrumentation:couchbase:couchbase-3.1'
220220include ' :dd-java-agent:instrumentation:couchbase:couchbase-3.2'
221+ include ' :dd-java-agent:instrumentation:crac'
221222include ' :dd-java-agent:instrumentation:cucumber'
222223include ' :dd-java-agent:instrumentation:cxf-2.1'
223224include ' :dd-java-agent:instrumentation:datanucleus-4'
You can’t perform that action at this time.
0 commit comments