-
Notifications
You must be signed in to change notification settings - Fork 457
feat(profiling): replace type hints with modern type annotations #14679
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
f2cb713
to
7557591
Compare
|
7557591
to
1272d3c
Compare
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 239 ± 4 ms. The average import time from base is: 242 ± 4 ms. The import time difference between this PR and base is: -3.0 ± 0.2 ms. Import time breakdownThe following import paths have shrunk:
|
f838987
to
1176bf3
Compare
Performance SLOsComparing candidate feat/lock-profiler-improvements (3a6dfe7) with baseline main (6d6cc54) 📈 Performance Regressions (1 suite)📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 4.382µs (SLO: <10.000µs 📉 -56.2%) vs baseline: -0.1% Memory: ✅ 37.749MB (SLO: <39.000MB -3.2%) vs baseline: +5.2% ✅ ospathbasename_noaspectTime: ✅ 1.075µs (SLO: <10.000µs 📉 -89.2%) vs baseline: -0.7% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.8% ✅ ospathjoin_aspectTime: ✅ 6.111µs (SLO: <10.000µs 📉 -38.9%) vs baseline: +0.4% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ ospathjoin_noaspectTime: ✅ 2.295µs (SLO: <10.000µs 📉 -77.1%) vs baseline: +0.5% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ ospathnormcase_aspectTime: ✅ 3.505µs (SLO: <10.000µs 📉 -64.9%) vs baseline: +0.9% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ ospathnormcase_noaspectTime: ✅ 0.570µs (SLO: <10.000µs 📉 -94.3%) vs baseline: -0.4% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ ospathsplit_aspectTime: ✅ 4.978µs (SLO: <10.000µs 📉 -50.2%) vs baseline: +0.2% Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.6% ✅ ospathsplit_noaspectTime: ✅ 1.590µs (SLO: <10.000µs 📉 -84.1%) vs baseline: +0.6% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ ospathsplitdrive_aspectTime: ✅ 4.194µs (SLO: <10.000µs 📉 -58.1%) vs baseline: 📈 +13.0% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ ospathsplitdrive_noaspectTime: ✅ 0.699µs (SLO: <10.000µs 📉 -93.0%) vs baseline: +0.7% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% ✅ ospathsplitext_aspectTime: ✅ 4.584µs (SLO: <10.000µs 📉 -54.2%) vs baseline: +0.5% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.1% ✅ ospathsplitext_noaspectTime: ✅ 1.375µs (SLO: <10.000µs 📉 -86.2%) vs baseline: -0.8% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% 🟡 Near SLO Breach (4 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.456ms (SLO: <22.300ms -8.3%) vs baseline: -0.6% Memory: ✅ 65.302MB (SLO: <67.000MB -2.5%) vs baseline: +4.8% ✅ exception-replay-enabledTime: ✅ 1.351ms (SLO: <1.450ms -6.8%) vs baseline: ~same Memory: ✅ 64.173MB (SLO: <67.000MB -4.2%) vs baseline: +4.8% ✅ iastTime: ✅ 20.468ms (SLO: <22.250ms -8.0%) vs baseline: -0.3% Memory: ✅ 65.317MB (SLO: <67.000MB -2.5%) vs baseline: +4.9% ✅ profilerTime: ✅ 15.189ms (SLO: <16.550ms -8.2%) vs baseline: -0.5% Memory: ✅ 53.574MB (SLO: <54.500MB 🟡 -1.7%) vs baseline: +4.9% ✅ resource-renamingTime: ✅ 20.638ms (SLO: <21.750ms -5.1%) vs baseline: +0.2% Memory: ✅ 65.302MB (SLO: <67.000MB -2.5%) vs baseline: +4.7% ✅ span-code-originTime: ✅ 26.182ms (SLO: <28.200ms -7.2%) vs baseline: ~same Memory: ✅ 67.263MB (SLO: <69.500MB -3.2%) vs baseline: +4.7% ✅ tracerTime: ✅ 20.480ms (SLO: <21.750ms -5.8%) vs baseline: -0.4% Memory: ✅ 65.306MB (SLO: <67.000MB -2.5%) vs baseline: +4.9% ✅ tracer-and-profilerTime: ✅ 22.040ms (SLO: <23.500ms -6.2%) vs baseline: -0.2% Memory: ✅ 66.376MB (SLO: <67.500MB 🟡 -1.7%) vs baseline: +4.9% ✅ tracer-dont-create-db-spansTime: ✅ 19.315ms (SLO: <21.500ms 📉 -10.2%) vs baseline: -0.4% Memory: ✅ 65.310MB (SLO: <66.000MB 🟡 -1.0%) vs baseline: +4.7% ✅ tracer-minimalTime: ✅ 16.660ms (SLO: <17.500ms -4.8%) vs baseline: +0.2% Memory: ✅ 65.013MB (SLO: <66.000MB 🟡 -1.5%) vs baseline: +4.8% ✅ tracer-nativeTime: ✅ 20.581ms (SLO: <21.750ms -5.4%) vs baseline: +0.4% Memory: ✅ 71.074MB (SLO: <72.500MB 🟡 -2.0%) vs baseline: +4.8% ✅ tracer-no-cachesTime: ✅ 18.450ms (SLO: <19.650ms -6.1%) vs baseline: -0.5% Memory: ✅ 65.347MB (SLO: <67.000MB -2.5%) vs baseline: +4.9% ✅ tracer-no-databasesTime: ✅ 18.779ms (SLO: <20.100ms -6.6%) vs baseline: -0.1% Memory: ✅ 64.932MB (SLO: <67.000MB -3.1%) vs baseline: +4.8% ✅ tracer-no-middlewareTime: ✅ 20.218ms (SLO: <21.500ms -6.0%) vs baseline: +0.2% Memory: ✅ 65.343MB (SLO: <67.000MB -2.5%) vs baseline: +4.9% ✅ tracer-no-templatesTime: ✅ 20.331ms (SLO: <22.000ms -7.6%) vs baseline: -0.7% Memory: ✅ 65.287MB (SLO: <67.000MB -2.6%) vs baseline: +4.8% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.046ms (SLO: <19.850ms -9.1%) vs baseline: -0.4% Memory: ✅ 65.250MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +4.9% ✅ errortracking-enabled-userTime: ✅ 18.072ms (SLO: <19.400ms -6.8%) vs baseline: +0.1% Memory: ✅ 65.280MB (SLO: <66.500MB 🟡 -1.8%) vs baseline: +5.0% ✅ tracer-enabledTime: ✅ 18.122ms (SLO: <19.450ms -6.8%) vs baseline: +0.4% Memory: ✅ 65.194MB (SLO: <66.500MB 🟡 -2.0%) vs baseline: +4.9% 🟡 flasksqli - 6/6✅ appsec-enabledTime: ✅ 3.945ms (SLO: <4.200ms -6.1%) vs baseline: -0.2% Memory: ✅ 63.314MB (SLO: <66.000MB -4.1%) vs baseline: +4.8% ✅ iast-enabledTime: ✅ 2.458ms (SLO: <2.800ms 📉 -12.2%) vs baseline: ~same Memory: ✅ 58.824MB (SLO: <60.000MB 🟡 -2.0%) vs baseline: +4.8% ✅ tracer-enabledTime: ✅ 2.080ms (SLO: <2.250ms -7.6%) vs baseline: -0.3% Memory: ✅ 52.029MB (SLO: <54.500MB -4.5%) vs baseline: +4.8% 🟡 otelspan - 22/22✅ add-eventTime: ✅ 45.329ms (SLO: <47.150ms -3.9%) vs baseline: +0.2% Memory: ✅ 45.151MB (SLO: <47.000MB -3.9%) vs baseline: +5.1% ✅ add-metricsTime: ✅ 322.544ms (SLO: <344.800ms -6.5%) vs baseline: +1.8% Memory: ✅ 552.337MB (SLO: <562.000MB 🟡 -1.7%) vs baseline: +4.7% ✅ add-tagsTime: ✅ 292.475ms (SLO: <314.000ms -6.9%) vs baseline: ~same Memory: ✅ 555.213MB (SLO: <563.500MB 🟡 -1.5%) vs baseline: +5.1% ✅ get-contextTime: ✅ 82.467ms (SLO: <92.350ms 📉 -10.7%) vs baseline: +0.1% Memory: ✅ 40.073MB (SLO: <46.500MB 📉 -13.8%) vs baseline: +4.4% ✅ is-recordingTime: ✅ 43.972ms (SLO: <44.500ms 🟡 -1.2%) vs baseline: +2.7% Memory: ✅ 44.544MB (SLO: <47.500MB -6.2%) vs baseline: +4.9% ✅ record-exceptionTime: ✅ 61.891ms (SLO: <67.650ms -8.5%) vs baseline: -0.1% Memory: ✅ 40.490MB (SLO: <47.000MB 📉 -13.9%) vs baseline: +4.8% ✅ set-statusTime: ✅ 49.697ms (SLO: <50.400ms 🟡 -1.4%) vs baseline: +2.0% Memory: ✅ 44.501MB (SLO: <47.000MB -5.3%) vs baseline: +4.8% ✅ startTime: ✅ 42.259ms (SLO: <43.450ms -2.7%) vs baseline: +0.2% Memory: ✅ 44.528MB (SLO: <47.000MB -5.3%) vs baseline: +4.8% ✅ start-finishTime: ✅ 83.412ms (SLO: <88.000ms -5.2%) vs baseline: +0.4% Memory: ✅ 34.583MB (SLO: <46.500MB 📉 -25.6%) vs baseline: +4.9% ✅ start-finish-telemetryTime: ✅ 84.890ms (SLO: <89.000ms -4.6%) vs baseline: +0.4% Memory: ✅ 34.544MB (SLO: <46.500MB 📉 -25.7%) vs baseline: +4.9% ✅ update-nameTime: ✅ 44.140ms (SLO: <45.150ms -2.2%) vs baseline: ~same Memory: ✅ 44.792MB (SLO: <47.000MB -4.7%) vs baseline: +4.8%
|
29b8382
to
e159cb0
Compare
e159cb0
to
269bdf1
Compare
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.
Changes to _lock.py LGTM.
019a117
to
58ffe01
Compare
58ffe01
to
3a6dfe7
Compare
3a6dfe7
to
1f780a4
Compare
This has merge conflicts after #14527 was merged |
1f780a4
to
0880cdb
Compare
PROF-12594
Description
The most obvious improvement to the current
Lock
profiler is upgrading it to using type annotations. This PR does that, as well as fixes a few formatting issues along the way.Testing
black
v23.10.1 (version used in CI)mypy
ruff
Risks
n/a
Additional Notes
n/a