-
Notifications
You must be signed in to change notification settings - Fork 408
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(asm): standalone asm #9211
Conversation
Datadog ReportBranch report: ✅ 0 Failed, 134478 Passed, 39173 Skipped, 5h 55m 58.19s Total duration (2h 49m 3.77s time saved) |
BenchmarksBenchmark execution time: 2024-05-29 12:15:10 Comparing candidate commit f88da3d in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 209 metrics, 9 unstable metrics. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #9211 +/- ##
===========================================
- Coverage 75.96% 10.34% -65.62%
===========================================
Files 1303 1273 -30
Lines 123882 122094 -1788
===========================================
- Hits 94101 12631 -81470
- Misses 29781 109463 +79682 ☔ View full report in Codecov by Sentry. |
Mainly, make sure previous headers are reused at writer recreate
Co-authored-by: Julio Guerra <julio.guerra@datadoghq.com>
6ee4e75
to
efe2fb2
Compare
## Description: ASM: adds Standalone ASM distributed propagation changes as described in "RFC: Standalone ASM billing V2". For the full picture of this feature, see: #9211 , #9444 and #9445 See also System Tests related changes: DataDog/system-tests#2522 ## Details: The main change is that if ASM Standalone is enabled, propagation of distributed spans would reset (from upstream) unless they are part of a distributed span where there are AppSec events (signaled through the propagation tag _dd.p.appsec: 1). It will also cut propagation downstream if there are no appsec events in the current or upstream spans. Notice that AppSec events trigger a force keep, and that takes precedence over the received propagation in this PR. Also notice that most tests start by creating a first span without an appsec event. This is due to the fact that ASM Standalone needs to maintain a minimum rate of 1 trace per minute regardless of upstream propagation or appsec events present, so that way we are not affected by that rate in the test. ## Checklist - [x] Change(s) are motivated and described in the PR description - [x] Testing strategy is described if automated tests are not included in the PR - [x] Risks are described (performance impact, potential for breakage, maintainability) - [x] Change is maintainable (easy to change, telemetry, documentation) - [x] [Library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) are followed or label `changelog/no-changelog` is set - [x] Documentation is included (in-code, generated user docs, [public corp docs](https://github.com/DataDog/documentation/)) - [x] Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) - [x] If this PR changes the public interface, I've notified `@DataDog/apm-tees`. ## Reviewer Checklist - [x] Title is accurate - [x] All changes are related to the pull request's stated goal - [x] Description motivates each change - [x] Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - [x] Testing strategy adequately addresses listed risks - [x] Change is maintainable (easy to change, telemetry, documentation) - [x] Release note makes sense to a user of the library - [x] Author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - [x] Backport labels are set in a manner that is consistent with the [release branch maintenance policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
Description
This PR allows ASM customers to disable APM, and use only ASM features. To have the full picture, see also #9444 and #9445.
Details
It involves changes when opting out from APM with
DD_EXPERIMENTAL_APPSEC_STANDALONE_ENABLED=true
andDD_APPSEC_ENABLED=true
:Datadog-Client-Computed-Stats
header is sent to the agent so it doesn't compute stats on its end, but they aren't computed on the library side either.Checklist
changelog/no-changelog
is set@DataDog/apm-tees
.Reviewer Checklist