-
Notifications
You must be signed in to change notification settings - Fork 16
fix(profiling): reduce OOM edges in ProfileExporter::build
#1436
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
7ef581d to
b79ab50
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1436 +/- ##
==========================================
+ Coverage 71.29% 71.31% +0.01%
==========================================
Files 413 413
Lines 66142 66148 +6
==========================================
+ Hits 47158 47174 +16
+ Misses 18984 18974 -10
🚀 New features to boost your workflow:
|
BenchmarksComparisonBenchmark execution time: 2026-01-09 20:41:57 Comparing candidate commit 936a69b in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 57 metrics, 2 unstable metrics. CandidateCandidate benchmark detailsGroup 1
Group 2
Group 3
Group 4
Group 5
Group 6
Group 7
Group 8
Group 9
Group 10
Group 11
Group 12
Group 13
Group 14
Group 15
Group 16
Group 17
Group 18
Group 19
BaselineOmitted due to size. |
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-apple-darwin
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-apple-darwin
x86_64-unknown-linux-gnu
|
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
What does this PR do?
Gracefully avoids some out-of-memory edges that can happen in
ProfileExporter::build.Motivation
I got a crash report in the PHP profiler which OOM'd here trying to
push_str.Technically, this is a slight optimization as well but this will definitely be inconsequential.
Additional Notes
This doesn't fix all OOMs or even anything remotely close to it. It just moves the needle a teensy bit and was not difficult to do.
Also note that
try_reservedoesn't mess up allocation amortization, we'd have to usetry_reserve_exactfor that. We do usetry_reserve_exactfor the last tag, though, as a slight optimization.How to test the change?
Regular tests apply.