-
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
chore(asm): asm standalone env var will send apm.enabled=0 #9445
Conversation
Datadog ReportBranch report: ✅ 0 Failed, 145093 Passed, 27704 Skipped, 6h 28m 45.13s Total duration (2h 26m 15.19s time saved) |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #9445 +/- ##
===========================================
- Coverage 75.90% 10.24% -65.67%
===========================================
Files 1301 1273 -28
Lines 123660 121826 -1834
===========================================
- Hits 93861 12476 -81385
- Misses 29799 109350 +79551 ☔ View full report in Codecov by Sentry. |
ASM: This introduces an experimental env var `DD_EXPERIMENTAL_APPSEC_STANDALONE_ENABLED` that will send the tag `apm.enabled` as 0 if used together with `DD_APPSEC_ENABLED=true` ## 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` and `DD_APPSEC_ENABLED=true`: - Doesn't disable Span Processors. - Rate limiting of APM traces is reduced to minimal levels (1 trace per minute). - `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. - Disables metric reporting. ## 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) --------- Co-authored-by: Julio Guerra <julio.guerra@datadoghq.com>
## 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)
ASM: This introduces an experimental env var
DD_EXPERIMENTAL_APPSEC_STANDALONE_ENABLED
that will send the tagapm.enabled
as 0 if used together withDD_APPSEC_ENABLED=true
Checklist
changelog/no-changelog
is set@DataDog/apm-tees
.Reviewer Checklist