dd-trace-py
dd-trace-py copied to clipboard
Teague.bick/accupath
Checklist
- [ ] Change(s) are motivated and described in the PR description
- [ ] Testing strategy is described if automated tests are not included in the PR
- [ ] Risks are described (performance impact, potential for breakage, maintainability)
- [ ] Change is maintainable (easy to change, telemetry, documentation)
- [ ] Library release note guidelines are followed or label
changelog/no-changelog
is set - [ ] Documentation is included (in-code, generated user docs, public corp docs)
- [ ] Backport labels are set (if applicable)
- [ ] If this PR changes the public interface, I've notified
@DataDog/apm-tees
. - [ ] If change touches code that signs or publishes builds or packages, or handles credentials of any kind, I've requested a review from
@DataDog/security-design-and-guidance
.
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
Benchmarks
Benchmark execution time: 2024-02-09 22:13:11
Comparing candidate commit 44d8f9f23819ea78d13dbd6b819aa3a10baf3d26 in PR branch teague.bick/accupath
with baseline commit 0fe647ea8efb5994df30e8aa6cb59b07bc2b3d79 in branch main
.
Found 2 performance improvements and 91 performance regressions! Performance is the same for 68 metrics, 9 unstable metrics.
scenario:coreapiscenario-context_with_data_listeners
- ๐ฅ
max_rss_usage
[+2.435MB; +2.605MB] or [+8.139%; +8.708%]
scenario:coreapiscenario-context_with_data_listeners_and_all_listeners
- ๐ฅ
max_rss_usage
[+3.187MB; +3.354MB] or [+10.919%; +11.492%]
scenario:coreapiscenario-context_with_data_no_listeners
- ๐ฅ
max_rss_usage
[+3.181MB; +3.310MB] or [+10.606%; +11.038%]
scenario:coreapiscenario-context_with_data_only_all_listeners
- ๐ฅ
max_rss_usage
[+2.898MB; +3.067MB] or [+9.909%; +10.486%]
scenario:coreapiscenario-core_dispatch_listeners
- ๐ฅ
max_rss_usage
[+2.437MB; +2.653MB] or [+8.144%; +8.868%]
scenario:coreapiscenario-core_dispatch_listeners_and_all_listeners
- ๐ฅ
max_rss_usage
[+3.058MB; +3.225MB] or [+10.179%; +10.735%]
scenario:coreapiscenario-core_dispatch_no_listeners
- ๐ฅ
max_rss_usage
[+3.087MB; +3.268MB] or [+10.305%; +10.911%]
scenario:coreapiscenario-core_dispatch_only_all_listeners
- ๐ฅ
max_rss_usage
[+3.206MB; +3.381MB] or [+10.704%; +11.286%]
scenario:coreapiscenario-core_dispatch_with_results_listeners
- ๐ฅ
max_rss_usage
[+2.988MB; +3.156MB] or [+10.238%; +10.816%]
scenario:coreapiscenario-core_dispatch_with_results_listeners_and_all_listeners
- ๐ฅ
max_rss_usage
[+3.238MB; +3.422MB] or [+10.835%; +11.450%]
scenario:coreapiscenario-core_dispatch_with_results_no_listeners
- ๐ฅ
max_rss_usage
[+3.874MB; +4.060MB] or [+13.264%; +13.900%]
scenario:coreapiscenario-core_dispatch_with_results_only_all_listeners
- ๐ฅ
max_rss_usage
[+3.125MB; +3.292MB] or [+10.690%; +11.262%]
scenario:coreapiscenario-get_item_exists
- ๐ฅ
execution_time
[+661.478ns; +673.781ns] or [+104.358%; +106.298%] - ๐ฅ
max_rss_usage
[+3.156MB; +3.346MB] or [+10.548%; +11.183%]
scenario:coreapiscenario-get_item_missing
- ๐ฅ
execution_time
[+675.555ns; +685.689ns] or [+95.610%; +97.044%] - ๐ฅ
max_rss_usage
[+3.260MB; +3.397MB] or [+10.901%; +11.358%]
scenario:coreapiscenario-set_item
- ๐ฅ
max_rss_usage
[+3.857MB; +4.039MB] or [+13.201%; +13.826%]
scenario:flasksimple-appsec-get
- ๐ฅ
max_rss_usage
[+2.978MB; +3.162MB] or [+8.355%; +8.871%] - ๐ฉ
execution_time
[-287.541ยตs; -246.281ยตs] or [-4.374%; -3.747%]
scenario:flasksimple-appsec-post
- ๐ฅ
max_rss_usage
[+2.977MB; +3.120MB] or [+8.323%; +8.724%]
scenario:flasksimple-appsec-telemetry
- ๐ฅ
max_rss_usage
[+3.014MB; +3.119MB] or [+8.270%; +8.559%] - ๐ฉ
execution_time
[-280.117ยตs; -219.816ยตs] or [-4.275%; -3.354%]
scenario:flasksimple-baseline
- ๐ฅ
max_rss_usage
[+2.960MB; +3.099MB] or [+8.126%; +8.509%]
scenario:flasksimple-debugger
- ๐ฅ
max_rss_usage
[+2.944MB; +3.115MB] or [+8.083%; +8.554%]
scenario:flasksimple-iast-get
- ๐ฅ
max_rss_usage
[+2.916MB; +3.062MB] or [+8.011%; +8.411%]
scenario:flasksimple-profiler
- ๐ฅ
max_rss_usage
[+2.911MB; +3.102MB] or [+8.001%; +8.527%]
scenario:flasksimple-tracer
- ๐ฅ
max_rss_usage
[+2.947MB; +3.116MB] or [+8.102%; +8.568%]
scenario:httppropagationextract-all_styles_all_headers
- ๐ฅ
execution_time
[+111.889ยตs; +112.281ยตs] or [+199.270%; +199.968%] - ๐ฅ
max_rss_usage
[+3.270MB; +3.398MB] or [+11.164%; +11.601%]
scenario:httppropagationextract-b3_headers
- ๐ฅ
max_rss_usage
[+3.287MB; +3.402MB] or [+10.964%; +11.348%]
scenario:httppropagationextract-b3_single_headers
- ๐ฅ
max_rss_usage
[+3.970MB; +4.098MB] or [+13.581%; +14.020%]
scenario:httppropagationextract-datadog_tracecontext_tracestate_not_propagated_on_trace_id_no_match
- ๐ฅ
execution_time
[+78.102ยตs; +79.122ยตs] or [+180.827%; +183.189%] - ๐ฅ
max_rss_usage
[+4.009MB; +4.125MB] or [+13.675%; +14.071%]
scenario:httppropagationextract-datadog_tracecontext_tracestate_propagated_on_trace_id_match
- ๐ฅ
execution_time
[+78.414ยตs; +78.794ยตs] or [+194.588%; +195.531%] - ๐ฅ
max_rss_usage
[+3.203MB; +3.298MB] or [+10.667%; +10.986%]
scenario:httppropagationextract-empty_headers
- ๐ฅ
max_rss_usage
[+3.912MB; +4.026MB] or [+13.354%; +13.745%]
scenario:httppropagationextract-full_t_id_datadog_headers
- ๐ฅ
execution_time
[+56.019ยตs; +56.308ยตs] or [+415.875%; +418.021%] - ๐ฅ
max_rss_usage
[+3.275MB; +3.392MB] or [+11.202%; +11.599%]
scenario:httppropagationextract-invalid_priority_header
- ๐ฅ
max_rss_usage
[+3.817MB; +3.941MB] or [+12.995%; +13.418%]
scenario:httppropagationextract-invalid_span_id_header
- ๐ฅ
max_rss_usage
[+3.260MB; +3.374MB] or [+11.153%; +11.541%]
scenario:httppropagationextract-invalid_trace_id_header
- ๐ฅ
max_rss_usage
[+3.180MB; +3.308MB] or [+10.596%; +11.022%]
scenario:httppropagationextract-large_header_no_matches
- ๐ฅ
max_rss_usage
[+3.235MB; +3.329MB] or [+11.045%; +11.367%]
scenario:httppropagationextract-large_valid_headers_all
- ๐ฅ
max_rss_usage
[+3.205MB; +3.311MB] or [+10.943%; +11.304%]
scenario:httppropagationextract-medium_header_no_matches
- ๐ฅ
max_rss_usage
[+3.350MB; +3.462MB] or [+11.470%; +11.855%]
scenario:httppropagationextract-medium_valid_headers_all
- ๐ฅ
max_rss_usage
[+3.270MB; +3.404MB] or [+11.181%; +11.639%]
scenario:httppropagationextract-none_propagation_style
- ๐ฅ
max_rss_usage
[+2.502MB; +2.598MB] or [+8.344%; +8.666%]
scenario:httppropagationextract-tracecontext_headers
- ๐ฅ
max_rss_usage
[+3.942MB; +4.071MB] or [+13.459%; +13.899%]
scenario:httppropagationextract-valid_headers_all
- ๐ฅ
max_rss_usage
[+3.995MB; +4.122MB] or [+13.660%; +14.097%]
scenario:httppropagationextract-valid_headers_basic
- ๐ฅ
max_rss_usage
[+3.909MB; +4.023MB] or [+13.352%; +13.738%]
scenario:httppropagationextract-wsgi_empty_headers
- ๐ฅ
max_rss_usage
[+3.313MB; +3.444MB] or [+11.067%; +11.504%]
scenario:httppropagationextract-wsgi_invalid_priority_header
- ๐ฅ
max_rss_usage
[+4.188MB; +4.289MB] or [+14.426%; +14.774%]
scenario:httppropagationextract-wsgi_invalid_span_id_header
- ๐ฅ
max_rss_usage
[+3.952MB; +4.081MB] or [+13.518%; +13.961%]
scenario:httppropagationextract-wsgi_invalid_trace_id_header
- ๐ฅ
max_rss_usage
[+3.205MB; +3.321MB] or [+10.697%; +11.084%]
scenario:httppropagationextract-wsgi_large_header_no_matches
- ๐ฅ
max_rss_usage
[+2.484MB; +2.602MB] or [+8.273%; +8.664%]
scenario:httppropagationextract-wsgi_large_valid_headers_all
- ๐ฅ
max_rss_usage
[+2.520MB; +2.630MB] or [+8.403%; +8.770%]
scenario:httppropagationextract-wsgi_medium_header_no_matches
- ๐ฅ
max_rss_usage
[+2.546MB; +2.659MB] or [+8.502%; +8.879%]
scenario:httppropagationextract-wsgi_medium_valid_headers_all
- ๐ฅ
max_rss_usage
[+2.561MB; +2.680MB] or [+8.548%; +8.946%]
scenario:httppropagationextract-wsgi_valid_headers_all
- ๐ฅ
max_rss_usage
[+3.274MB; +3.385MB] or [+11.192%; +11.569%]
scenario:httppropagationextract-wsgi_valid_headers_basic
- ๐ฅ
max_rss_usage
[+3.164MB; +3.269MB] or [+10.535%; +10.886%]
scenario:httppropagationinject-ids_only
- ๐ฅ
execution_time
[+11.484ยตs; +11.558ยตs] or [+144.339%; +145.269%] - ๐ฅ
max_rss_usage
[+3.995MB; +4.066MB] or [+13.662%; +13.903%]
scenario:httppropagationinject-with_all
- ๐ฅ
execution_time
[+13.799ยตs; +13.941ยตs] or [+73.765%; +74.523%] - ๐ฅ
max_rss_usage
[+3.941MB; +4.030MB] or [+13.469%; +13.772%]
scenario:httppropagationinject-with_dd_origin
- ๐ฅ
execution_time
[+12.462ยตs; +12.578ยตs] or [+101.438%; +102.375%] - ๐ฅ
max_rss_usage
[+3.237MB; +3.302MB] or [+10.785%; +11.004%]
scenario:httppropagationinject-with_priority_and_origin
- ๐ฅ
execution_time
[+12.795ยตs; +12.897ยตs] or [+91.398%; +92.127%] - ๐ฅ
max_rss_usage
[+3.940MB; +4.001MB] or [+13.445%; +13.651%]
scenario:httppropagationinject-with_sampling_priority
- ๐ฅ
execution_time
[+11.686ยตs; +11.786ยตs] or [+118.383%; +119.396%] - ๐ฅ
max_rss_usage
[+3.233MB; +3.318MB] or [+11.042%; +11.335%]
scenario:httppropagationinject-with_tags
- ๐ฅ
execution_time
[+12.927ยตs; +13.051ยตs] or [+95.268%; +96.186%] - ๐ฅ
max_rss_usage
[+2.494MB; +2.572MB] or [+8.318%; +8.580%]
scenario:httppropagationinject-with_tags_invalid
- ๐ฅ
execution_time
[+13.123ยตs; +13.246ยตs] or [+83.968%; +84.752%] - ๐ฅ
max_rss_usage
[+3.252MB; +3.334MB] or [+10.850%; +11.120%]
scenario:httppropagationinject-with_tags_max_size
- ๐ฅ
execution_time
[+13.101ยตs; +13.209ยตs] or [+93.637%; +94.409%] - ๐ฅ
max_rss_usage
[+3.928MB; +4.005MB] or [+13.421%; +13.683%]
scenario:iastpropagation-no-propagation
- ๐ฅ
max_rss_usage
[+2.841MB; +3.007MB] or [+8.582%; +9.082%]
scenario:otelspan-add-metrics
- ๐ฅ
max_rss_usage
[+4.648MB; +4.778MB] or [+9.976%; +10.255%]
scenario:otelspan-add-tags
- ๐ฅ
max_rss_usage
[+4.648MB; +4.757MB] or [+9.968%; +10.201%]
scenario:otelspan-start
- ๐ฅ
execution_time
[+1.583ms; +4.649ms] or [+2.914%; +8.562%]
scenario:otelspan-start-finish
- ๐ฅ
execution_time
[+2.280ms; +3.056ms] or [+2.757%; +3.697%] - ๐ฅ
max_rss_usage
[+2.905MB; +3.026MB] or [+9.258%; +9.643%]
scenario:otelspan-start-finish-telemetry
- ๐ฅ
execution_time
[+2.232ms; +3.113ms] or [+2.708%; +3.777%] - ๐ฅ
max_rss_usage
[+3.186MB; +3.302MB] or [+10.396%; +10.775%]
scenario:span-add-metrics
- ๐ฅ
max_rss_usage
[+38.725MB; +38.863MB] or [+96.315%; +96.659%]
scenario:span-add-tags
- ๐ฅ
max_rss_usage
[+7.524MB; +7.640MB] or [+18.693%; +18.981%]
scenario:span-start
- ๐ฅ
max_rss_usage
[+5.514MB; +5.616MB] or [+11.660%; +11.875%]
scenario:span-start-finish
- ๐ฅ
max_rss_usage
[+4.001MB; +4.105MB] or [+13.657%; +14.015%]
scenario:span-start-finish-telemetry
- ๐ฅ
max_rss_usage
[+3.190MB; +3.316MB] or [+10.615%; +11.034%]
scenario:span-start-finish-traceid128
- ๐ฅ
max_rss_usage
[+3.138MB; +3.264MB] or [+10.439%; +10.855%]
scenario:span-start-traceid128
- ๐ฅ
max_rss_usage
[+7.047MB; +7.163MB] or [+15.157%; +15.407%]
scenario:tracer-large
- ๐ฅ
max_rss_usage
[+3.540MB; +3.655MB] or [+11.789%; +12.171%]
scenario:tracer-medium
- ๐ฅ
max_rss_usage
[+3.164MB; +3.262MB] or [+10.561%; +10.889%]
scenario:tracer-small
- ๐ฅ
max_rss_usage
[+3.362MB; +3.468MB] or [+11.572%; +11.937%]