Skip to content

Report agentic onboarding marker in configuration telemetry (RFC-1113)#11983

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 2 commits into
masterfrom
christophe-papazian/appsec-agentic-onboarding-telemetry
Jul 22, 2026
Merged

Report agentic onboarding marker in configuration telemetry (RFC-1113)#11983
gh-worker-dd-mergequeue-cf854d[bot] merged 2 commits into
masterfrom
christophe-papazian/appsec-agentic-onboarding-telemetry

Conversation

@christophe-papazian

@christophe-papazian christophe-papazian commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

What Does This Do

Implements RFC-1113 (supersedes RFC-1110) — a runtime telemetry signal that a service was onboarded by the AAP agentic onboarding solution.

DD_APPSEC_AGENTIC_ONBOARDING is registered as an ordinary string configuration key. Its value is reported verbatim in the app-started configuration telemetry through the standard config pipeline, with the usual origin. It is always emitted — empty string with origin=default when unset.

There is no derived boolean and no code reading AppSec's runtime state. Whether AppSec actually came up is computed downstream in Metabase by joining this marker against existing AppSec telemetry (e.g. appsec.enabled), so all "did it work" logic lives in one place instead of being duplicated across tracers.

Why the simplification

RFC-1110 computed a per-tracer boolean from AppSec's active state at startup, requiring new logic (and a WAF-state read) in every tracer. RFC-1113 drops all of that: the value is a pass-through of a registered config key, which every tracer already reports automatically.

Changes

  • AppSecConfig — new APPSEC_AGENTIC_ONBOARDING key.
  • ConfigDefaults — default empty string.
  • Config — read the value via the standard config provider, getter, toString.
  • metadata/supported-configurations.json — register DD_APPSEC_AGENTIC_ONBOARDING (string).

Testing

No tracer-specific logic to unit-test — this is a standard registered config key reported through the existing config-telemetry path. Runtime behavior is validated by system tests (APPSEC-69171) and the Metabase funnel per RFC-1113.

🤖 Generated with Claude Code

@christophe-papazian christophe-papazian added type: feature Enhancements and improvements comp: asm waf Application Security Management (WAF) comp: telemetry Telemetry tag: ai generated Largely based on code generated by an AI or LLM labels Jul 17, 2026
@christophe-papazian

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 79d7375567

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@datadog-prod-us1-3

datadog-prod-us1-3 Bot commented Jul 17, 2026

Copy link
Copy Markdown

🎯 Code Coverage (details)
Patch Coverage: 0.00%
Overall Coverage: 57.33% (-0.02%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 2da690c | Docs | Datadog PR Page | Give us feedback!

@christophe-papazian
christophe-papazian force-pushed the christophe-papazian/appsec-agentic-onboarding-telemetry branch from 79d7375 to b91b3e2 Compare July 17, 2026 13:40
@dd-octo-sts

dd-octo-sts Bot commented Jul 17, 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 13.96 s 13.89 s [-0.2%; +1.3%] (no difference)
startup:insecure-bank:tracing:Agent 12.91 s 13.02 s [-1.7%; -0.0%] (maybe better)
startup:petclinic:appsec:Agent 16.93 s 16.82 s [-0.3%; +1.7%] (no difference)
startup:petclinic:iast:Agent 16.98 s 16.95 s [-0.6%; +1.0%] (no difference)
startup:petclinic:profiling:Agent 16.88 s 16.84 s [-1.0%; +1.5%] (no difference)
startup:petclinic:sca:Agent 16.24 s 16.82 s [-9.0%; +2.1%] (unstable)
startup:petclinic:tracing:Agent 16.11 s 16.00 s [-0.3%; +1.6%] (no difference)

Commit: 2392d857 · 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.

@christophe-papazian
christophe-papazian marked this pull request as ready for review July 17, 2026 15:16
@christophe-papazian
christophe-papazian requested review from a team as code owners July 17, 2026 15:16
@christophe-papazian
christophe-papazian requested review from PerfectSlayer, dromanol, manuel-alvarez-alvarez and mhlidd and removed request for a team July 17, 2026 15:16

@datadog-prod-us1-3 datadog-prod-us1-3 Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Datadog Autotest: PASS

More details

Validated across three standalone test programs covering 26 adversarial scenarios (origin precedence/presence-only semantics, key transformations, APPSEC_WAF_STARTED state management in all startup paths, and finally-block behavior). All scenarios pass: the DD_APPSEC_AGENTIC_ONBOARDING env var key is derived consistently across all lookup paths, the flag reports false for every non-WAF-started case (disabled, WAF init failure, exception path), and AgenticOnboarding.report() fires in the finally block under all conditions including AppSec errors.

Was this helpful? React 👍 or 👎

📊 Validated against 26 scenarios · Open Bits AI session

🤖 Datadog Autotest · Commit b91b3e2 · What is Autotest? · Any feedback? Reach out in #autotest

@e-n-0 e-n-0 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
However we might want to update the Feature Parity Dashboard to also set the config key that is special for java.

@PerfectSlayer PerfectSlayer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need a review from SDK team or @mhlidd before merging.
I find it suspicious it needs to re-implement config origin on top of the existing config telemetry reporting system.
That might be related with Config loading time but better double checking first before.

@christophe-papazian
christophe-papazian marked this pull request as draft July 21, 2026 12:37
@christophe-papazian
christophe-papazian force-pushed the christophe-papazian/appsec-agentic-onboarding-telemetry branch from b91b3e2 to d9c93f6 Compare July 21, 2026 12:56
@christophe-papazian christophe-papazian changed the title Add AppSec agentic onboarding runtime telemetry (RFC-1110) Add AppSec agentic onboarding runtime telemetry (RFC-1113) Jul 21, 2026
@christophe-papazian
christophe-papazian force-pushed the christophe-papazian/appsec-agentic-onboarding-telemetry branch from d9c93f6 to c9b6e38 Compare July 21, 2026 13:07
@christophe-papazian christophe-papazian changed the title Add AppSec agentic onboarding runtime telemetry (RFC-1113) Report agentic onboarding marker in configuration telemetry (RFC-1113) Jul 21, 2026
Register DD_APPSEC_AGENTIC_ONBOARDING as an ordinary string configuration
so its value is reported verbatim in the app-started configuration
telemetry through the standard config pipeline. It is always emitted
(empty string with origin=default when unset).

Per RFC-1113 (which supersedes RFC-1110) there is no derived boolean and
no code reading AppSec's runtime state: activation/drop-off is computed
downstream in Metabase by joining this marker against existing AppSec
telemetry. This removes all the tracer-side logic the previous approach
required.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@christophe-papazian
christophe-papazian force-pushed the christophe-papazian/appsec-agentic-onboarding-telemetry branch from c9b6e38 to 2392d85 Compare July 21, 2026 13:12

@datadog-prod-us1-3 datadog-prod-us1-3 Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Datadog Autotest: PASS

More details

The change correctly wires DD_APPSEC_AGENTIC_ONBOARDING as a pass-through string config key into the standard ConfigCollector/app-started telemetry pipeline. The key-to-env-var mapping (appsec.agentic_onboardingDD_APPSEC_AGENTIC_ONBOARDING), the empty-string default, and the metadata JSON entry are all consistent; no filtering in the serialization path strips the empty-string default value. Gradle tests could not execute due to a missing Java 25 toolchain (pre-existing sandbox constraint), but all 4 changed files were verified correct by thorough static analysis and traced end-to-end through the telemetry pipeline code.

Was this helpful? React 👍 or 👎

📊 Validated against 6 scenarios · Open Bits AI session

🤖 Datadog Autotest · Commit 2392d85 · What is Autotest? · Any feedback? Reach out in #autotest

@christophe-papazian
christophe-papazian added this pull request to the merge queue Jul 21, 2026
@dd-octo-sts

dd-octo-sts Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351 Bot commented Jul 21, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-07-21 14:05:11 UTC ℹ️ Start processing command /merge


2026-07-21 14:05:16 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 1h (p90).


2026-07-21 14:21:46 UTCMergeQueue: The build pipeline contains failing jobs for this merge request

Build pipeline has failing jobs for 83d9f61:

⚠️ Do NOT retry failed jobs directly (why?).

What to do next?

  • Investigate the failures and when ready, re-add your pull request to the queue!
  • If your PR checks are green, try to rebase/merge. It might be because the CI run is a bit old.
  • Any question, go check the FAQ.
Details

Since those jobs are not marked as being allowed to fail, the pipeline will most likely fail.
Therefore, and to allow other builds to be processed, this merge request has been rejected and the pipeline got canceled.

@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 21, 2026
@christophe-papazian
christophe-papazian added this pull request to the merge queue Jul 21, 2026
@dd-octo-sts

dd-octo-sts Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351 Bot commented Jul 21, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-07-21 14:33:30 UTC ℹ️ Start processing command /merge


2026-07-21 14:33:34 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 1h (p90).


2026-07-21 15:52:17 UTCMergeQueue: The build pipeline contains failing jobs for this merge request

Build pipeline has failing jobs for 0bdc804:

⚠️ Do NOT retry failed jobs directly (why?).

What to do next?

  • Investigate the failures and when ready, re-add your pull request to the queue!
  • If your PR checks are green, try to rebase/merge. It might be because the CI run is a bit old.
  • Any question, go check the FAQ.
Details

Since those jobs are not marked as being allowed to fail, the pipeline will most likely fail.
Therefore, and to allow other builds to be processed, this merge request has been rejected and the pipeline got canceled.

@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 21, 2026
@christophe-papazian
christophe-papazian added this pull request to the merge queue Jul 22, 2026
@dd-octo-sts

dd-octo-sts Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351 Bot commented Jul 22, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-07-22 08:45:45 UTC ℹ️ Start processing command /merge


2026-07-22 08:45:50 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 1h (p90).


2026-07-22 09:07:57 UTCMergeQueue: The build pipeline contains failing jobs for this merge request

Build pipeline has failing jobs for b782da3:

⚠️ Do NOT retry failed jobs directly (why?).

What to do next?

  • Investigate the failures and when ready, re-add your pull request to the queue!
  • If your PR checks are green, try to rebase/merge. It might be because the CI run is a bit old.
  • Any question, go check the FAQ.
Details

Since those jobs are not marked as being allowed to fail, the pipeline will most likely fail.
Therefore, and to allow other builds to be processed, this merge request has been rejected and the pipeline got canceled.

@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 22, 2026
@christophe-papazian
christophe-papazian added this pull request to the merge queue Jul 22, 2026
@dd-octo-sts

dd-octo-sts Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351 Bot commented Jul 22, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-07-22 09:09:50 UTC ℹ️ Start processing command /merge


2026-07-22 09:09:55 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 1h (p90).


2026-07-22 09:27:07 UTC ⚠️ MergeQueue: This merge request build was cancelled

christophe.papazian@datadoghq.com cancelled this merge request build

@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 22, 2026
@christophe-papazian
christophe-papazian added this pull request to the merge queue Jul 22, 2026
@dd-octo-sts

dd-octo-sts Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351 Bot commented Jul 22, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-07-22 09:39:09 UTC ℹ️ Start processing command /merge


2026-07-22 09:39:15 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 1h (p90).


2026-07-22 10:33:55 UTC ℹ️ MergeQueue: This merge request was merged

@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 22, 2026
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot merged commit 613b386 into master Jul 22, 2026
783 of 785 checks passed
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot deleted the christophe-papazian/appsec-agentic-onboarding-telemetry branch July 22, 2026 10:33
@github-actions github-actions Bot added this to the 1.65.0 milestone Jul 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: asm waf Application Security Management (WAF) comp: telemetry Telemetry 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.

4 participants