feat(appsec): add metric for unsupported lambda event types#13855
Merged
florentinl merged 2 commits intomainfrom Jul 4, 2025
Merged
feat(appsec): add metric for unsupported lambda event types#13855florentinl merged 2 commits intomainfrom
florentinl merged 2 commits intomainfrom
Conversation
Contributor
|
|
11 tasks
Contributor
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 276 ± 3 ms. The average import time from base is: 278 ± 2 ms. The import time difference between this PR and base is: -2.2 ± 0.1 ms. Import time breakdownThe following import paths have shrunk:
|
c7ddb8d to
f1333c7
Compare
BenchmarksBenchmark execution time: 2025-07-03 13:37:26 Comparing candidate commit eac244e in PR branch Found 0 performance improvements and 2 performance regressions! Performance is the same for 545 metrics, 3 unstable metrics. scenario:iastaspects-strip_aspect
scenario:telemetryaddmetric-1-distribution-metric-1-times
|
f1333c7 to
ef1d128
Compare
ef1d128 to
5535a85
Compare
5535a85 to
eac244e
Compare
christophe-papazian
approved these changes
Jul 3, 2025
happynancee
pushed a commit
that referenced
this pull request
Jul 7, 2025
## Motivation Avoid billing when Appsec is enabled for unsupported lambda events. To keep track of executions with unsupported events, we add a span metric. ## Changes - Selectively skip processing the span based on the event To make the information available, I used the same pattern as the asm context initialization by storing temporary information inside the `ExecutionContext`. The only difference is that in the case of lambda we only have a single global `ExecutionContext` so we have to clean it up. ## Notes This PR relies on: DataDog/datadog-lambda-python#627 ## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [x] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - 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)
alyshawang
pushed a commit
that referenced
this pull request
Jul 25, 2025
## Motivation Avoid billing when Appsec is enabled for unsupported lambda events. To keep track of executions with unsupported events, we add a span metric. ## Changes - Selectively skip processing the span based on the event To make the information available, I used the same pattern as the asm context initialization by storing temporary information inside the `ExecutionContext`. The only difference is that in the case of lambda we only have a single global `ExecutionContext` so we have to clean it up. ## Notes This PR relies on: DataDog/datadog-lambda-python#627 ## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [x] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - 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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Avoid billing when Appsec is enabled for unsupported lambda events. To keep track of executions with unsupported events, we add a span metric.
Changes
To make the information available, I used the same pattern as the asm context initialization by storing temporary information inside the
ExecutionContext.The only difference is that in the case of lambda we only have a single global
ExecutionContextso we have to clean it up.Notes
This PR relies on: DataDog/datadog-lambda-python#627
Checklist
Reviewer Checklist