-
Notifications
You must be signed in to change notification settings - Fork 468
fix(profiling): adapt Stack V2 to exception-free Echion [backport 3.17] #15052
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
|
|
## What does this PR do? 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)
d102994 to
104f251
Compare
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 240 ± 2 ms. The average import time from base is: 243 ± 2 ms. The import time difference between this PR and base is: -3.0 ± 0.1 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate backport-14933-to-3.17 (e90b001) with baseline 3.17 (4f94fd3) 📈 Performance Regressions (1 suite)📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 4.276µs (SLO: <10.000µs 📉 -57.2%) vs baseline: -1.4% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% ✅ ospathbasename_noaspectTime: ✅ 1.090µs (SLO: <10.000µs 📉 -89.1%) vs baseline: -0.2% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ ospathjoin_aspectTime: ✅ 6.157µs (SLO: <10.000µs 📉 -38.4%) vs baseline: -1.0% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ ospathjoin_noaspectTime: ✅ 2.328µs (SLO: <10.000µs 📉 -76.7%) vs baseline: +1.1% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ ospathnormcase_aspectTime: ✅ 3.581µs (SLO: <10.000µs 📉 -64.2%) vs baseline: +0.5% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ ospathnormcase_noaspectTime: ✅ 0.568µs (SLO: <10.000µs 📉 -94.3%) vs baseline: ~same Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ ospathsplit_aspectTime: ✅ 4.952µs (SLO: <10.000µs 📉 -50.5%) vs baseline: -0.7% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.9% ✅ ospathsplit_noaspectTime: ✅ 1.586µs (SLO: <10.000µs 📉 -84.1%) vs baseline: ~same Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.9% ✅ ospathsplitdrive_aspectTime: ✅ 3.738µs (SLO: <10.000µs 📉 -62.6%) vs baseline: -0.7% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.1% ✅ ospathsplitdrive_noaspectTime: ✅ 0.697µs (SLO: <10.000µs 📉 -93.0%) vs baseline: ~same Memory: ✅ 37.611MB (SLO: <39.000MB -3.6%) vs baseline: +4.8% ✅ ospathsplitext_aspectTime: ✅ 5.232µs (SLO: <10.000µs 📉 -47.7%) vs baseline: 📈 +13.3% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% ✅ ospathsplitext_noaspectTime: ✅ 1.384µs (SLO: <10.000µs 📉 -86.2%) vs baseline: ~same Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% 🟡 Near SLO Breach (4 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.419ms (SLO: <22.300ms -8.4%) vs baseline: ~same Memory: ✅ 65.303MB (SLO: <67.000MB -2.5%) vs baseline: +4.6% ✅ exception-replay-enabledTime: ✅ 1.342ms (SLO: <1.450ms -7.5%) vs baseline: ~same Memory: ✅ 64.518MB (SLO: <67.000MB -3.7%) vs baseline: +4.7% ✅ iastTime: ✅ 20.349ms (SLO: <22.250ms -8.5%) vs baseline: -0.3% Memory: ✅ 65.303MB (SLO: <67.000MB -2.5%) vs baseline: +4.5% ✅ profilerTime: ✅ 15.213ms (SLO: <16.550ms -8.1%) vs baseline: -0.3% Memory: ✅ 53.635MB (SLO: <54.500MB 🟡 -1.6%) vs baseline: +4.5% ✅ resource-renamingTime: ✅ 20.529ms (SLO: <21.750ms -5.6%) vs baseline: +0.1% Memory: ✅ 65.364MB (SLO: <67.000MB -2.4%) vs baseline: +4.7% ✅ span-code-originTime: ✅ 24.960ms (SLO: <28.200ms 📉 -11.5%) vs baseline: -1.4% Memory: ✅ 68.361MB (SLO: <69.500MB 🟡 -1.6%) vs baseline: +6.2% ✅ tracerTime: ✅ 20.457ms (SLO: <21.750ms -5.9%) vs baseline: +0.2% Memory: ✅ 65.323MB (SLO: <67.000MB -2.5%) vs baseline: +4.6% ✅ tracer-and-profilerTime: ✅ 22.046ms (SLO: <23.500ms -6.2%) vs baseline: ~same Memory: ✅ 66.719MB (SLO: <67.500MB 🟡 -1.2%) vs baseline: +4.8% ✅ tracer-dont-create-db-spansTime: ✅ 19.364ms (SLO: <21.500ms -9.9%) vs baseline: +0.3% Memory: ✅ 65.293MB (SLO: <66.000MB 🟡 -1.1%) vs baseline: +4.6% ✅ tracer-minimalTime: ✅ 16.564ms (SLO: <17.500ms -5.3%) vs baseline: ~same Memory: ✅ 65.283MB (SLO: <66.000MB 🟡 -1.1%) vs baseline: +4.5% ✅ tracer-nativeTime: ✅ 20.436ms (SLO: <21.750ms -6.0%) vs baseline: ~same Memory: ✅ 71.550MB (SLO: <72.500MB 🟡 -1.3%) vs baseline: +4.7% ✅ tracer-no-cachesTime: ✅ 18.436ms (SLO: <19.650ms -6.2%) vs baseline: -0.1% Memory: ✅ 65.227MB (SLO: <67.000MB -2.6%) vs baseline: +4.5% ✅ tracer-no-databasesTime: ✅ 18.784ms (SLO: <20.100ms -6.5%) vs baseline: +0.3% Memory: ✅ 65.274MB (SLO: <67.000MB -2.6%) vs baseline: +4.5% ✅ tracer-no-middlewareTime: ✅ 20.175ms (SLO: <21.500ms -6.2%) vs baseline: +0.6% Memory: ✅ 65.303MB (SLO: <67.000MB -2.5%) vs baseline: +4.6% ✅ tracer-no-templatesTime: ✅ 20.289ms (SLO: <22.000ms -7.8%) vs baseline: +0.2% Memory: ✅ 65.303MB (SLO: <67.000MB -2.5%) vs baseline: +4.7% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.003ms (SLO: <19.850ms -9.3%) vs baseline: ~same Memory: ✅ 65.274MB (SLO: <66.500MB 🟡 -1.8%) vs baseline: +4.8% ✅ errortracking-enabled-userTime: ✅ 18.075ms (SLO: <19.400ms -6.8%) vs baseline: +0.2% Memory: ✅ 65.195MB (SLO: <66.500MB 🟡 -2.0%) vs baseline: +4.8% ✅ tracer-enabledTime: ✅ 18.077ms (SLO: <19.450ms -7.1%) vs baseline: +0.3% Memory: ✅ 65.227MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +5.0% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.578ms (SLO: <4.750ms -3.6%) vs baseline: +0.2% Memory: ✅ 61.971MB (SLO: <65.000MB -4.7%) vs baseline: +4.9% ✅ appsec-postTime: ✅ 6.604ms (SLO: <6.750ms -2.2%) vs baseline: -0.3% Memory: ✅ 61.971MB (SLO: <65.000MB -4.7%) vs baseline: +4.8% ✅ appsec-telemetryTime: ✅ 4.582ms (SLO: <4.750ms -3.5%) vs baseline: ~same Memory: ✅ 62.030MB (SLO: <65.000MB -4.6%) vs baseline: +5.0% ✅ debuggerTime: ✅ 1.854ms (SLO: <2.000ms -7.3%) vs baseline: ~same Memory: ✅ 45.397MB (SLO: <47.000MB -3.4%) vs baseline: +4.9% ✅ iast-getTime: ✅ 1.861ms (SLO: <2.000ms -7.0%) vs baseline: +0.2% Memory: ✅ 42.428MB (SLO: <49.000MB 📉 -13.4%) vs baseline: +4.9% ✅ profilerTime: ✅ 1.912ms (SLO: <2.100ms -9.0%) vs baseline: ~same Memory: ✅ 46.458MB (SLO: <47.000MB 🟡 -1.2%) vs baseline: +4.8% ✅ resource-renamingTime: ✅ 3.371ms (SLO: <3.650ms -7.7%) vs baseline: ~same Memory: ✅ 52.219MB (SLO: <53.500MB -2.4%) vs baseline: +4.8% ✅ tracerTime: ✅ 3.354ms (SLO: <3.650ms -8.1%) vs baseline: ~same Memory: ✅ 52.239MB (SLO: <53.500MB -2.4%) vs baseline: +5.1% ✅ tracer-nativeTime: ✅ 3.351ms (SLO: <3.650ms -8.2%) vs baseline: -0.1% Memory: ✅ 58.189MB (SLO: <60.000MB -3.0%) vs baseline: +5.0% 🟡 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 2.974µs (SLO: <20.000µs 📉 -85.1%) vs baseline: +2.1% Memory: ✅ 32.204MB (SLO: <34.000MB -5.3%) vs baseline: +5.0% ✅ 1-count-metrics-100-timesTime: ✅ 204.963µs (SLO: <220.000µs -6.8%) vs baseline: +1.8% Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +4.7% ✅ 1-distribution-metric-1-timesTime: ✅ 3.290µs (SLO: <20.000µs 📉 -83.5%) vs baseline: ~same Memory: ✅ 32.067MB (SLO: <34.000MB -5.7%) vs baseline: +5.0% ✅ 1-distribution-metrics-100-timesTime: ✅ 216.722µs (SLO: <220.000µs 🟡 -1.5%) vs baseline: ~same Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +4.9% ✅ 1-gauge-metric-1-timesTime: ✅ 2.196µs (SLO: <20.000µs 📉 -89.0%) vs baseline: -0.2% Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +5.0% ✅ 1-gauge-metrics-100-timesTime: ✅ 138.400µs (SLO: <150.000µs -7.7%) vs baseline: +0.4% Memory: ✅ 32.086MB (SLO: <34.000MB -5.6%) vs baseline: +4.6% ✅ 1-rate-metric-1-timesTime: ✅ 3.095µs (SLO: <20.000µs 📉 -84.5%) vs baseline: -0.8% Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.8% ✅ 1-rate-metrics-100-timesTime: ✅ 218.103µs (SLO: <250.000µs 📉 -12.8%) vs baseline: +0.9% Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +5.1% ✅ 100-count-metrics-100-timesTime: ✅ 20.598ms (SLO: <22.000ms -6.4%) vs baseline: +1.4% Memory: ✅ 32.067MB (SLO: <34.000MB -5.7%) vs baseline: +4.7% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.253ms (SLO: <2.300ms -2.0%) vs baseline: ~same Memory: ✅ 32.126MB (SLO: <34.000MB -5.5%) vs baseline: +5.0% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.430ms (SLO: <1.550ms -7.7%) vs baseline: +0.8% Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.7% ✅ 100-rate-metrics-100-timesTime: ✅ 2.229ms (SLO: <2.550ms 📉 -12.6%) vs baseline: +0.2% Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.7% ✅ flush-1-metricTime: ✅ 4.547µs (SLO: <20.000µs 📉 -77.3%) vs baseline: +1.9% Memory: ✅ 32.086MB (SLO: <34.000MB -5.6%) vs baseline: +4.9% ✅ flush-100-metricsTime: ✅ 174.074µs (SLO: <250.000µs 📉 -30.4%) vs baseline: -0.9% Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +5.0% ✅ flush-1000-metricsTime: ✅ 2.134ms (SLO: <2.500ms 📉 -14.6%) vs baseline: -0.4% Memory: ✅ 32.853MB (SLO: <34.500MB -4.8%) vs baseline: +4.9%
|
Backport 2c72bca from #14933 to 3.17.
What does this PR do?
This PR updates Echion to use the latest version.
Included Echion PRs
See comparison here P403n1x87/echion@3ebeb3e...39d74a3