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

Teague.bick/accupath

Open tabgok opened this issue 1 year ago โ€ข 1 comments

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

tabgok avatar Jan 27 '24 16:01 tabgok

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

pr-commenter[bot] avatar Jan 27 '24 21:01 pr-commenter[bot]