Skip to content

APPSEC-69232 Report DD_APPSEC_AGENTIC_ONBOARDING in config telemetry#4053

Merged
christophe-papazian merged 2 commits into
masterfrom
christophe-papazian/appsec-agentic-onboarding
Jul 22, 2026
Merged

APPSEC-69232 Report DD_APPSEC_AGENTIC_ONBOARDING in config telemetry#4053
christophe-papazian merged 2 commits into
masterfrom
christophe-papazian/appsec-agentic-onboarding

Conversation

@christophe-papazian

Copy link
Copy Markdown
Collaborator

APPSEC-69232

Implements [RFC-1113] — Agentic Onboarding Runtime Detection (Simplified) for
the PHP tracer.

The agentic onboarding solution sets DD_APPSEC_AGENTIC_ONBOARDING=true when it
writes the deployment configuration. This PR registers it as an ordinary
string configuration key (default empty), so its raw value is reported
verbatim in configuration telemetry — with no derived boolean and no code that
reads AppSec's runtime state. Whether AppSec actually started is answered
downstream in Metabase.

Changes

  • ext/configuration.h: add CONFIG(STRING, DD_APPSEC_AGENTIC_ONBOARDING, "").
    The existing telemetry loop (ext/telemetry.c) already reports every
    registered config entry, so the value is emitted on every app-started —
    empty with origin=default when unset, and verbatim with origin=env_var
    (or local/fleet stable config) when set.
  • metadata/supported-configurations.json: declare the key (implementation
    A, type string, default "").
  • Tests (tests/ext/appsec/agentic_onboarding_is_sent_0{1,2}.phpt): assert the
    config is reported with the default empty value + origin=default when unset,
    and verbatim (true) with origin=env_var when set.

Sibling PRs

🤖 Generated with Claude Code

RFC-1113: register DD_APPSEC_AGENTIC_ONBOARDING as an ordinary string
configuration key so its raw value is reported verbatim in configuration
telemetry. Telemetry-only marker set by the agentic onboarding solution;
carries no behavior. Reported on every app-started, empty with
origin=default when unset.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@christophe-papazian christophe-papazian added area:asm c-extension Apply this label to issues and prs related to the C-extension telemetry AI Generated Largely based on code generated by an AI or LLM. This label is the same across all dd-trace-* repos labels Jul 22, 2026
@datadog-datadog-us1-prod

datadog-datadog-us1-prod Bot commented Jul 22, 2026

Copy link
Copy Markdown

Pipelines  Tests

Unblock PR with BitsAI

⚠️ Warnings

🚦 4 Pipeline jobs failed

DataDog/apm-reliability/dd-trace-php | test_web_drupal_95: [7.4, cgi-fcgi]   View in Datadog   GitLab

DataDog/apm-reliability/dd-trace-php | test_web_drupal_95: [7.4, cli-server]   View in Datadog   GitLab

DataDog/apm-reliability/dd-trace-php | installer tests   View in Datadog   GitLab

View all 4 failed jobs.

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

🔄 Datadog auto-retried 8 jobs - 8 passed on retry View in Datadog

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 54.11% (+0.03%)

Useful? React with 👍 / 👎

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

@pr-commenter

pr-commenter Bot commented Jul 22, 2026

Copy link
Copy Markdown

Benchmarks [ tracer ]

Benchmark execution time: 2026-07-22 14:42:57

Comparing candidate commit 503d055 in PR branch christophe-papazian/appsec-agentic-onboarding with baseline commit 2db5578 in branch master.

Found 1 performance improvements and 3 performance regressions! Performance is the same for 189 metrics, 1 unstable metrics.

Explanation

This is an A/B test comparing a candidate commit's performance against that of a baseline commit. Performance changes are noted in the tables below as:

  • 🟩 = significantly better candidate vs. baseline
  • 🟥 = significantly worse candidate vs. baseline

We compute a confidence interval (CI) over the relative difference of means between metrics from the candidate and baseline commits, considering the baseline as the reference.

If the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD), the change is considered significant.

Feel free to reach out to #apm-benchmarking-platform on Slack if you have any questions.

More details about the CI and significant changes

You can imagine this CI as a range of values that is likely to contain the true difference of means between the candidate and baseline commits.

CIs of the difference of means are often centered around 0%, because often changes are not that big:

---------------------------------(------|---^--------)-------------------------------->
                              -0.6%    0%  0.3%     +1.2%
                                 |          |        |
         lower bound of the CI --'          |        |
sample mean (center of the CI) -------------'        |
         upper bound of the CI ----------------------'

As described above, a change is considered significant if the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD).

For instance, for an execution time metric, this confidence interval indicates a significantly worse performance:

----------------------------------------|---------|---(---------^---------)---------->
                                       0%        1%  1.3%      2.2%      3.1%
                                                  |   |         |         |
       significant impact threshold --------------'   |         |         |
                      lower bound of CI --------------'         |         |
       sample mean (center of the CI) --------------------------'         |
                      upper bound of CI ----------------------------------'

scenario:MessagePackSerializationBench/benchMessagePackSerialization

  • 🟩 execution_time [-5.187µs; -2.653µs] or [-4.843%; -2.477%]

scenario:PDOBench/benchPDOOverhead

  • 🟥 execution_time [+6.108µs; +9.362µs] or [+2.358%; +3.614%]

scenario:PDOBench/benchPDOOverheadWithDBM

  • 🟥 execution_time [+8.675µs; +11.507µs] or [+3.359%; +4.456%]

scenario:PHPRedisBench/benchRedisOverhead

  • 🟥 execution_time [+38.370µs; +57.802µs] or [+3.756%; +5.658%]

@christophe-papazian
christophe-papazian marked this pull request as ready for review July 22, 2026 15:42
@christophe-papazian
christophe-papazian requested a review from a team as a code owner July 22, 2026 15:42
@christophe-papazian
christophe-papazian merged commit 262f8b8 into master Jul 22, 2026
2141 of 2158 checks passed
@christophe-papazian
christophe-papazian deleted the christophe-papazian/appsec-agentic-onboarding branch July 22, 2026 16:05
@github-actions github-actions Bot added this to the 1.24.0 milestone Jul 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI Generated Largely based on code generated by an AI or LLM. This label is the same across all dd-trace-* repos area:asm c-extension Apply this label to issues and prs related to the C-extension telemetry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants