-
Notifications
You must be signed in to change notification settings - Fork 467
chore: limit symdb uploaders under spawn #15140
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: main
Are you sure you want to change the base?
Conversation
|
|
b8ade2d to
77ab2c8
Compare
We use file-based IPC to ensure that Symbol DB has as most 2 active uploader processes under more general circumstances than fork, such as spawn.
77ab2c8 to
3263680
Compare
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 250 ± 10 ms. The average import time from base is: 250 ± 10 ms. The import time difference between this PR and base is: -2.2 ± 0.5 ms. Import time breakdownThe following import paths have appeared:
|
Performance SLOsComparing candidate refactor/symdb-cap-uploads-via-ipc (3263680) with baseline main (aeb5df4) 📈 Performance Regressions (1 suite)📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 4.591µs (SLO: <10.000µs 📉 -54.1%) vs baseline: +7.4% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.6% ✅ ospathbasename_noaspectTime: ✅ 1.095µs (SLO: <10.000µs 📉 -89.1%) vs baseline: +0.8% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.6% ✅ ospathjoin_aspectTime: ✅ 7.064µs (SLO: <10.000µs 📉 -29.4%) vs baseline: 📈 +14.8% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.1% ✅ ospathjoin_noaspectTime: ✅ 2.326µs (SLO: <10.000µs 📉 -76.7%) vs baseline: +0.6% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +4.7% ✅ ospathnormcase_aspectTime: ✅ 3.587µs (SLO: <10.000µs 📉 -64.1%) vs baseline: +2.0% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.4% ✅ ospathnormcase_noaspectTime: ✅ 0.568µs (SLO: <10.000µs 📉 -94.3%) vs baseline: -0.3% Memory: ✅ 37.572MB (SLO: <39.000MB -3.7%) vs baseline: +4.6% ✅ ospathsplit_aspectTime: ✅ 5.986µs (SLO: <10.000µs 📉 -40.1%) vs baseline: 📈 +24.6% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.7% ✅ ospathsplit_noaspectTime: ✅ 1.596µs (SLO: <10.000µs 📉 -84.0%) vs baseline: +0.3% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +4.7% ✅ ospathsplitdrive_aspectTime: ✅ 4.324µs (SLO: <10.000µs 📉 -56.8%) vs baseline: 📈 +15.8% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.6% ✅ ospathsplitdrive_noaspectTime: ✅ 0.695µs (SLO: <10.000µs 📉 -93.0%) vs baseline: -1.1% Memory: ✅ 37.532MB (SLO: <39.000MB -3.8%) vs baseline: +4.1% ✅ ospathsplitext_aspectTime: ✅ 4.616µs (SLO: <10.000µs 📉 -53.8%) vs baseline: +0.6% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.5% ✅ ospathsplitext_noaspectTime: ✅ 1.388µs (SLO: <10.000µs 📉 -86.1%) vs baseline: +0.6% Memory: ✅ 37.552MB (SLO: <39.000MB -3.7%) vs baseline: +4.6% 🟡 Near SLO Breach (5 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.486ms (SLO: <22.300ms -8.1%) vs baseline: +0.1% Memory: ✅ 66.060MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +4.8% ✅ exception-replay-enabledTime: ✅ 1.343ms (SLO: <1.450ms -7.4%) vs baseline: +0.3% Memory: ✅ 64.123MB (SLO: <67.000MB -4.3%) vs baseline: +4.8% ✅ iastTime: ✅ 20.458ms (SLO: <22.250ms -8.1%) vs baseline: +0.3% Memory: ✅ 66.178MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +5.0% ✅ profilerTime: ✅ 15.500ms (SLO: <16.550ms -6.3%) vs baseline: +0.1% Memory: ✅ 53.842MB (SLO: <54.500MB 🟡 -1.2%) vs baseline: +4.9% ✅ resource-renamingTime: ✅ 20.476ms (SLO: <21.750ms -5.9%) vs baseline: -0.3% Memory: ✅ 66.080MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +4.9% ✅ span-code-originTime: ✅ 25.444ms (SLO: <28.200ms -9.8%) vs baseline: -0.2% Memory: ✅ 67.066MB (SLO: <69.500MB -3.5%) vs baseline: +4.7% ✅ tracerTime: ✅ 20.509ms (SLO: <21.750ms -5.7%) vs baseline: -0.3% Memory: ✅ 66.060MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +5.0% ✅ tracer-and-profilerTime: ✅ 22.685ms (SLO: <23.500ms -3.5%) vs baseline: -0.1% Memory: ✅ 67.446MB (SLO: <68.000MB 🟡 -0.8%) vs baseline: +4.8% ✅ tracer-dont-create-db-spansTime: ✅ 19.258ms (SLO: <21.500ms 📉 -10.4%) vs baseline: -0.6% Memory: ✅ 66.031MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +4.9% ✅ tracer-minimalTime: ✅ 16.600ms (SLO: <17.500ms -5.1%) vs baseline: -0.2% Memory: ✅ 65.766MB (SLO: <67.000MB 🟡 -1.8%) vs baseline: +4.7% ✅ tracer-nativeTime: ✅ 20.392ms (SLO: <21.750ms -6.2%) vs baseline: -0.3% Memory: ✅ 67.633MB (SLO: <72.500MB -6.7%) vs baseline: +4.8% ✅ tracer-no-cachesTime: ✅ 18.380ms (SLO: <19.650ms -6.5%) vs baseline: -0.2% Memory: ✅ 66.011MB (SLO: <67.000MB 🟡 -1.5%) vs baseline: +4.8% ✅ tracer-no-databasesTime: ✅ 18.779ms (SLO: <20.100ms -6.6%) vs baseline: +0.2% Memory: ✅ 65.677MB (SLO: <67.000MB 🟡 -2.0%) vs baseline: +4.7% ✅ tracer-no-middlewareTime: ✅ 20.139ms (SLO: <21.500ms -6.3%) vs baseline: -0.2% Memory: ✅ 66.089MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +4.9% ✅ tracer-no-templatesTime: ✅ 20.324ms (SLO: <22.000ms -7.6%) vs baseline: ~same Memory: ✅ 66.003MB (SLO: <67.000MB 🟡 -1.5%) vs baseline: +4.8% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.056ms (SLO: <19.850ms -9.0%) vs baseline: +0.2% Memory: ✅ 66.001MB (SLO: <66.500MB 🟡 -0.7%) vs baseline: +4.8% ✅ errortracking-enabled-userTime: ✅ 18.031ms (SLO: <19.400ms -7.1%) vs baseline: ~same Memory: ✅ 65.923MB (SLO: <66.500MB 🟡 -0.9%) vs baseline: +4.6% ✅ tracer-enabledTime: ✅ 18.074ms (SLO: <19.450ms -7.1%) vs baseline: ~same Memory: ✅ 65.677MB (SLO: <66.500MB 🟡 -1.2%) vs baseline: +4.8% 🟡 errortrackingflasksqli - 6/6✅ errortracking-enabled-allTime: ✅ 2.073ms (SLO: <2.300ms -9.9%) vs baseline: +0.3% Memory: ✅ 52.494MB (SLO: <53.500MB 🟡 -1.9%) vs baseline: +5.2% ✅ errortracking-enabled-userTime: ✅ 2.069ms (SLO: <2.250ms -8.0%) vs baseline: -0.1% Memory: ✅ 52.416MB (SLO: <53.500MB -2.0%) vs baseline: +4.9% ✅ tracer-enabledTime: ✅ 2.070ms (SLO: <2.300ms 📉 -10.0%) vs baseline: -0.1% Memory: ✅ 52.416MB (SLO: <53.500MB -2.0%) vs baseline: +5.3% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.602ms (SLO: <4.750ms -3.1%) vs baseline: +0.5% Memory: ✅ 62.216MB (SLO: <65.000MB -4.3%) vs baseline: +4.8% ✅ appsec-postTime: ✅ 6.623ms (SLO: <6.750ms 🟡 -1.9%) vs baseline: ~same Memory: ✅ 62.280MB (SLO: <65.000MB -4.2%) vs baseline: +4.9% ✅ appsec-telemetryTime: ✅ 4.593ms (SLO: <4.750ms -3.3%) vs baseline: +0.2% Memory: ✅ 62.140MB (SLO: <65.000MB -4.4%) vs baseline: +4.8% ✅ debuggerTime: ✅ 1.856ms (SLO: <2.000ms -7.2%) vs baseline: +0.2% Memory: ✅ 45.235MB (SLO: <47.000MB -3.8%) vs baseline: +4.9% ✅ iast-getTime: ✅ 1.855ms (SLO: <2.000ms -7.2%) vs baseline: -0.4% Memory: ✅ 42.140MB (SLO: <49.000MB 📉 -14.0%) vs baseline: +5.1% ✅ profilerTime: ✅ 1.912ms (SLO: <2.100ms -9.0%) vs baseline: +0.2% Memory: ✅ 46.542MB (SLO: <47.000MB 🟡 -1.0%) vs baseline: +4.8% ✅ resource-renamingTime: ✅ 3.362ms (SLO: <3.650ms -7.9%) vs baseline: -0.2% Memory: ✅ 52.534MB (SLO: <53.500MB 🟡 -1.8%) vs baseline: +4.9% ✅ tracerTime: ✅ 3.353ms (SLO: <3.650ms -8.1%) vs baseline: +0.2% Memory: ✅ 52.508MB (SLO: <53.500MB 🟡 -1.9%) vs baseline: +5.2% ✅ tracer-nativeTime: ✅ 3.353ms (SLO: <3.650ms -8.1%) vs baseline: +0.1% Memory: ✅ 54.045MB (SLO: <60.000MB -9.9%) vs baseline: +4.9% 🟡 flasksqli - 6/6✅ appsec-enabledTime: ✅ 3.966ms (SLO: <4.200ms -5.6%) vs baseline: +0.2% Memory: ✅ 62.226MB (SLO: <66.000MB -5.7%) vs baseline: +4.9% ✅ iast-enabledTime: ✅ 2.456ms (SLO: <2.800ms 📉 -12.3%) vs baseline: +0.8% Memory: ✅ 59.120MB (SLO: <60.000MB 🟡 -1.5%) vs baseline: +4.9% ✅ tracer-enabledTime: ✅ 2.056ms (SLO: <2.250ms -8.6%) vs baseline: -0.3% Memory: ✅ 52.455MB (SLO: <54.500MB -3.8%) vs baseline: +4.6%
|
Description
We use file-based IPC to ensure that Symbol DB has as most 2 active uploader processes under more general circumstances than fork, such as spawn.