-
Notifications
You must be signed in to change notification settings - Fork 450
chore(profiling): add recursive test to benchmarking suite #13628
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
Conversation
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mind adding a PR description or README on what this benchmark does?
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 272 ± 2 ms. The average import time from base is: 273 ± 2 ms. The import time difference between this PR and base is: -1.36 ± 0.09 ms. Import time breakdownThe following import paths have shrunk:
|
…ataDog/dd-trace-py into alysha.wang/add_recursive_benchmarking
BenchmarksBenchmark execution time: 2025-06-10 21:26:33 Comparing candidate commit a6b4e5c in PR branch Found 0 performance improvements and 2 performance regressions! Performance is the same for 559 metrics, 3 unstable metrics. scenario:iastaspects-format_map_aspect
scenario:iastaspectsospath-ospathsplit_aspect
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-py/-/jobs/974592671
|
71 | }
72 | )
73 | import ddtrace.profiling.auto
| ^^^^^^^^^^^^^^^^^^^^^^ F401
74 |
75 | utils.drop_traces(tracer)
|
= help: Remove unused import: `ddtrace.profiling.auto`
you can run |
Looks like it's taking a long time to run on the Gitlab, let's try to figure out why and tweak it to be run < 10 minutes. We'd need to remove a few variants from the config file. |
…ataDog/dd-trace-py into alysha.wang/add_recursive_benchmarking
New benchmarking scenario to measure the performance impact of different DD_PROFILING_STACK_V2_MAX_FRAMES values on applications with deep call stacks.
For context, DD_PROFILING_STACK_V2_MAX_FRAMES controls the maximum number of stack frames captured and sampled by the profiler. We want to test the performance overhead of different stack frame upper limits (by running a recursive function to create the stack frames) and we are planning to increase this limit from 64 to 512 frames to provide users with more complete stack traces.
The configurable parameters are
Checklist
Reviewer Checklist