dd-trace-py icon indicating copy to clipboard operation
dd-trace-py copied to clipboard

fix(profiling): fix profiling-by-endpoint when using libdatadog

Open sanchda opened this issue 1 year ago • 2 comments

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-changelog is 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

sanchda avatar Apr 19 '24 20:04 sanchda

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%]

pr-commenter[bot] avatar Apr 19 '24 21:04 pr-commenter[bot]

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.

github-actions[bot] avatar Jul 19 '24 00:07 github-actions[bot]