Skip to content
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

[ASM] Discard inferred spans when resolving the root span of a trace #4881

Merged
merged 5 commits into from
Nov 21, 2024

Conversation

iunanua
Copy link
Contributor

@iunanua iunanua commented Nov 13, 2024

What does this PR do?

Visit upwards parent spans in order to discard possible inferred spans based on the _inferred_span tag

Motivation

Fix an Appsec SDK trackEvent method problem in serverless environments. SDK root span resolution differs from that of the tracer and tags added by the SDK may be lost if they are added in a inferred span.

Plugin Checklist

Additional Notes

Copy link

github-actions bot commented Nov 13, 2024

Overall package size

Self size: 7.98 MB
Deduped: 94.27 MB
No deduping: 94.61 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.2.2 | 29.27 MB | 29.27 MB | | @datadog/native-appsec | 8.2.1 | 19.18 MB | 19.19 MB | | @datadog/native-iast-taint-tracking | 3.2.0 | 13.9 MB | 13.91 MB | | @datadog/pprof | 5.4.1 | 9.76 MB | 10.13 MB | | protobufjs | 7.2.5 | 2.77 MB | 5.16 MB | | @datadog/native-iast-rewriter | 2.5.0 | 2.51 MB | 2.65 MB | | @opentelemetry/core | 1.14.0 | 872.87 kB | 1.47 MB | | @datadog/native-metrics | 3.0.1 | 1.06 MB | 1.46 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | import-in-the-middle | 1.11.2 | 112.74 kB | 826.22 kB | | msgpack-lite | 0.1.26 | 201.16 kB | 281.59 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | lru-cache | 7.18.3 | 133.92 kB | 133.92 kB | | pprof-format | 2.1.0 | 111.69 kB | 111.69 kB | | @datadog/sketches-js | 2.1.0 | 109.9 kB | 109.9 kB | | semver | 7.6.3 | 95.82 kB | 95.82 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 5.3.1 | 51.46 kB | 51.46 kB | | int64-buffer | 0.1.10 | 49.18 kB | 49.18 kB | | shell-quote | 1.8.1 | 44.96 kB | 44.96 kB | | istanbul-lib-coverage | 3.2.0 | 29.34 kB | 29.34 kB | | rfdc | 1.3.1 | 25.21 kB | 25.21 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | dc-polyfill | 0.1.4 | 23.1 kB | 23.1 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | koalas | 1.0.2 | 6.47 kB | 6.47 kB | | path-to-regexp | 0.1.10 | 6.38 kB | 6.38 kB | | module-details-from-path | 1.0.3 | 4.47 kB | 4.47 kB |

🤖 This report was automatically generated by heaviest-objects-in-the-universe

@iunanua iunanua marked this pull request as ready for review November 13, 2024 14:20
@iunanua iunanua requested a review from a team as a code owner November 13, 2024 14:20
@iunanua iunanua marked this pull request as draft November 13, 2024 14:31
@iunanua iunanua force-pushed the igor/appsec-sdk-inferred-spans branch from 1302c7c to 5195615 Compare November 13, 2024 14:55
@iunanua iunanua marked this pull request as ready for review November 13, 2024 14:57
@pr-commenter
Copy link

pr-commenter bot commented Nov 13, 2024

Benchmarks

Benchmark execution time: 2024-11-14 08:28:28

Comparing candidate commit c52e69a in PR branch igor/appsec-sdk-inferred-spans with baseline commit 9794630 in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 259 metrics, 7 unstable metrics.

IlyasShabi
IlyasShabi previously approved these changes Nov 13, 2024
Copy link
Contributor

@IlyasShabi IlyasShabi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

CarlesDD
CarlesDD previously approved these changes Nov 14, 2024
@iunanua iunanua dismissed stale reviews from CarlesDD and IlyasShabi via c52e69a November 14, 2024 08:20
@iunanua iunanua merged commit 747cd50 into master Nov 21, 2024
222 checks passed
@iunanua iunanua deleted the igor/appsec-sdk-inferred-spans branch November 21, 2024 09:32
rochdev pushed a commit that referenced this pull request Nov 21, 2024
…4881)

* visit upwards parent spans

* Use correct Tracer

* break on undefined parents and test case

* change assertions order

* minor refactor
@rochdev rochdev mentioned this pull request Nov 21, 2024
rochdev pushed a commit that referenced this pull request Nov 21, 2024
…4881)

* visit upwards parent spans

* Use correct Tracer

* break on undefined parents and test case

* change assertions order

* minor refactor
@rochdev rochdev mentioned this pull request Nov 21, 2024
rochdev pushed a commit that referenced this pull request Nov 21, 2024
…4881)

* visit upwards parent spans

* Use correct Tracer

* break on undefined parents and test case

* change assertions order

* minor refactor
rochdev pushed a commit that referenced this pull request Nov 21, 2024
…4881)

* visit upwards parent spans

* Use correct Tracer

* break on undefined parents and test case

* change assertions order

* minor refactor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants