Skip to content

feat(telemetry): report AppSec product state - #364

Closed
e-n-0 wants to merge 2 commits into
DataDog:mainfrom
e-n-0:flavien.darche/appsec-app-started-telemetry
Closed

feat(telemetry): report AppSec product state#364
e-n-0 wants to merge 2 commits into
DataDog:mainfrom
e-n-0:flavien.darche/appsec-app-started-telemetry

Conversation

@e-n-0

@e-n-0 e-n-0 commented Sep 2, 2026

Copy link
Copy Markdown
Member

What does this PR do?

  • registers AppSec in app-started telemetry with a disabled default state
  • preserves caller-supplied AppSec state so integrations remain authoritative
  • nests product initialization errors under the corresponding product payload

dd-trace-cpp does not own the AppSec lifecycle, so the fallback is disabled. Integrations with AppSec support can populate telemetry.products with their actual enabled, version, and error state; that supplied state takes precedence.

Motivation

C++ tracer app-started events currently omit products.appsec, unlike the telemetry expected by system-tests and other Datadog tracers. This leaves product registration and startup state unavailable to telemetry consumers.

Validation

  • cmake --build build -j4
  • ./build/test/tests (199862 assertions in 135 test cases)
  • standalone tracer driver captured products.appsec as {"enabled":false,"version":"v2.2.1"}
  • clangd diagnostics: no errors in changed files

@e-n-0

e-n-0 commented Sep 2, 2026

Copy link
Copy Markdown
Member Author

Closing in favor of #365. AppSec lifecycle state is owned by the integration (not dd-trace-cpp), so the core fallback was misleading. The serializer fix remains in #365, and the authoritative NGINX state wiring will be proposed in nginx-datadog.

@e-n-0 e-n-0 closed this Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant