-
Notifications
You must be signed in to change notification settings - Fork 469
chore(profiling): enable memalloc to use sample #15189
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
|
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 233 ± 4 ms. The average import time from base is: 234 ± 4 ms. The import time difference between this PR and base is: -0.5 ± 0.2 ms. The difference is not statistically significant (z = -2.82). Import time breakdownThe following import paths have shrunk:
|
brettlangdon
left a comment
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.
question, otherwise looks ok (or at least setup.py changes seem fairly low impact for other extensions/products)
KowalskiThomas
left a comment
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.
Overall makes sense to me!
That said, it's not quite clear to me where the functional change is 🤔
Performance SLOsComparing candidate dsn/memalloc-use-sample (de890ab) with baseline main (1bceb85) 📈 Performance Regressions (2 suites)📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 4.776µs (SLO: <10.000µs 📉 -52.2%) vs baseline: 📈 +13.3% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.9% ✅ ospathbasename_noaspectTime: ✅ 1.088µs (SLO: <10.000µs 📉 -89.1%) vs baseline: -0.2% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.8% ✅ ospathjoin_aspectTime: ✅ 6.138µs (SLO: <10.000µs 📉 -38.6%) vs baseline: +0.1% Memory: ✅ 37.139MB (SLO: <39.000MB -4.8%) vs baseline: +4.6% ✅ ospathjoin_noaspectTime: ✅ 2.294µs (SLO: <10.000µs 📉 -77.1%) vs baseline: -0.6% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.6% ✅ ospathnormcase_aspectTime: ✅ 3.412µs (SLO: <10.000µs 📉 -65.9%) vs baseline: -0.7% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.6% ✅ ospathnormcase_noaspectTime: ✅ 0.570µs (SLO: <10.000µs 📉 -94.3%) vs baseline: -2.9% Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: +4.8% ✅ ospathsplit_aspectTime: ✅ 4.808µs (SLO: <10.000µs 📉 -51.9%) vs baseline: +0.5% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ ospathsplit_noaspectTime: ✅ 1.595µs (SLO: <10.000µs 📉 -84.0%) vs baseline: ~same Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.9% ✅ ospathsplitdrive_aspectTime: ✅ 3.670µs (SLO: <10.000µs 📉 -63.3%) vs baseline: +0.5% Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: +4.8% ✅ ospathsplitdrive_noaspectTime: ✅ 0.700µs (SLO: <10.000µs 📉 -93.0%) vs baseline: +0.8% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ ospathsplitext_aspectTime: ✅ 4.708µs (SLO: <10.000µs 📉 -52.9%) vs baseline: +4.7% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.8% ✅ ospathsplitext_noaspectTime: ✅ 1.371µs (SLO: <10.000µs 📉 -86.3%) vs baseline: -0.6% Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: +4.7% 📈 iastaspectssplit - 12/12✅ rsplit_aspectTime: ✅ 1.408µs (SLO: <10.000µs 📉 -85.9%) vs baseline: -2.4% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.8% ✅ rsplit_noaspectTime: ✅ 0.578µs (SLO: <10.000µs 📉 -94.2%) vs baseline: +0.2% Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: +5.0% ✅ split_aspectTime: ✅ 1.514µs (SLO: <10.000µs 📉 -84.9%) vs baseline: +8.1% Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +4.8% ✅ split_noaspectTime: ✅ 0.564µs (SLO: <10.000µs 📉 -94.4%) vs baseline: -1.5% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.8% ✅ splitlines_aspectTime: ✅ 1.619µs (SLO: <10.000µs 📉 -83.8%) vs baseline: 📈 +13.7% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ splitlines_noaspectTime: ✅ 0.583µs (SLO: <10.000µs 📉 -94.2%) vs baseline: -0.4% Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +5.0% 🟡 Near SLO Breach (5 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.432ms (SLO: <22.300ms -8.4%) vs baseline: -0.2% Memory: ✅ 66.139MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +5.1% ✅ exception-replay-enabledTime: ✅ 1.341ms (SLO: <1.450ms -7.5%) vs baseline: +0.3% Memory: ✅ 64.288MB (SLO: <67.000MB -4.0%) vs baseline: +5.2% ✅ iastTime: ✅ 20.364ms (SLO: <22.250ms -8.5%) vs baseline: -0.4% Memory: ✅ 66.119MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +5.1% ✅ profilerTime: ✅ 15.367ms (SLO: <16.550ms -7.1%) vs baseline: ~same Memory: ✅ 54.072MB (SLO: <54.500MB 🟡 -0.8%) vs baseline: +5.0% ✅ resource-renamingTime: ✅ 20.531ms (SLO: <21.750ms -5.6%) vs baseline: +0.2% Memory: ✅ 66.129MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +4.8% ✅ span-code-originTime: ✅ 25.450ms (SLO: <28.200ms -9.8%) vs baseline: +0.2% Memory: ✅ 67.309MB (SLO: <69.500MB -3.2%) vs baseline: +4.8% ✅ tracerTime: ✅ 20.485ms (SLO: <21.750ms -5.8%) vs baseline: -0.2% Memory: ✅ 66.218MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +5.2% ✅ tracer-and-profilerTime: ✅ 22.574ms (SLO: <23.500ms -3.9%) vs baseline: ~same Memory: ✅ 67.927MB (SLO: <68.000MB 🟡 -0.1%) vs baseline: +5.0% ✅ tracer-dont-create-db-spansTime: ✅ 19.296ms (SLO: <21.500ms 📉 -10.3%) vs baseline: -0.2% Memory: ✅ 66.185MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +5.2% ✅ tracer-minimalTime: ✅ 16.667ms (SLO: <17.500ms -4.8%) vs baseline: +0.2% Memory: ✅ 66.109MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +5.0% ✅ tracer-nativeTime: ✅ 20.495ms (SLO: <21.750ms -5.8%) vs baseline: +0.2% Memory: ✅ 67.966MB (SLO: <72.500MB -6.3%) vs baseline: +4.9% ✅ tracer-no-cachesTime: ✅ 18.439ms (SLO: <19.650ms -6.2%) vs baseline: -0.2% Memory: ✅ 66.149MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +5.1% ✅ tracer-no-databasesTime: ✅ 18.803ms (SLO: <20.100ms -6.5%) vs baseline: ~same Memory: ✅ 65.765MB (SLO: <67.000MB 🟡 -1.8%) vs baseline: +4.5% ✅ tracer-no-middlewareTime: ✅ 20.208ms (SLO: <21.500ms -6.0%) vs baseline: +0.2% Memory: ✅ 66.109MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +5.0% ✅ tracer-no-templatesTime: ✅ 20.344ms (SLO: <22.000ms -7.5%) vs baseline: +0.4% Memory: ✅ 66.159MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +5.0% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.070ms (SLO: <19.850ms -9.0%) vs baseline: +0.1% Memory: ✅ 66.149MB (SLO: <66.500MB 🟡 -0.5%) vs baseline: +5.0% ✅ errortracking-enabled-userTime: ✅ 18.119ms (SLO: <19.400ms -6.6%) vs baseline: ~same Memory: ✅ 66.070MB (SLO: <66.500MB 🟡 -0.6%) vs baseline: +4.9% ✅ tracer-enabledTime: ✅ 18.089ms (SLO: <19.450ms -7.0%) vs baseline: +0.2% Memory: ✅ 65.787MB (SLO: <66.500MB 🟡 -1.1%) vs baseline: +4.7% 🟡 errortrackingflasksqli - 6/6✅ errortracking-enabled-allTime: ✅ 2.062ms (SLO: <2.300ms 📉 -10.4%) vs baseline: ~same Memory: ✅ 52.573MB (SLO: <53.500MB 🟡 -1.7%) vs baseline: +4.9% ✅ errortracking-enabled-userTime: ✅ 2.071ms (SLO: <2.250ms -8.0%) vs baseline: +0.3% Memory: ✅ 52.553MB (SLO: <53.500MB 🟡 -1.8%) vs baseline: +4.9% ✅ tracer-enabledTime: ✅ 2.069ms (SLO: <2.300ms 📉 -10.0%) vs baseline: -0.3% Memory: ✅ 52.455MB (SLO: <53.500MB 🟡 -2.0%) vs baseline: +4.6% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.597ms (SLO: <4.750ms -3.2%) vs baseline: +0.4% Memory: ✅ 62.338MB (SLO: <65.000MB -4.1%) vs baseline: +4.8% ✅ appsec-postTime: ✅ 6.621ms (SLO: <6.750ms 🟡 -1.9%) vs baseline: -0.4% Memory: ✅ 62.338MB (SLO: <65.000MB -4.1%) vs baseline: +4.9% ✅ appsec-telemetryTime: ✅ 4.607ms (SLO: <4.750ms -3.0%) vs baseline: +0.7% Memory: ✅ 62.307MB (SLO: <65.000MB -4.1%) vs baseline: +4.9% ✅ debuggerTime: ✅ 1.862ms (SLO: <2.000ms -6.9%) vs baseline: +0.2% Memory: ✅ 45.188MB (SLO: <47.000MB -3.9%) vs baseline: +4.5% ✅ iast-getTime: ✅ 1.854ms (SLO: <2.000ms -7.3%) vs baseline: -0.1% Memory: ✅ 42.140MB (SLO: <49.000MB 📉 -14.0%) vs baseline: +4.8% ✅ profilerTime: ✅ 1.922ms (SLO: <2.100ms -8.5%) vs baseline: +0.5% Memory: ✅ 46.653MB (SLO: <47.000MB 🟡 -0.7%) vs baseline: +4.9% ✅ resource-renamingTime: ✅ 3.364ms (SLO: <3.650ms -7.8%) vs baseline: -0.2% Memory: ✅ 52.567MB (SLO: <53.500MB 🟡 -1.7%) vs baseline: +4.8% ✅ tracerTime: ✅ 3.348ms (SLO: <3.650ms -8.3%) vs baseline: -0.2% Memory: ✅ 52.554MB (SLO: <53.500MB 🟡 -1.8%) vs baseline: +4.8% ✅ tracer-nativeTime: ✅ 3.355ms (SLO: <3.650ms -8.1%) vs baseline: -0.2% Memory: ✅ 54.256MB (SLO: <60.000MB -9.6%) vs baseline: +4.6% 🟡 otelsdkspan - 24/24✅ add-eventTime: ✅ 40.501ms (SLO: <42.000ms -3.6%) vs baseline: +0.5% Memory: ✅ 34.328MB (SLO: <39.000MB 📉 -12.0%) vs baseline: +5.0% ✅ add-linkTime: ✅ 36.634ms (SLO: <38.550ms -5.0%) vs baseline: +1.2% Memory: ✅ 34.347MB (SLO: <39.000MB 📉 -11.9%) vs baseline: +5.0% ✅ add-metricsTime: ✅ 219.353ms (SLO: <232.000ms -5.5%) vs baseline: +0.1% Memory: ✅ 34.269MB (SLO: <39.000MB 📉 -12.1%) vs baseline: +4.6% ✅ add-tagsTime: ✅ 211.103ms (SLO: <221.600ms -4.7%) vs baseline: -0.3% Memory: ✅ 34.308MB (SLO: <39.000MB 📉 -12.0%) vs baseline: +4.9% ✅ get-contextTime: ✅ 29.110ms (SLO: <31.300ms -7.0%) vs baseline: ~same Memory: ✅ 34.288MB (SLO: <39.000MB 📉 -12.1%) vs baseline: +4.8% ✅ is-recordingTime: ✅ 29.185ms (SLO: <31.000ms -5.9%) vs baseline: +0.5% Memory: ✅ 34.328MB (SLO: <39.000MB 📉 -12.0%) vs baseline: +4.8% ✅ record-exceptionTime: ✅ 63.234ms (SLO: <65.850ms -4.0%) vs baseline: +0.2% Memory: ✅ 34.308MB (SLO: <39.000MB 📉 -12.0%) vs baseline: +4.7% ✅ set-statusTime: ✅ 32.155ms (SLO: <34.150ms -5.8%) vs baseline: +0.5% Memory: ✅ 34.288MB (SLO: <39.000MB 📉 -12.1%) vs baseline: +4.8% ✅ startTime: ✅ 29.627ms (SLO: <30.150ms 🟡 -1.7%) vs baseline: +2.6% Memory: ✅ 34.328MB (SLO: <39.000MB 📉 -12.0%) vs baseline: +5.1% ✅ start-finishTime: ✅ 34.004ms (SLO: <35.350ms -3.8%) vs baseline: +0.7% Memory: ✅ 34.347MB (SLO: <39.000MB 📉 -11.9%) vs baseline: +4.9% ✅ start-finish-telemetryTime: ✅ 34.023ms (SLO: <35.450ms -4.0%) vs baseline: ~same Memory: ✅ 34.269MB (SLO: <39.000MB 📉 -12.1%) vs baseline: +4.7% ✅ update-nameTime: ✅ 31.105ms (SLO: <33.400ms -6.9%) vs baseline: +0.4% Memory: ✅ 34.347MB (SLO: <39.000MB 📉 -11.9%) vs baseline: +4.8%
|
Co-authored-by: Vlad Scherbich <vlad.scherbich@datadoghq.com>
Description
Refactored the memory allocator to use C++, and link to Sample. This will enable us to remove our dependency on python operations in a followon PR.
Testing
Risks
Additional Notes