Skip to content

Support agentless log submission for Logback - #12725

Draft
daniel-mohedano wants to merge 4 commits into
masterfrom
daniel.mohedano/agentless-logs-logback
Draft

daniel-mohedano wants to merge 4 commits into
masterfrom
daniel.mohedano/agentless-logs-logback

Conversation

@daniel-mohedano

@daniel-mohedano daniel-mohedano commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

What Does This Do

This is the first PR of a stack. Together, the stack lets the tracer submit test logs from more logging backends when agentless log submission is enabled (DD_AGENTLESS_LOG_SUBMISSION_ENABLED=true). Today only Log4j2 supports this. Tests often run in CI without a Datadog Agent, so logs from other backends never reach Datadog, even though their trace and span IDs are already injected.

This PR adds Logback:

  • The existing Logger.callAppenders capture hook now also runs when agentless log submission is enabled. Before, only app log collection (DD_APP_LOGS_COLLECTION_ENABLED) enabled it.
  • Agentless submission honors DD_AGENTLESS_LOG_SUBMISSION_LEVEL.
  • The submitted event carries:
    • a contextMap with the user MDC and the correlation IDs of the producer thread, captured before any async appender runs
    • the event timestamp
  • MDC injection now also works with CI Visibility when APM tracing is disabled (DD_TRACE_ENABLED=false). LoggingEventInstrumentation is now a context tracking module, like the existing capture hook.
  • The capture hook skips bootstrap-loaded Logback, where its helper cannot be injected.
  • The log injection smoke tests now assert direct submission for Logback backends.

Stack:

  1. Logback (this PR) (Support agentless log submission for Logback #12725)
  2. Shared submission helper and JBoss LogManager (Support agentless log submission for JBoss LogManager #12726)
  3. tinylog 2 (Support agentless log submission for tinylog #12727)
  4. Log4j 1 (Support agentless log submission for Log4j 1 #12728)

Motivation

Test logs are only useful in Test Optimization if they reach Datadog. Users who log with a backend other than Log4j2 get no logs with agentless submission.

Additional Notes

Compatibility:

  • App log collection keeps its current payload and level behavior. When both flags are enabled, it takes precedence.
  • Nothing changes when agentless log submission is disabled. Only the MDC injection change also applies without the flag, in CI Visibility with tracing disabled.

Testing:

  • New forked JUnit 5 instrumentation tests cover:
    • disabled and enabled submission, level filtering and exceptions
    • injection disabled, user MDC, and correlation IDs with and without an active span
    • AsyncAppender delivery after the producer scope closes
    • the JUL to SLF4J bridge (sent once)
    • CI Visibility with tracing disabled
  • :dd-smoke-tests:log-injection:test passes.

Jira ticket: SDTEST-3805

@daniel-mohedano daniel-mohedano added type: feature Enhancements and improvements comp: ci visibility Continuous Integration Visibility tag: ai generated Largely based on code generated by an AI or LLM comp: logs Logs Product labels Oct 2, 2026
@daniel-mohedano
daniel-mohedano added this pull request to stack #12729 October 2, 2026 09:20
@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

CI Visibility Test Environment - sbt-scalatest

Job Status: 🟢 success

Scenario This PR (%) 7d median Δ 7d 30d median Δ 30d runs (7d/30d)
agent 56.80 56.55 $\color{red}{\blacktriangle}$ +0.25 55.43 $\color{red}{\blacktriangle}$ +1.37 106/280
agentEvpProxy 56.73 n/a n/a n/a n/a -

Baseline: median of @test.tracer_overhead on main (gitlab) over the last 7/30 days, per OSS project & scenario. Δ = this PR − baseline median; red ▲ = more overhead, green ▽ = less overhead than baseline.

Tests run to verify that CI Visibility behavior has not regressed in the current PR.

@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

CI Visibility Test Environment - nebula-release-plugin

Job Status: 🟢 success

Scenario This PR (%) 7d median Δ 7d 30d median Δ 30d runs (7d/30d)
agent 35.83 37.15 $\color{green}{\blacktriangledown}$ -1.32 36.42 $\color{green}{\blacktriangledown}$ -0.59 65/162
agentless 35.72 36.42 $\color{green}{\blacktriangledown}$ -0.70 35.70 $\color{red}{\blacktriangle}$ +0.02 41/134
agentlessCodeCoverage 44.51 45.38 $\color{green}{\blacktriangledown}$ -0.87 44.48 $\color{red}{\blacktriangle}$ +0.03 40/133
agentlessLineCoverage 55.41 56.55 $\color{green}{\blacktriangledown}$ -1.14 56.55 $\color{green}{\blacktriangledown}$ -1.14 39/133

Baseline: median of @test.tracer_overhead on main (gitlab) over the last 7/30 days, per OSS project & scenario. Δ = this PR − baseline median; red ▲ = more overhead, green ▽ = less overhead than baseline.

Tests run to verify that CI Visibility behavior has not regressed in the current PR.

@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

CI Visibility Test Environment - netflix-zuul

Job Status: 🟢 success

Scenario This PR (%) 7d median Δ 7d 30d median Δ 30d runs (7d/30d)
agent 88.77 89.58 $\color{green}{\blacktriangledown}$ -0.81 87.80 $\color{red}{\blacktriangle}$ +0.97 64/159
agentless 81.77 82.69 $\color{green}{\blacktriangledown}$ -0.92 81.05 $\color{red}{\blacktriangle}$ +0.72 40/127
agentlessCodeCoverage 97.02 97.04 $\color{green}{\blacktriangledown}$ -0.02 97.04 $\color{green}{\blacktriangledown}$ -0.02 40/127
agentlessLineCoverage 113.90 113.88 $\color{red}{\blacktriangle}$ +0.02 111.62 $\color{red}{\blacktriangle}$ +2.28 39/131

Baseline: median of @test.tracer_overhead on main (gitlab) over the last 7/30 days, per OSS project & scenario. Δ = this PR − baseline median; red ▲ = more overhead, green ▽ = less overhead than baseline.

Tests run to verify that CI Visibility behavior has not regressed in the current PR.

@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

CI Visibility Test Environment - pass4s

Job Status: 🟢 success

Scenario This PR (%) 7d median Δ 7d 30d median Δ 30d runs (7d/30d)
agent 7.77 9.73 $\color{green}{\blacktriangledown}$ -1.96 9.73 $\color{green}{\blacktriangledown}$ -1.96 64/143
agentless 11.43 9.73 $\color{red}{\blacktriangle}$ +1.70 9.35 $\color{red}{\blacktriangle}$ +2.08 40/115
agentlessCodeCoverage 20.47 17.73 $\color{red}{\blacktriangle}$ +2.74 17.03 $\color{red}{\blacktriangle}$ +3.44 38/108

Baseline: median of @test.tracer_overhead on main (gitlab) over the last 7/30 days, per OSS project & scenario. Δ = this PR − baseline median; red ▲ = more overhead, green ▽ = less overhead than baseline.

Tests run to verify that CI Visibility behavior has not regressed in the current PR.

@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2 Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

🎯 Code Coverage (details)
• Patch Coverage: 100.00%
• Overall Coverage: 68.82% (+9.46%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 68fdaae | Docs | Give us feedback!

@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

CI Visibility Test Environment - heliboard

Job Status: 🟢 success

Scenario This PR (%) 7d median Δ 7d 30d median Δ 30d runs (7d/30d)
agent 9.25 9.92 $\color{green}{\blacktriangledown}$ -0.67 9.92 $\color{green}{\blacktriangledown}$ -0.67 40/128

Baseline: median of @test.tracer_overhead on main (gitlab) over the last 7/30 days, per OSS project & scenario. Δ = this PR − baseline median; red ▲ = more overhead, green ▽ = less overhead than baseline.

Tests run to verify that CI Visibility behavior has not regressed in the current PR.

@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

CI Visibility Test Environment - reactive-streams-jvm

Job Status: 🟢 success

Scenario This PR (%) 7d median Δ 7d 30d median Δ 30d runs (7d/30d)
agent 19.16 22.09 $\color{green}{\blacktriangledown}$ -2.93 21.65 $\color{green}{\blacktriangledown}$ -2.49 65/167
agentless 16.52 19.20 $\color{green}{\blacktriangledown}$ -2.68 19.20 $\color{green}{\blacktriangledown}$ -2.68 39/128
agentlessCodeCoverage 17.17 19.99 $\color{green}{\blacktriangledown}$ -2.82 19.99 $\color{green}{\blacktriangledown}$ -2.82 39/128
agentlessLineCoverage 24.00 27.52 $\color{green}{\blacktriangledown}$ -3.52 26.98 $\color{green}{\blacktriangledown}$ -2.98 26/77

Baseline: median of @test.tracer_overhead on main (gitlab) over the last 7/30 days, per OSS project & scenario. Δ = this PR − baseline median; red ▲ = more overhead, green ▽ = less overhead than baseline.

Tests run to verify that CI Visibility behavior has not regressed in the current PR.

@dd-octo-sts

dd-octo-sts Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

🟢 Java Benchmark SLOs — All performance SLOs passed

Suite Status
Startup 🟢 pass

SLO thresholds are defined here based on automatically generated metrics. A warning is raised when results are within 5% of the threshold.

PR vs. master results
Scenario Candidate master Δ (95% CI of mean)
startup:insecure-bank:iast:Agent 14.02 s 14.03 s [-0.8%; +0.7%] (no difference)
startup:insecure-bank:tracing:Agent 12.93 s 13.08 s [-1.8%; -0.5%] (maybe better)
startup:petclinic:appsec:Agent 17.26 s 17.14 s [-0.1%; +1.5%] (no difference)
startup:petclinic:iast:Agent 17.06 s 17.10 s [-1.0%; +0.5%] (no difference)
startup:petclinic:profiling:Agent 16.57 s 16.63 s [-1.3%; +0.7%] (no difference)
startup:petclinic:sca:Agent 17.16 s 17.04 s [-0.3%; +1.7%] (no difference)
startup:petclinic:tracing:Agent 16.18 s 15.87 s [-2.3%; +6.2%] (no difference)

Commit: 68fdaae4 · CI Pipeline · Benchmarking Platform UI


Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion.

@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

CI Visibility Test Environment - sonar-kotlin

Job Status: 🟢 success

Scenario This PR (%) 7d median Δ 7d 30d median Δ 30d runs (7d/30d)
agent 13.85 13.40 $\color{red}{\blacktriangle}$ +0.45 13.13 $\color{red}{\blacktriangle}$ +0.72 66/167
agentless 12.13 12.12 $\color{red}{\blacktriangle}$ +0.01 11.88 $\color{red}{\blacktriangle}$ +0.25 42/130
agentlessCodeCoverage 15.93 15.41 $\color{red}{\blacktriangle}$ +0.52 15.11 $\color{red}{\blacktriangle}$ +0.82 41/129
agentlessLineCoverage 16.82 17.38 $\color{green}{\blacktriangledown}$ -0.56 17.38 $\color{green}{\blacktriangledown}$ -0.56 40/129

Baseline: median of @test.tracer_overhead on main (gitlab) over the last 7/30 days, per OSS project & scenario. Δ = this PR − baseline median; red ▲ = more overhead, green ▽ = less overhead than baseline.

Tests run to verify that CI Visibility behavior has not regressed in the current PR.

@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

CI Visibility Test Environment - jolokia

Job Status: 🟢 success

Scenario This PR (%) 7d median Δ 7d 30d median Δ 30d runs (7d/30d)
agent 94.41 95.12 $\color{green}{\blacktriangledown}$ -0.71 95.12 $\color{green}{\blacktriangledown}$ -0.71 66/166
agentless 88.04 89.58 $\color{green}{\blacktriangledown}$ -1.54 89.58 $\color{green}{\blacktriangledown}$ -1.54 42/138
agentlessCodeCoverage 98.15 99.00 $\color{green}{\blacktriangledown}$ -0.85 99.00 $\color{green}{\blacktriangledown}$ -0.85 42/138
agentlessLineCoverage 101.27 101.00 $\color{red}{\blacktriangle}$ +0.27 101.00 $\color{red}{\blacktriangle}$ +0.27 41/142

Baseline: median of @test.tracer_overhead on main (gitlab) over the last 7/30 days, per OSS project & scenario. Δ = this PR − baseline median; red ▲ = more overhead, green ▽ = less overhead than baseline.

Tests run to verify that CI Visibility behavior has not regressed in the current PR.

@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

CI Visibility Test Environment - okhttp

Job Status: 🟢 success

Scenario This PR (%) 7d median Δ 7d 30d median Δ 30d runs (7d/30d)
agent 18.52 20.39 $\color{green}{\blacktriangledown}$ -1.87 19.99 $\color{green}{\blacktriangledown}$ -1.47 66/156
agentless 18.36 19.99 $\color{green}{\blacktriangledown}$ -1.63 19.59 $\color{green}{\blacktriangledown}$ -1.23 45/128
agentlessCodeCoverage 21.13 23.45 $\color{green}{\blacktriangledown}$ -2.32 22.99 $\color{green}{\blacktriangledown}$ -1.86 42/125
agentlessLineCoverage 38.96 40.25 $\color{green}{\blacktriangledown}$ -1.29 39.45 $\color{green}{\blacktriangledown}$ -0.49 42/126

Baseline: median of @test.tracer_overhead on main (gitlab) over the last 7/30 days, per OSS project & scenario. Δ = this PR − baseline median; red ▲ = more overhead, green ▽ = less overhead than baseline.

Tests run to verify that CI Visibility behavior has not regressed in the current PR.

@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

CI Visibility Test Environment - spring_boot

Job Status: 🟢 success

Scenario This PR (%) 7d median Δ 7d 30d median Δ 30d runs (7d/30d)
agent 16.73 16.36 $\color{red}{\blacktriangle}$ +0.37 16.36 $\color{red}{\blacktriangle}$ +0.37 66/154
agentless 9.60 9.92 $\color{green}{\blacktriangledown}$ -0.32 9.92 $\color{green}{\blacktriangledown}$ -0.32 42/124
agentlessCodeCoverage 13.13 13.67 $\color{green}{\blacktriangledown}$ -0.54 13.67 $\color{green}{\blacktriangledown}$ -0.54 41/123
agentlessLineCoverage 22.57 22.54 $\color{red}{\blacktriangle}$ +0.03 22.54 $\color{red}{\blacktriangle}$ +0.03 40/124

Baseline: median of @test.tracer_overhead on main (gitlab) over the last 7/30 days, per OSS project & scenario. Δ = this PR − baseline median; red ▲ = more overhead, green ▽ = less overhead than baseline.

Tests run to verify that CI Visibility behavior has not regressed in the current PR.

@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

CI Visibility Test Environment - sonar-java

Job Status: 🟢 success

Scenario This PR (%) 7d median Δ 7d 30d median Δ 30d runs (7d/30d)
agent -20.38 13.13 $\color{green}{\blacktriangledown}$ -33.51 13.13 $\color{green}{\blacktriangledown}$ -33.51 66/166
agentless 7.99 12.12 $\color{green}{\blacktriangledown}$ -4.13 11.65 $\color{green}{\blacktriangledown}$ -3.66 44/138
agentlessCodeCoverage 39.43 89.58 $\color{green}{\blacktriangledown}$ -50.15 77.88 $\color{green}{\blacktriangledown}$ -38.45 44/138
agentlessLineCoverage 70.02 123.36 $\color{green}{\blacktriangledown}$ -53.34 118.53 $\color{green}{\blacktriangledown}$ -48.51 42/140

Baseline: median of @test.tracer_overhead on main (gitlab) over the last 7/30 days, per OSS project & scenario. Δ = this PR − baseline median; red ▲ = more overhead, green ▽ = less overhead than baseline.

Tests run to verify that CI Visibility behavior has not regressed in the current PR.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: ci visibility Continuous Integration Visibility comp: logs Logs Product tag: ai generated Largely based on code generated by an AI or LLM type: feature Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant