From 28f3045540ef6488df7897afa8aad6be6cdbe248 Mon Sep 17 00:00:00 2001 From: Lara Kulkarni Date: Fri, 20 Feb 2026 14:10:20 -0500 Subject: [PATCH 1/3] updating to get rid of wrong spark spans --- .../instrumentation/spark/AbstractDatadogSparkListener.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dd-java-agent/instrumentation/spark/spark-common/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java b/dd-java-agent/instrumentation/spark/spark-common/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java index 5b4e1501826..e3d1d92af2f 100644 --- a/dd-java-agent/instrumentation/spark/spark-common/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java +++ b/dd-java-agent/instrumentation/spark/spark-common/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java @@ -254,7 +254,7 @@ private void initApplicationSpanIfNotInitialized() { } log.debug("Starting tracer application span."); - + if(!isRunningOnDatabricks){ AgentTracer.SpanBuilder builder = buildSparkSpan("spark.application", null); if (applicationStart != null) { @@ -289,6 +289,7 @@ private void initApplicationSpanIfNotInitialized() { applicationSpan = builder.start(); setDataJobsSamplingPriority(applicationSpan); applicationSpan.setMeasured(true); + } } private void captureOpenlineageContextIfPresent( From 811d024becb103a667c54eab18f4c2ae776e67be Mon Sep 17 00:00:00 2001 From: Lara Kulkarni Date: Fri, 20 Feb 2026 15:03:17 -0500 Subject: [PATCH 2/3] fixed format --- .../spark/AbstractDatadogSparkListener.java | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/dd-java-agent/instrumentation/spark/spark-common/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java b/dd-java-agent/instrumentation/spark/spark-common/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java index e3d1d92af2f..9da49156dd1 100644 --- a/dd-java-agent/instrumentation/spark/spark-common/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java +++ b/dd-java-agent/instrumentation/spark/spark-common/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java @@ -254,41 +254,41 @@ private void initApplicationSpanIfNotInitialized() { } log.debug("Starting tracer application span."); - if(!isRunningOnDatabricks){ - AgentTracer.SpanBuilder builder = buildSparkSpan("spark.application", null); - - if (applicationStart != null) { - String ddTags = - Config.get().getGlobalTags().entrySet().stream() - .sorted(Map.Entry.comparingByKey()) - .map(e -> e.getKey() + ":" + e.getValue()) - .collect(Collectors.joining(",")); - - builder - .withStartTimestamp(applicationStart.time() * 1000) - .withTag("application_name", applicationStart.appName()) - .withTag("djm.tags", ddTags) - .withTag("spark_user", applicationStart.sparkUser()); - - if (applicationStart.appAttemptId().isDefined()) { - builder.withTag("app_attempt_id", applicationStart.appAttemptId().get()); + if (!isRunningOnDatabricks) { + AgentTracer.SpanBuilder builder = buildSparkSpan("spark.application", null); + + if (applicationStart != null) { + String ddTags = + Config.get().getGlobalTags().entrySet().stream() + .sorted(Map.Entry.comparingByKey()) + .map(e -> e.getKey() + ":" + e.getValue()) + .collect(Collectors.joining(",")); + + builder + .withStartTimestamp(applicationStart.time() * 1000) + .withTag("application_name", applicationStart.appName()) + .withTag("djm.tags", ddTags) + .withTag("spark_user", applicationStart.sparkUser()); + + if (applicationStart.appAttemptId().isDefined()) { + builder.withTag("app_attempt_id", applicationStart.appAttemptId().get()); + } } - } - captureApplicationParameters(builder); + captureApplicationParameters(builder); - Optional openlineageParentContext = - OpenlineageParentContext.from(sparkConf); - // We know we're not in Databricks context - if (openlineageParentContext.isPresent()) { - captureOpenlineageContextIfPresent(builder, openlineageParentContext.get()); - } else { - builder.asChildOf(predeterminedTraceIdContext); - } + Optional openlineageParentContext = + OpenlineageParentContext.from(sparkConf); + // We know we're not in Databricks context + if (openlineageParentContext.isPresent()) { + captureOpenlineageContextIfPresent(builder, openlineageParentContext.get()); + } else { + builder.asChildOf(predeterminedTraceIdContext); + } - applicationSpan = builder.start(); - setDataJobsSamplingPriority(applicationSpan); - applicationSpan.setMeasured(true); + applicationSpan = builder.start(); + setDataJobsSamplingPriority(applicationSpan); + applicationSpan.setMeasured(true); } } From 8bf15a08c575dc8a1a83e3e8cad2e1bf2b1d5e40 Mon Sep 17 00:00:00 2001 From: Lara Kulkarni Date: Mon, 23 Feb 2026 15:33:58 -0500 Subject: [PATCH 3/3] updating logs to test --- .../instrumentation/spark/AbstractDatadogSparkListener.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dd-java-agent/instrumentation/spark/spark-common/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java b/dd-java-agent/instrumentation/spark/spark-common/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java index 9da49156dd1..337ac760680 100644 --- a/dd-java-agent/instrumentation/spark/spark-common/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java +++ b/dd-java-agent/instrumentation/spark/spark-common/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java @@ -254,7 +254,10 @@ private void initApplicationSpanIfNotInitialized() { } log.debug("Starting tracer application span."); + log.debug(databricksClusterName); if (!isRunningOnDatabricks) { + String databricksClusterNameSpark = databricksClusterName + "creating a spark.app"; + log.debug(databricksClusterNameSpark); AgentTracer.SpanBuilder builder = buildSparkSpan("spark.application", null); if (applicationStart != null) {