Skip to content

Commit b1be9b3

Browse files
authored
Avoid NPE on QuartzDecorator (#10181)
1 parent 99556ee commit b1be9b3

File tree

1 file changed

+17
-5
lines changed
  • dd-java-agent/instrumentation/quartz-2.0/src/main/java/datadog/trace/instrumentation/quartz

1 file changed

+17
-5
lines changed

dd-java-agent/instrumentation/quartz-2.0/src/main/java/datadog/trace/instrumentation/quartz/QuartzDecorator.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString;
1111
import datadog.trace.bootstrap.instrumentation.decorator.BaseDecorator;
1212
import org.quartz.JobExecutionContext;
13+
import org.quartz.JobKey;
14+
import org.quartz.TriggerKey;
1315

1416
public class QuartzDecorator extends BaseDecorator {
1517
public static final CharSequence SCHEDULED_CALL = UTF8BytesString.create("scheduled.call");
@@ -34,11 +36,21 @@ protected CharSequence component() {
3436

3537
public AgentSpan onExecute(final AgentSpan span, JobExecutionContext context) {
3638
if (context != null) {
37-
span.setTag(DDTags.RESOURCE_NAME, context.getJobInstance().getClass()).toString();
38-
span.setTag(QUARTZ_TRIGGER_NAME, context.getTrigger().getKey().getName());
39-
span.setTag(QUARTZ_TRIGGER_GROUP, context.getTrigger().getKey().getGroup());
40-
span.setTag(QUARTZ_JOB_NAME, context.getTrigger().getJobKey().getName());
41-
span.setTag(QUARTZ_JOB_GROUP, context.getTrigger().getJobKey().getGroup());
39+
if (context.getJobInstance() != null) {
40+
span.setTag(DDTags.RESOURCE_NAME, context.getJobInstance().getClass()).toString();
41+
}
42+
if (context.getTrigger() != null) {
43+
final TriggerKey key = context.getTrigger().getKey();
44+
if (key != null) {
45+
span.setTag(QUARTZ_TRIGGER_NAME, key.getName());
46+
span.setTag(QUARTZ_TRIGGER_GROUP, key.getGroup());
47+
}
48+
final JobKey jobKey = context.getJobDetail().getKey();
49+
if (jobKey != null) {
50+
span.setTag(QUARTZ_JOB_NAME, jobKey.getName());
51+
span.setTag(QUARTZ_JOB_GROUP, jobKey.getGroup());
52+
}
53+
}
4254
}
4355
return span;
4456
}

0 commit comments

Comments
 (0)