-
Notifications
You must be signed in to change notification settings - Fork 463
chore: clean-up old Span._resource mutable pattern #14861
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: 206 ± 3 ms. The average import time from base is: 206 ± 2 ms. The import time difference between this PR and base is: -0.5 ± 0.1 ms. Import time breakdownThe following import paths have grown:
|
Performance SLOsComparing candidate brettlangdon/span._resource (b3166cb) with baseline main (671dc7b) 📈 Performance Regressions (1 suite)📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 4.323µs (SLO: <10.000µs 📉 -56.8%) vs baseline: +0.2% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ ospathbasename_noaspectTime: ✅ 1.100µs (SLO: <10.000µs 📉 -89.0%) vs baseline: +1.6% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ ospathjoin_aspectTime: ✅ 6.837µs (SLO: <10.000µs 📉 -31.6%) vs baseline: 📈 +11.8% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ ospathjoin_noaspectTime: ✅ 2.315µs (SLO: <10.000µs 📉 -76.9%) vs baseline: +1.0% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ ospathnormcase_aspectTime: ✅ 3.809µs (SLO: <10.000µs 📉 -61.9%) vs baseline: +9.2% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ ospathnormcase_noaspectTime: ✅ 0.575µs (SLO: <10.000µs 📉 -94.3%) vs baseline: +0.6% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ ospathsplit_aspectTime: ✅ 4.981µs (SLO: <10.000µs 📉 -50.2%) vs baseline: +1.7% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ ospathsplit_noaspectTime: ✅ 1.610µs (SLO: <10.000µs 📉 -83.9%) vs baseline: ~same Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ ospathsplitdrive_aspectTime: ✅ 3.650µs (SLO: <10.000µs 📉 -63.5%) vs baseline: +0.5% Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.8% ✅ ospathsplitdrive_noaspectTime: ✅ 0.707µs (SLO: <10.000µs 📉 -92.9%) vs baseline: +1.7% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ ospathsplitext_aspectTime: ✅ 4.590µs (SLO: <10.000µs 📉 -54.1%) vs baseline: +0.3% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ ospathsplitext_noaspectTime: ✅ 1.393µs (SLO: <10.000µs 📉 -86.1%) vs baseline: -0.5% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% 🟡 Near SLO Breach (5 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.425ms (SLO: <22.300ms -8.4%) vs baseline: -0.1% Memory: ✅ 65.485MB (SLO: <67.000MB -2.3%) vs baseline: +4.9% ✅ exception-replay-enabledTime: ✅ 1.346ms (SLO: <1.450ms -7.2%) vs baseline: -0.1% Memory: ✅ 64.529MB (SLO: <67.000MB -3.7%) vs baseline: +4.8% ✅ iastTime: ✅ 20.487ms (SLO: <22.250ms -7.9%) vs baseline: ~same Memory: ✅ 65.453MB (SLO: <67.000MB -2.3%) vs baseline: +5.0% ✅ profilerTime: ✅ 15.279ms (SLO: <16.550ms -7.7%) vs baseline: +0.4% Memory: ✅ 53.752MB (SLO: <54.500MB 🟡 -1.4%) vs baseline: +4.7% ✅ resource-renamingTime: ✅ 20.564ms (SLO: <21.750ms -5.5%) vs baseline: +0.2% Memory: ✅ 65.503MB (SLO: <67.000MB -2.2%) vs baseline: +4.8% ✅ span-code-originTime: ✅ 26.096ms (SLO: <28.200ms -7.5%) vs baseline: -0.5% Memory: ✅ 67.488MB (SLO: <69.500MB -2.9%) vs baseline: +4.6% ✅ tracerTime: ✅ 20.479ms (SLO: <21.750ms -5.8%) vs baseline: ~same Memory: ✅ 65.548MB (SLO: <67.000MB -2.2%) vs baseline: +5.1% ✅ tracer-and-profilerTime: ✅ 22.024ms (SLO: <23.500ms -6.3%) vs baseline: -0.1% Memory: ✅ 66.648MB (SLO: <67.500MB 🟡 -1.3%) vs baseline: +4.9% ✅ tracer-dont-create-db-spansTime: ✅ 19.338ms (SLO: <21.500ms 📉 -10.1%) vs baseline: -0.3% Memory: ✅ 65.496MB (SLO: <66.000MB 🟡 -0.8%) vs baseline: +5.0% ✅ tracer-minimalTime: ✅ 16.578ms (SLO: <17.500ms -5.3%) vs baseline: -0.3% Memory: ✅ 65.315MB (SLO: <66.000MB 🟡 -1.0%) vs baseline: +4.7% ✅ tracer-nativeTime: ✅ 20.519ms (SLO: <21.750ms -5.7%) vs baseline: ~same Memory: ✅ 71.365MB (SLO: <72.500MB 🟡 -1.6%) vs baseline: +4.8% ✅ tracer-no-cachesTime: ✅ 18.400ms (SLO: <19.650ms -6.4%) vs baseline: -0.6% Memory: ✅ 65.426MB (SLO: <67.000MB -2.3%) vs baseline: +4.9% ✅ tracer-no-databasesTime: ✅ 18.770ms (SLO: <20.100ms -6.6%) vs baseline: ~same Memory: ✅ 65.178MB (SLO: <67.000MB -2.7%) vs baseline: +4.6% ✅ tracer-no-middlewareTime: ✅ 20.185ms (SLO: <21.500ms -6.1%) vs baseline: +0.3% Memory: ✅ 65.427MB (SLO: <67.000MB -2.3%) vs baseline: +4.9% ✅ tracer-no-templatesTime: ✅ 20.301ms (SLO: <22.000ms -7.7%) vs baseline: -0.1% Memory: ✅ 65.372MB (SLO: <67.000MB -2.4%) vs baseline: +4.6% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.241ms (SLO: <19.850ms -8.1%) vs baseline: +1.4% Memory: ✅ 65.215MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +4.8% ✅ errortracking-enabled-userTime: ✅ 18.306ms (SLO: <19.400ms -5.6%) vs baseline: +1.9% Memory: ✅ 65.235MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +4.9% ✅ tracer-enabledTime: ✅ 18.044ms (SLO: <19.450ms -7.2%) vs baseline: +0.1% Memory: ✅ 65.235MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +4.8% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.554ms (SLO: <4.750ms -4.1%) vs baseline: ~same Memory: ✅ 61.951MB (SLO: <65.000MB -4.7%) vs baseline: +4.8% ✅ appsec-postTime: ✅ 6.552ms (SLO: <6.750ms -2.9%) vs baseline: -0.4% Memory: ✅ 62.010MB (SLO: <65.000MB -4.6%) vs baseline: +4.9% ✅ appsec-telemetryTime: ✅ 4.552ms (SLO: <4.750ms -4.2%) vs baseline: -0.2% Memory: ✅ 61.873MB (SLO: <65.000MB -4.8%) vs baseline: +4.5% ✅ debuggerTime: ✅ 1.857ms (SLO: <2.000ms -7.1%) vs baseline: +0.2% Memory: ✅ 45.397MB (SLO: <47.000MB -3.4%) vs baseline: +4.5% ✅ iast-getTime: ✅ 1.887ms (SLO: <2.000ms -5.6%) vs baseline: +0.9% Memory: ✅ 42.428MB (SLO: <49.000MB 📉 -13.4%) vs baseline: +5.1% ✅ profilerTime: ✅ 1.910ms (SLO: <2.100ms -9.1%) vs baseline: +0.2% Memory: ✅ 46.537MB (SLO: <47.000MB 🟡 -1.0%) vs baseline: +4.9% ✅ resource-renamingTime: ✅ 3.371ms (SLO: <3.650ms -7.7%) vs baseline: +0.1% Memory: ✅ 52.199MB (SLO: <53.500MB -2.4%) vs baseline: +4.9% ✅ tracerTime: ✅ 3.358ms (SLO: <3.650ms -8.0%) vs baseline: -0.2% Memory: ✅ 52.258MB (SLO: <53.500MB -2.3%) vs baseline: +4.9% ✅ tracer-nativeTime: ✅ 3.355ms (SLO: <3.650ms -8.1%) vs baseline: -0.4% Memory: ✅ 58.371MB (SLO: <60.000MB -2.7%) vs baseline: +4.9% 🟡 otelspan - 22/22✅ add-eventTime: ✅ 40.815ms (SLO: <47.150ms 📉 -13.4%) vs baseline: -3.7% Memory: ✅ 44.163MB (SLO: <47.000MB -6.0%) vs baseline: +4.1% ✅ add-metricsTime: ✅ 319.000ms (SLO: <344.800ms -7.5%) vs baseline: +0.4% Memory: ✅ 617.996MB (SLO: <630.000MB 🟡 -1.9%) vs baseline: +8.7% ✅ add-tagsTime: ✅ 289.048ms (SLO: <314.000ms -7.9%) vs baseline: -0.3% Memory: ✅ 618.222MB (SLO: <630.000MB 🟡 -1.9%) vs baseline: +8.6% ✅ get-contextTime: ✅ 80.780ms (SLO: <92.350ms 📉 -12.5%) vs baseline: -0.1% Memory: ✅ 39.746MB (SLO: <46.500MB 📉 -14.5%) vs baseline: +4.4% ✅ is-recordingTime: ✅ 38.459ms (SLO: <44.500ms 📉 -13.6%) vs baseline: -1.0% Memory: ✅ 43.581MB (SLO: <47.500MB -8.2%) vs baseline: +4.0% ✅ record-exceptionTime: ✅ 58.438ms (SLO: <67.650ms 📉 -13.6%) vs baseline: -0.5% Memory: ✅ 40.087MB (SLO: <47.000MB 📉 -14.7%) vs baseline: +4.3% ✅ set-statusTime: ✅ 44.328ms (SLO: <50.400ms 📉 -12.0%) vs baseline: -0.9% Memory: ✅ 43.592MB (SLO: <47.000MB -7.3%) vs baseline: +4.1% ✅ startTime: ✅ 37.526ms (SLO: <43.450ms 📉 -13.6%) vs baseline: -2.1% Memory: ✅ 43.575MB (SLO: <47.000MB -7.3%) vs baseline: +4.0% ✅ start-finishTime: ✅ 82.576ms (SLO: <88.000ms -6.2%) vs baseline: -0.2% Memory: ✅ 34.583MB (SLO: <46.500MB 📉 -25.6%) vs baseline: +4.9% ✅ start-finish-telemetryTime: ✅ 84.123ms (SLO: <89.000ms -5.5%) vs baseline: -0.2% Memory: ✅ 34.505MB (SLO: <46.500MB 📉 -25.8%) vs baseline: +4.7% ✅ update-nameTime: ✅ 39.055ms (SLO: <45.150ms 📉 -13.5%) vs baseline: -2.5% Memory: ✅ 43.901MB (SLO: <47.000MB -6.6%) vs baseline: +4.2% 🟡 span - 26/26✅ add-eventTime: ✅ 20.678ms (SLO: <22.500ms -8.1%) vs baseline: +0.4% Memory: ✅ 49.632MB (SLO: <53.000MB -6.4%) vs baseline: +3.3% ✅ add-metricsTime: ✅ 89.873ms (SLO: <93.500ms -3.9%) vs baseline: -1.3% Memory: ✅ 690.263MB (SLO: <961.000MB 📉 -28.2%) vs baseline: +9.4% ✅ add-tagsTime: ✅ 147.978ms (SLO: <155.000ms -4.5%) vs baseline: -0.8% Memory: ✅ 690.036MB (SLO: <962.500MB 📉 -28.3%) vs baseline: +9.3% ✅ get-contextTime: ✅ 18.839ms (SLO: <20.500ms -8.1%) vs baseline: -1.8% Memory: ✅ 48.433MB (SLO: <53.000MB -8.6%) vs baseline: +3.4% ✅ is-recordingTime: ✅ 19.127ms (SLO: <20.500ms -6.7%) vs baseline: -2.3% Memory: ✅ 48.381MB (SLO: <53.000MB -8.7%) vs baseline: +3.2% ✅ record-exceptionTime: ✅ 37.718ms (SLO: <40.000ms -5.7%) vs baseline: -1.9% Memory: ✅ 42.420MB (SLO: <53.000MB 📉 -20.0%) vs baseline: +4.2% ✅ set-statusTime: ✅ 20.663ms (SLO: <22.000ms -6.1%) vs baseline: -2.4% Memory: ✅ 48.460MB (SLO: <53.000MB -8.6%) vs baseline: +3.4% ✅ startTime: ✅ 19.095ms (SLO: <20.500ms -6.9%) vs baseline: -0.9% Memory: ✅ 48.432MB (SLO: <53.000MB -8.6%) vs baseline: +3.3% ✅ start-finishTime: ✅ 51.567ms (SLO: <52.500ms 🟡 -1.8%) vs baseline: ~same Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +4.7% ✅ start-finish-telemetryTime: ✅ 52.722ms (SLO: <54.500ms -3.3%) vs baseline: ~same Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +5.0% ✅ start-finish-traceid128Time: ✅ 54.826ms (SLO: <56.000ms -2.1%) vs baseline: ~same Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +4.7% ✅ start-traceid128Time: ✅ 19.344ms (SLO: <22.500ms 📉 -14.0%) vs baseline: -1.4% Memory: ✅ 48.392MB (SLO: <53.000MB -8.7%) vs baseline: +3.2% ✅ update-nameTime: ✅ 19.205ms (SLO: <22.000ms 📉 -12.7%) vs baseline: -3.1% Memory: ✅ 49.201MB (SLO: <53.000MB -7.2%) vs baseline: +3.6% 📉 Performance Improvements (1 suite)📉 samplingrules - 8/8✅ average_matchTime: ✅ 137.484µs (SLO: <290.000µs 📉 -52.6%) vs baseline: -6.9% Memory: ✅ 32.086MB (SLO: <34.000MB -5.6%) vs baseline: +4.9% ✅ high_matchTime: ✅ 173.834µs (SLO: <480.000µs 📉 -63.8%) vs baseline: 📉 -10.9% Memory: ✅ 32.047MB (SLO: <34.000MB -5.7%) vs baseline: +4.4% ✅ low_matchTime: ✅ 98.733µs (SLO: <120.000µs 📉 -17.7%) vs baseline: -1.9% Memory: ✅ 600.893MB (SLO: <700.000MB 📉 -14.2%) vs baseline: -0.4% ✅ very_low_matchTime: ✅ 2.670ms (SLO: <8.500ms 📉 -68.6%) vs baseline: -7.2% Memory: ✅ 68.290MB (SLO: <75.000MB -8.9%) vs baseline: +1.7%
|
Description
We used to store resource name as a list so that the profiling product could grab a mutable reference to the resource name since it may change during the lifetime of a trace.
This hack is no longer used, we can go back to storing resource name as just a normal string.
Testing
Risks
Additional Notes