-
Notifications
You must be signed in to change notification settings - Fork 464
fix(profiling): adapt Stack V2 to exception-free Echion (#14933) [backport 3.15] #14987
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
base: 3.15
Are you sure you want to change the base?
Conversation
|
|
db29421 to
73e4a1a
Compare
73e4a1a to
ac4f123
Compare
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 270 ± 2 ms. The average import time from base is: 272 ± 2 ms. The import time difference between this PR and base is: -2.01 ± 0.09 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate backport-14933-to-3.15 (fce0898) with baseline 3.15 (5a5365e) 📈 Performance Regressions (2 suites)📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 4.422µs (SLO: <10.000µs 📉 -55.8%) vs baseline: +0.8% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ ospathbasename_noaspectTime: ✅ 1.090µs (SLO: <10.000µs 📉 -89.1%) vs baseline: +0.2% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ ospathjoin_aspectTime: ✅ 6.082µs (SLO: <10.000µs 📉 -39.2%) vs baseline: -0.9% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ ospathjoin_noaspectTime: ✅ 2.279µs (SLO: <10.000µs 📉 -77.2%) vs baseline: -0.1% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ ospathnormcase_aspectTime: ✅ 3.497µs (SLO: <10.000µs 📉 -65.0%) vs baseline: -0.4% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ ospathnormcase_noaspectTime: ✅ 0.576µs (SLO: <10.000µs 📉 -94.2%) vs baseline: -0.8% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ ospathsplit_aspectTime: ✅ 4.927µs (SLO: <10.000µs 📉 -50.7%) vs baseline: -1.3% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ ospathsplit_noaspectTime: ✅ 1.590µs (SLO: <10.000µs 📉 -84.1%) vs baseline: -0.1% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ ospathsplitdrive_aspectTime: ✅ 4.213µs (SLO: <10.000µs 📉 -57.9%) vs baseline: 📈 +12.2% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ ospathsplitdrive_noaspectTime: ✅ 0.702µs (SLO: <10.000µs 📉 -93.0%) vs baseline: -0.3% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ ospathsplitext_aspectTime: ✅ 4.556µs (SLO: <10.000µs 📉 -54.4%) vs baseline: -1.1% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ ospathsplitext_noaspectTime: ✅ 1.381µs (SLO: <10.000µs 📉 -86.2%) vs baseline: -1.1% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% 📈 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 3.178µs (SLO: <20.000µs 📉 -84.1%) vs baseline: +2.9% Memory: ✅ 32.067MB (SLO: <34.000MB -5.7%) vs baseline: +4.7% ✅ 1-count-metrics-100-timesTime: ✅ 212.017µs (SLO: <250.000µs 📉 -15.2%) vs baseline: -0.4% Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.7% ✅ 1-distribution-metric-1-timesTime: ✅ 2.950µs (SLO: <20.000µs 📉 -85.3%) vs baseline: +1.6% Memory: ✅ 32.067MB (SLO: <34.000MB -5.7%) vs baseline: +4.9% ✅ 1-distribution-metrics-100-timesTime: ✅ 190.686µs (SLO: <220.000µs 📉 -13.3%) vs baseline: +0.2% Memory: ✅ 32.067MB (SLO: <34.000MB -5.7%) vs baseline: +4.8% ✅ 1-gauge-metric-1-timesTime: ✅ 2.323µs (SLO: <20.000µs 📉 -88.4%) vs baseline: 📈 +12.5% Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +5.0% ✅ 1-gauge-metrics-100-timesTime: ✅ 124.492µs (SLO: <150.000µs 📉 -17.0%) vs baseline: -0.8% Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +5.1% ✅ 1-rate-metric-1-timesTime: ✅ 3.123µs (SLO: <20.000µs 📉 -84.4%) vs baseline: +0.6% Memory: ✅ 32.047MB (SLO: <34.000MB -5.7%) vs baseline: +4.9% ✅ 1-rate-metrics-100-timesTime: ✅ 211.207µs (SLO: <250.000µs 📉 -15.5%) vs baseline: -0.4% Memory: ✅ 32.067MB (SLO: <34.000MB -5.7%) vs baseline: +4.7% ✅ 100-count-metrics-100-timesTime: ✅ 21.336ms (SLO: <23.500ms -9.2%) vs baseline: +0.4% Memory: ✅ 32.086MB (SLO: <34.000MB -5.6%) vs baseline: +4.8% ✅ 100-distribution-metrics-100-timesTime: ✅ 1.982ms (SLO: <2.250ms 📉 -11.9%) vs baseline: -0.6% Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +5.1% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.296ms (SLO: <1.550ms 📉 -16.4%) vs baseline: +0.3% Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +5.3% ✅ 100-rate-metrics-100-timesTime: ✅ 2.208ms (SLO: <2.550ms 📉 -13.4%) vs baseline: +1.1% Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +4.9% ✅ flush-1-metricTime: ✅ 4.228µs (SLO: <20.000µs 📉 -78.9%) vs baseline: +2.5% Memory: ✅ 32.126MB (SLO: <34.000MB -5.5%) vs baseline: +4.8% ✅ flush-100-metricsTime: ✅ 183.210µs (SLO: <250.000µs 📉 -26.7%) vs baseline: +0.3% Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +5.0% ✅ flush-1000-metricsTime: ✅ 2.225ms (SLO: <2.500ms 📉 -11.0%) vs baseline: +1.3% Memory: ✅ 32.912MB (SLO: <34.500MB -4.6%) vs baseline: +5.2% 🟡 Near SLO Breach (3 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.465ms (SLO: <22.300ms -8.2%) vs baseline: -0.2% Memory: ✅ 65.328MB (SLO: <67.000MB -2.5%) vs baseline: +4.8% ✅ exception-replay-enabledTime: ✅ 1.351ms (SLO: <1.450ms -6.8%) vs baseline: +0.4% Memory: ✅ 64.168MB (SLO: <67.000MB -4.2%) vs baseline: +4.7% ✅ iastTime: ✅ 20.444ms (SLO: <22.250ms -8.1%) vs baseline: -0.3% Memory: ✅ 65.301MB (SLO: <67.000MB -2.5%) vs baseline: +4.8% ✅ profilerTime: ✅ 15.224ms (SLO: <16.550ms -8.0%) vs baseline: -0.3% Memory: ✅ 53.616MB (SLO: <54.500MB 🟡 -1.6%) vs baseline: +4.7% ✅ resource-renamingTime: ✅ 20.639ms (SLO: <21.750ms -5.1%) vs baseline: +0.2% Memory: ✅ 65.350MB (SLO: <67.000MB -2.5%) vs baseline: +4.9% ✅ span-code-originTime: ✅ 26.246ms (SLO: <28.200ms -6.9%) vs baseline: +0.3% Memory: ✅ 67.452MB (SLO: <69.500MB -2.9%) vs baseline: +5.0% ✅ tracerTime: ✅ 20.482ms (SLO: <21.750ms -5.8%) vs baseline: -0.5% Memory: ✅ 65.348MB (SLO: <67.000MB -2.5%) vs baseline: +4.9% ✅ tracer-and-profilerTime: ✅ 22.153ms (SLO: <23.500ms -5.7%) vs baseline: +0.2% Memory: ✅ 66.431MB (SLO: <67.500MB 🟡 -1.6%) vs baseline: +5.0% ✅ tracer-dont-create-db-spansTime: ✅ 19.249ms (SLO: <21.500ms 📉 -10.5%) vs baseline: -0.6% Memory: ✅ 65.305MB (SLO: <66.000MB 🟡 -1.1%) vs baseline: +4.8% ✅ tracer-minimalTime: ✅ 16.685ms (SLO: <17.500ms -4.7%) vs baseline: +0.2% Memory: ✅ 65.032MB (SLO: <66.000MB 🟡 -1.5%) vs baseline: +4.5% ✅ tracer-nativeTime: ✅ 20.584ms (SLO: <21.750ms -5.4%) vs baseline: +0.5% Memory: ✅ 70.995MB (SLO: <72.500MB -2.1%) vs baseline: +4.6% ✅ tracer-no-cachesTime: ✅ 18.439ms (SLO: <19.650ms -6.2%) vs baseline: -0.2% Memory: ✅ 65.290MB (SLO: <67.000MB -2.6%) vs baseline: +4.8% ✅ tracer-no-databasesTime: ✅ 18.765ms (SLO: <20.100ms -6.6%) vs baseline: ~same Memory: ✅ 64.890MB (SLO: <67.000MB -3.1%) vs baseline: +4.8% ✅ tracer-no-middlewareTime: ✅ 20.173ms (SLO: <21.500ms -6.2%) vs baseline: ~same Memory: ✅ 65.304MB (SLO: <67.000MB -2.5%) vs baseline: +4.7% ✅ tracer-no-templatesTime: ✅ 20.311ms (SLO: <22.000ms -7.7%) vs baseline: -0.2% Memory: ✅ 65.227MB (SLO: <67.000MB -2.6%) vs baseline: +4.7% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.112ms (SLO: <19.850ms -8.8%) vs baseline: +0.3% Memory: ✅ 65.251MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +4.8% ✅ errortracking-enabled-userTime: ✅ 18.070ms (SLO: <19.400ms -6.9%) vs baseline: ~same Memory: ✅ 65.254MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +4.9% ✅ tracer-enabledTime: ✅ 18.086ms (SLO: <19.450ms -7.0%) vs baseline: ~same Memory: ✅ 65.219MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +4.8% 🟡 otelspan - 22/22✅ add-eventTime: ✅ 45.269ms (SLO: <47.150ms -4.0%) vs baseline: ~same Memory: ✅ 45.134MB (SLO: <47.000MB -4.0%) vs baseline: +4.8% ✅ add-metricsTime: ✅ 320.160ms (SLO: <344.800ms -7.1%) vs baseline: -0.3% Memory: ✅ 552.747MB (SLO: <562.000MB 🟡 -1.6%) vs baseline: +4.5% ✅ add-tagsTime: ✅ 293.015ms (SLO: <314.000ms -6.7%) vs baseline: +0.5% Memory: ✅ 554.152MB (SLO: <563.500MB 🟡 -1.7%) vs baseline: +4.2% ✅ get-contextTime: ✅ 82.521ms (SLO: <92.350ms 📉 -10.6%) vs baseline: +0.1% Memory: ✅ 40.241MB (SLO: <46.500MB 📉 -13.5%) vs baseline: +4.8% ✅ is-recordingTime: ✅ 43.120ms (SLO: <44.500ms -3.1%) vs baseline: +0.7% Memory: ✅ 44.476MB (SLO: <47.500MB -6.4%) vs baseline: +4.8% ✅ record-exceptionTime: ✅ 61.767ms (SLO: <67.650ms -8.7%) vs baseline: -0.1% Memory: ✅ 40.512MB (SLO: <47.000MB 📉 -13.8%) vs baseline: +4.9% ✅ set-statusTime: ✅ 48.549ms (SLO: <50.400ms -3.7%) vs baseline: -0.7% Memory: ✅ 44.491MB (SLO: <47.000MB -5.3%) vs baseline: +4.9% ✅ startTime: ✅ 42.233ms (SLO: <43.450ms -2.8%) vs baseline: -0.2% Memory: ✅ 44.557MB (SLO: <47.000MB -5.2%) vs baseline: +5.0% ✅ start-finishTime: ✅ 83.297ms (SLO: <88.000ms -5.3%) vs baseline: +0.1% Memory: ✅ 34.564MB (SLO: <46.500MB 📉 -25.7%) vs baseline: +5.0% ✅ start-finish-telemetryTime: ✅ 84.504ms (SLO: <89.000ms -5.1%) vs baseline: -0.4% Memory: ✅ 34.564MB (SLO: <46.500MB 📉 -25.7%) vs baseline: +5.0% ✅ update-nameTime: ✅ 44.451ms (SLO: <45.150ms 🟡 -1.5%) vs baseline: +0.5% Memory: ✅ 44.756MB (SLO: <47.000MB -4.8%) vs baseline: +4.7%
|
This PR updates Echion to use the latest version. Included Echion PRs - [refactor: stop using exceptions for reporting errors](P403n1x87/echion#156) - [misc: remove Error classes](P403n1x87/echion#164) - [bug: avoid possibly unbounded memory allocations](P403n1x87/echion#159) - [fix: remove extra loop in Frame::read() for 3.13+](P403n1x87/echion#167) - [refactor: return std::reference_wrapper over raw pointer](P403n1x87/echion#168) See comparison here P403n1x87/echion@3ebeb3e...39d74a3 --------- Co-authored-by: Taegyun Kim <[email protected]> (cherry picked from commit 2c72bca)
ac4f123 to
fce0898
Compare
Description
Backport of e13717f from #14735 to 3.15.
Originally from fix(profiling): adapt Stack V2 to exception-free Echion