Skip to content

Commit c6aa4c2

Browse files
committed
Fixed the formatting for spotless
1 parent 7b268c0 commit c6aa4c2

19 files changed

+1071
-966
lines changed

instrumentation/camunda/camunda-7.0/javaagent/build.gradle.kts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@ muzzle {
1212
}
1313
}
1414

15-
1615
dependencies {
17-
implementation(project(":instrumentation:camunda:camunda-7.0:library"))
16+
implementation(project(":instrumentation:camunda:camunda-7.0:library"))
1817

19-
api("com.google.auto.value:auto-value-annotations:1.6")
20-
annotationProcessor("com.google.auto.value:auto-value:1.6")
18+
api("com.google.auto.value:auto-value-annotations:1.6")
19+
annotationProcessor("com.google.auto.value:auto-value:1.6")
2120
}
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,44 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
16
package io.opentelemetry.javaagent.instrumentation.camunda.v7_0.behavior;
27

8+
import io.opentelemetry.api.GlobalOpenTelemetry;
9+
import io.opentelemetry.api.OpenTelemetry;
310
import io.opentelemetry.camunda.v7_0.behavior.CamundaBehaviorSpanNameExtractor;
411
import io.opentelemetry.camunda.v7_0.common.CamundaCommonRequest;
512
import io.opentelemetry.camunda.v7_0.common.CamundaVariableAttributeExtractor;
6-
7-
import io.opentelemetry.api.GlobalOpenTelemetry;
8-
import io.opentelemetry.api.OpenTelemetry;
913
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
1014
import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder;
11-
import io.opentelemetry.javaagent.bootstrap.internal.InstrumentationConfig;
1215

1316
public class CamundaBehaviorSingletons {
1417

15-
private static final Instrumenter<CamundaCommonRequest, String> instrumenter;
16-
17-
private static final OpenTelemetry opentelemetry;
18-
19-
private static final boolean propagationEnabled;
18+
private static final Instrumenter<CamundaCommonRequest, String> instrumenter;
2019

21-
static {
20+
private static final OpenTelemetry opentelemetry;
2221

23-
opentelemetry = GlobalOpenTelemetry.get();
22+
private static final boolean propagationEnabled;
2423

25-
InstrumenterBuilder<CamundaCommonRequest, String> builder = Instrumenter
26-
.<CamundaCommonRequest, String>builder(opentelemetry, "io.opentelemetry.camunda-behavior",
27-
new CamundaBehaviorSpanNameExtractor())
28-
.addAttributesExtractor(new CamundaVariableAttributeExtractor());
24+
static {
25+
opentelemetry = GlobalOpenTelemetry.get();
2926

30-
instrumenter = builder.buildInstrumenter();
31-
}
27+
InstrumenterBuilder<CamundaCommonRequest, String> builder =
28+
Instrumenter.<CamundaCommonRequest, String>builder(
29+
opentelemetry,
30+
"io.opentelemetry.camunda-behavior",
31+
new CamundaBehaviorSpanNameExtractor())
32+
.addAttributesExtractor(new CamundaVariableAttributeExtractor());
3233

33-
public static OpenTelemetry getOpentelemetry() {
34-
return opentelemetry;
35-
}
34+
instrumenter = builder.buildInstrumenter();
35+
}
3636

37-
public static Instrumenter<CamundaCommonRequest, String> getInstumenter() {
38-
return instrumenter;
39-
}
37+
public static OpenTelemetry getOpentelemetry() {
38+
return opentelemetry;
39+
}
4040

41+
public static Instrumenter<CamundaCommonRequest, String> getInstumenter() {
42+
return instrumenter;
43+
}
4144
}
Original file line numberDiff line numberDiff line change
@@ -1,116 +1,128 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
16
package io.opentelemetry.javaagent.instrumentation.camunda.v7_0.behavior;
27

3-
import static io.opentelemetry.javaagent.instrumentation.camunda.v7_0.behavior.CamundaBehaviorSingletons.getInstumenter;
4-
import static io.opentelemetry.javaagent.instrumentation.camunda.v7_0.behavior.CamundaBehaviorSingletons.getOpentelemetry;
58
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
69
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasSuperType;
10+
import static io.opentelemetry.javaagent.instrumentation.camunda.v7_0.behavior.CamundaBehaviorSingletons.getInstumenter;
11+
import static io.opentelemetry.javaagent.instrumentation.camunda.v7_0.behavior.CamundaBehaviorSingletons.getOpentelemetry;
712
import static net.bytebuddy.matcher.ElementMatchers.named;
813

9-
import java.util.Optional;
10-
11-
import org.camunda.bpm.engine.impl.pvm.delegate.ActivityExecution;
12-
import org.camunda.bpm.engine.variable.VariableMap;
13-
14-
import java.util.logging.Level;
15-
16-
import io.opentelemetry.javaagent.camunda.v7_0.behavior.CamundaActivityExecutionGetter;
17-
import io.opentelemetry.javaagent.camunda.v7_0.behavior.CamundaVariableMapSetter;
18-
import io.opentelemetry.javaagent.camunda.v7_0.common.CamundaCommonRequest;
19-
2014
import io.opentelemetry.api.trace.SpanContext;
2115
import io.opentelemetry.context.Context;
2216
import io.opentelemetry.context.Scope;
2317
import io.opentelemetry.javaagent.bootstrap.Java8BytecodeBridge;
18+
import io.opentelemetry.javaagent.camunda.v7_0.behavior.CamundaActivityExecutionGetter;
19+
import io.opentelemetry.javaagent.camunda.v7_0.behavior.CamundaVariableMapSetter;
20+
import io.opentelemetry.javaagent.camunda.v7_0.common.CamundaCommonRequest;
2421
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
2522
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
23+
import java.util.Optional;
2624
import net.bytebuddy.asm.Advice;
2725
import net.bytebuddy.description.type.TypeDescription;
2826
import net.bytebuddy.matcher.ElementMatcher;
2927
import net.bytebuddy.matcher.ElementMatchers;
28+
import org.camunda.bpm.engine.impl.pvm.delegate.ActivityExecution;
29+
import org.camunda.bpm.engine.variable.VariableMap;
3030

3131
public class CamundaCallableElementActivityBehaviorInstrumentation implements TypeInstrumentation {
3232

33-
@Override
34-
public ElementMatcher<ClassLoader> classLoaderOptimization() {
35-
return hasClassesNamed("org.camunda.bpm.engine.impl.bpmn.behavior.CallableElementActivityBehavior");
36-
}
37-
38-
@Override
39-
public ElementMatcher<TypeDescription> typeMatcher() {
40-
return hasSuperType(named("org.camunda.bpm.engine.impl.bpmn.behavior.CallableElementActivityBehavior"));
41-
}
42-
43-
@Override
44-
public void transform(TypeTransformer transformer) {
45-
transformer.applyAdviceToMethod(ElementMatchers.isMethod().and(ElementMatchers.named("startInstance")),
46-
this.getClass().getName() + "$CamundaCallableElementActivityBehaviorAdvice");
47-
}
48-
49-
public static class CamundaCallableElementActivityBehaviorAdvice {
50-
51-
@Advice.OnMethodEnter(suppress = Throwable.class)
52-
public static void addTracingEnter(@Advice.Argument(0) ActivityExecution execution,
53-
@Advice.Argument(1) VariableMap variables, @Advice.Local("request") CamundaCommonRequest request,
54-
@Advice.Local("otelParentScope") Scope parentScope, @Advice.Local("otelContext") Context context,
55-
@Advice.Local("otelScope") Scope scope) {
56-
57-
58-
if (execution == null) {
59-
//log warning
60-
return;
61-
}
62-
63-
request = new CamundaCommonRequest();
64-
request.setProcessDefinitionId(Optional.ofNullable(execution.getProcessDefinitionId()));
65-
request.setProcessInstanceId(Optional.ofNullable(execution.getProcessInstanceId()));
66-
request.setActivityId(Optional.ofNullable(execution.getCurrentActivityId()));
67-
request.setActivityName(Optional.ofNullable(execution.getCurrentActivityName()));
68-
69-
String processInstanceId = execution.getProcessInstanceId();
70-
71-
if (Java8BytecodeBridge.currentContext() == Java8BytecodeBridge.rootContext()) {
72-
//log
73-
}
74-
75-
Context parentContext = getOpentelemetry().getPropagators().getTextMapPropagator()
76-
.extract(Java8BytecodeBridge.currentContext(), execution, new CamundaActivityExecutionGetter());
77-
78-
parentScope = parentContext.makeCurrent();
79-
80-
if (getInstumenter().shouldStart(Java8BytecodeBridge.currentContext(), request)) {
81-
context = getInstumenter().start(Java8BytecodeBridge.currentContext(), request);
82-
scope = context.makeCurrent();
83-
84-
// Inject subflow trace context as pi variables so they are propagated and
85-
// accessible
86-
87-
SpanContext currentSpanContext = Java8BytecodeBridge.spanFromContext(context).getSpanContext();
88-
if (currentSpanContext.isValid()) {
89-
getOpentelemetry().getPropagators().getTextMapPropagator().inject(context, variables,
90-
new CamundaVariableMapSetter());
91-
}
92-
93-
}
94-
95-
}
96-
97-
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
98-
public static void closeTrace(@Advice.Argument(0) ActivityExecution execution,
99-
@Advice.Local("request") CamundaCommonRequest request,
100-
@Advice.Local("otelParentScope") Scope parentScope, @Advice.Local("otelContext") Context context,
101-
@Advice.Local("otelScope") Scope scope, @Advice.Thrown Throwable throwable) {
102-
103-
104-
if (context != null && scope != null) {
105-
getInstumenter().end(context, request, "NA", throwable);
106-
scope.close();
107-
}
108-
109-
if (parentScope != null) {
110-
parentScope.close();
111-
}
112-
113-
}
114-
}
115-
33+
@Override
34+
public ElementMatcher<ClassLoader> classLoaderOptimization() {
35+
return hasClassesNamed(
36+
"org.camunda.bpm.engine.impl.bpmn.behavior.CallableElementActivityBehavior");
37+
}
38+
39+
@Override
40+
public ElementMatcher<TypeDescription> typeMatcher() {
41+
return hasSuperType(
42+
named("org.camunda.bpm.engine.impl.bpmn.behavior.CallableElementActivityBehavior"));
43+
}
44+
45+
@Override
46+
public void transform(TypeTransformer transformer) {
47+
transformer.applyAdviceToMethod(
48+
ElementMatchers.isMethod().and(ElementMatchers.named("startInstance")),
49+
this.getClass().getName() + "$CamundaCallableElementActivityBehaviorAdvice");
50+
}
51+
52+
public static class CamundaCallableElementActivityBehaviorAdvice {
53+
54+
@Advice.OnMethodEnter(suppress = Throwable.class)
55+
public static void addTracingEnter(
56+
@Advice.Argument(0) ActivityExecution execution,
57+
@Advice.Argument(1) VariableMap variables,
58+
@Advice.Local("request") CamundaCommonRequest request,
59+
@Advice.Local("otelParentScope") Scope parentScope,
60+
@Advice.Local("otelContext") Context context,
61+
@Advice.Local("otelScope") Scope scope) {
62+
63+
if (execution == null) {
64+
// log warning
65+
return;
66+
}
67+
68+
request = new CamundaCommonRequest();
69+
request.setProcessDefinitionId(Optional.ofNullable(execution.getProcessDefinitionId()));
70+
request.setProcessInstanceId(Optional.ofNullable(execution.getProcessInstanceId()));
71+
request.setActivityId(Optional.ofNullable(execution.getCurrentActivityId()));
72+
request.setActivityName(Optional.ofNullable(execution.getCurrentActivityName()));
73+
74+
String processInstanceId = execution.getProcessInstanceId();
75+
76+
if (Java8BytecodeBridge.currentContext() == Java8BytecodeBridge.rootContext()) {
77+
// log
78+
}
79+
80+
Context parentContext =
81+
getOpentelemetry()
82+
.getPropagators()
83+
.getTextMapPropagator()
84+
.extract(
85+
Java8BytecodeBridge.currentContext(),
86+
execution,
87+
new CamundaActivityExecutionGetter());
88+
89+
parentScope = parentContext.makeCurrent();
90+
91+
if (getInstumenter().shouldStart(Java8BytecodeBridge.currentContext(), request)) {
92+
context = getInstumenter().start(Java8BytecodeBridge.currentContext(), request);
93+
scope = context.makeCurrent();
94+
95+
// Inject subflow trace context as pi variables so they are propagated and
96+
// accessible
97+
98+
SpanContext currentSpanContext =
99+
Java8BytecodeBridge.spanFromContext(context).getSpanContext();
100+
if (currentSpanContext.isValid()) {
101+
getOpentelemetry()
102+
.getPropagators()
103+
.getTextMapPropagator()
104+
.inject(context, variables, new CamundaVariableMapSetter());
105+
}
106+
}
107+
}
108+
109+
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
110+
public static void closeTrace(
111+
@Advice.Argument(0) ActivityExecution execution,
112+
@Advice.Local("request") CamundaCommonRequest request,
113+
@Advice.Local("otelParentScope") Scope parentScope,
114+
@Advice.Local("otelContext") Context context,
115+
@Advice.Local("otelScope") Scope scope,
116+
@Advice.Thrown Throwable throwable) {
117+
118+
if (context != null && scope != null) {
119+
getInstumenter().end(context, request, "NA", throwable);
120+
scope.close();
121+
}
122+
123+
if (parentScope != null) {
124+
parentScope.close();
125+
}
126+
}
127+
}
116128
}
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,53 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
16
package io.opentelemetry.javaagent.instrumentation.camunda.v7_0.behavior;
27

38
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
49

5-
import java.util.Arrays;
6-
import java.util.Collections;
7-
import java.util.List;
8-
910
import com.google.auto.service.AutoService;
10-
1111
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1212
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1313
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
14+
import java.util.Arrays;
15+
import java.util.Collections;
16+
import java.util.List;
1417
import net.bytebuddy.matcher.ElementMatcher;
1518

1619
@AutoService(InstrumentationModule.class)
1720
public class CamundaCallableElementActivityBehaviorModule extends InstrumentationModule {
1821

19-
public CamundaCallableElementActivityBehaviorModule() {
20-
super("camunda", "camunda-behavior", "camunda-behavior-7_18");
21-
}
22-
23-
@Override
24-
public boolean defaultEnabled(ConfigProperties config) {
25-
return config.getBoolean("otel.instrumentation.common.default-enabled", true);
26-
}
27-
28-
@Override
29-
public List<TypeInstrumentation> typeInstrumentations() {
30-
return Collections.singletonList(new CamundaCallableElementActivityBehaviorInstrumentation());
31-
}
32-
33-
@Override
34-
public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
35-
return hasClassesNamed("org.camunda.bpm.engine.impl.bpmn.behavior.CallableElementActivityBehavior");
36-
}
37-
38-
String[] helperClassnames = { "io.opentelemetry.javaagent.instrumentation.camunda.v7_0.behavior",
39-
"io.opentelemetry.instrumentation.camunda.v7_0.behavior",
40-
"io.opentelemetry.instrumentation.camunda.v7_0.common" };
41-
42-
@Override
43-
public boolean isHelperClass(String classname) {
44-
return super.isHelperClass(classname) || Arrays.stream(helperClassnames).anyMatch(c -> classname.startsWith(c));
45-
}
46-
22+
public CamundaCallableElementActivityBehaviorModule() {
23+
super("camunda", "camunda-behavior", "camunda-behavior-7_18");
24+
}
25+
26+
@Override
27+
public boolean defaultEnabled(ConfigProperties config) {
28+
return config.getBoolean("otel.instrumentation.common.default-enabled", true);
29+
}
30+
31+
@Override
32+
public List<TypeInstrumentation> typeInstrumentations() {
33+
return Collections.singletonList(new CamundaCallableElementActivityBehaviorInstrumentation());
34+
}
35+
36+
@Override
37+
public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
38+
return hasClassesNamed(
39+
"org.camunda.bpm.engine.impl.bpmn.behavior.CallableElementActivityBehavior");
40+
}
41+
42+
String[] helperClassnames = {
43+
"io.opentelemetry.javaagent.instrumentation.camunda.v7_0.behavior",
44+
"io.opentelemetry.instrumentation.camunda.v7_0.behavior",
45+
"io.opentelemetry.instrumentation.camunda.v7_0.common"
46+
};
47+
48+
@Override
49+
public boolean isHelperClass(String classname) {
50+
return super.isHelperClass(classname)
51+
|| Arrays.stream(helperClassnames).anyMatch(c -> classname.startsWith(c));
52+
}
4753
}

0 commit comments

Comments
 (0)