dd-trace-py
dd-trace-py copied to clipboard
fix(profiling): fix profiling-by-endpoint when using libdatadog
Profiling-by-endpoint doesn't work when using the libdatadog uploader because it uses a completely wrong mechanism for traversing the span object.
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 are followed or label
changelog/no-changelogis set - [x] Documentation is included (in-code, generated user docs, public corp docs)
- [x] Backport labels are set (if applicable)
- [x] If this PR changes the public interface, I've notified
@DataDog/apm-tees.
Reviewer Checklist
- [ ] Title is accurate
- [ ] All changes are related to the pull request's stated goal
- [ ] Description motivates each change
- [ ] Avoids breaking API changes
- [ ] Testing strategy adequately addresses listed risks
- [ ] Change is maintainable (easy to change, telemetry, documentation)
- [ ] Release note makes sense to a user of the library
- [ ] 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
Datadog Report
Branch report: sanchda/fix_libddup_endpoint
Commit report: c5484af
Test service: dd-trace-py
:white_check_mark: 0 Failed, 169 Passed, 881 Skipped, 34m 25.86s Total duration (48m 48.13s time saved)
Benchmarks
Benchmark execution time: 2024-04-19 22:05:16
Comparing candidate commit c5484af6f9b0debf6aef0b02528bfbff00b3c0cb in PR branch sanchda/fix_libddup_endpoint with baseline commit 7a1d0f5764aba2be57765aae6325b7af3d2c5f70 in branch main.
Found 1 performance improvements and 8 performance regressions! Performance is the same for 192 metrics, 9 unstable metrics.
scenario:httppropagationextract-wsgi_empty_headers
- 🟥
max_rss_usage[+691.307KB; +760.725KB] or [+3.265%; +3.593%]
scenario:httppropagationextract-wsgi_invalid_priority_header
- 🟥
max_rss_usage[+853.531KB; +929.458KB] or [+4.069%; +4.431%]
scenario:httppropagationextract-wsgi_invalid_span_id_header
- 🟥
max_rss_usage[+702.617KB; +773.582KB] or [+3.318%; +3.653%]
scenario:httppropagationextract-wsgi_invalid_trace_id_header
- 🟥
max_rss_usage[+847.256KB; +929.999KB] or [+4.043%; +4.438%]
scenario:httppropagationextract-wsgi_large_header_no_matches
- 🟥
max_rss_usage[+605.383KB; +746.706KB] or [+2.848%; +3.513%]
scenario:httppropagationextract-wsgi_medium_header_no_matches
- 🟥
max_rss_usage[+691.387KB; +754.910KB] or [+3.260%; +3.559%]
scenario:otelspan-start-finish-telemetry
- 🟩
max_rss_usage[-774.758KB; -680.141KB] or [-3.342%; -2.934%]
scenario:sethttpmeta-all-disabled
- 🟥
max_rss_usage[+488.385KB; +737.548KB] or [+2.257%; +3.409%]
scenario:sethttpmeta-obfuscation-regular-case-implicit-query
- 🟥
max_rss_usage[+642.575KB; +819.287KB] or [+2.957%; +3.770%]
This pull request has been automatically closed after a period of inactivity. After this much time, it will likely be easier to open a new pull request with the same changes than to update this one from the base branch. Please comment or reopen if you think this pull request was closed in error.