-
Notifications
You must be signed in to change notification settings - Fork 298
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
[DEBUG-2503] Add support for span code origin #4449
base: master
Are you sure you want to change the base?
Conversation
Overall package sizeSelf size: 6.86 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | @datadog/native-appsec | 8.0.1 | 15.59 MB | 15.6 MB | | @datadog/native-iast-taint-tracking | 3.0.0 | 11.14 MB | 11.15 MB | | @datadog/pprof | 5.3.0 | 9.85 MB | 10.22 MB | | protobufjs | 7.2.5 | 2.77 MB | 6.56 MB | | @datadog/native-iast-rewriter | 2.3.1 | 2.15 MB | 2.24 MB | | @opentelemetry/core | 1.14.0 | 872.87 kB | 1.47 MB | | @datadog/native-metrics | 2.0.0 | 898.77 kB | 1.3 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | import-in-the-middle | 1.8.1 | 71.67 kB | 785.15 kB | | msgpack-lite | 0.1.26 | 201.16 kB | 281.59 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 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 | | lru-cache | 7.14.0 | 74.95 kB | 74.95 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 | | 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 | | path-to-regexp | 0.1.7 | 6.78 kB | 6.78 kB | | koalas | 1.0.2 | 6.47 kB | 6.47 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 |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #4449 +/- ##
===========================================
- Coverage 93.38% 69.19% -24.20%
===========================================
Files 100 1 -99
Lines 3160 198 -2962
Branches 33 33
===========================================
- Hits 2951 137 -2814
+ Misses 209 61 -148 ☔ View full report in Codecov by Sentry. |
4f6732a
to
cf52e47
Compare
To enable, set `DD_TRACE_EXPERIMENTAL_SPAN_ORIGIN_ENABLED=true`. By default span origin is only set for spans whos callstack contains user land stack frames. To support span origin on entry spans (i.e. the span automatically created when an incoming HTTP request is being instrumented), one would need to add this to the router instrumentation for each web framework. This commit includes support for span origin on Fastify entry spans only.
cf52e47
to
297bdfa
Compare
This stack of pull requests is managed by Graphite. Learn more about stacking. |
What does this PR do?
This PR adds support for a new feature called "Code Origin for Spans" (previously called "Span Origin"). This feature will, in its most basic form, allow users to see where in their code base a span was started/created.
To enable, set
DD_TRACE_SPAN_ORIGIN_ENABLED=true
.By default, code origin is only set for spans whos callstack contains user land stack frames.
To support code origin on entry spans (i.e. the span automatically created when an incoming HTTP request is being instrumented), one would need to add this to the router instrumentation for each web framework. This PR includes support for code origin on Fastify entry spans only.
For reference, here's a PR that implements Code Origin in the Java tracer: DataDog/dd-trace-java#7001
Motivation
This makes it easier to understand what each span shown in the flame graph represents.
Tasks