-
Notifications
You must be signed in to change notification settings - Fork 467
chore(asgi): refactor websocket code to use core API #14345
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: 242 ± 3 ms. The average import time from base is: 243 ± 3 ms. The import time difference between this PR and base is: -1.0 ± 0.1 ms. Import time breakdownThe following import paths have appeared:
|
Performance SLOsComparing candidate refactor-asgi-core-api (ce2ccb4) with baseline main (967ff6d) 📈 Performance Regressions (1 suite)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 0.406µs (SLO: <10.000µs 📉 -95.9%) vs baseline: -0.7% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ add_inplace_aspectTime: ✅ 0.402µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -1.2% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ add_inplace_noaspectTime: ✅ 0.323µs (SLO: <10.000µs 📉 -96.8%) vs baseline: +1.2% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ add_noaspectTime: ✅ 0.275µs (SLO: <10.000µs 📉 -97.3%) vs baseline: -1.9% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ bytearray_aspectTime: ✅ 1.343µs (SLO: <10.000µs 📉 -86.6%) vs baseline: +0.8% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ bytearray_extend_aspectTime: ✅ 1.512µs (SLO: <10.000µs 📉 -84.9%) vs baseline: -0.7% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ bytearray_extend_noaspectTime: ✅ 0.617µs (SLO: <10.000µs 📉 -93.8%) vs baseline: +0.6% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.1% ✅ bytearray_noaspectTime: ✅ 0.483µs (SLO: <10.000µs 📉 -95.2%) vs baseline: -1.2% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ bytes_aspectTime: ✅ 1.314µs (SLO: <10.000µs 📉 -86.9%) vs baseline: +1.7% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% ✅ bytes_noaspectTime: ✅ 0.496µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +0.1% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ bytesio_aspectTime: ✅ 1.364µs (SLO: <10.000µs 📉 -86.4%) vs baseline: -0.3% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ bytesio_noaspectTime: ✅ 0.500µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +1.4% Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.9% ✅ capitalize_aspectTime: ✅ 0.736µs (SLO: <10.000µs 📉 -92.6%) vs baseline: +0.3% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.1% ✅ capitalize_noaspectTime: ✅ 0.434µs (SLO: <10.000µs 📉 -95.7%) vs baseline: -0.9% Memory: ✅ 37.749MB (SLO: <39.000MB -3.2%) vs baseline: +5.0% ✅ casefold_aspectTime: ✅ 0.732µs (SLO: <10.000µs 📉 -92.7%) vs baseline: -1.4% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ casefold_noaspectTime: ✅ 0.368µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.8% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ decode_aspectTime: ✅ 0.730µs (SLO: <10.000µs 📉 -92.7%) vs baseline: +0.7% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ decode_noaspectTime: ✅ 0.418µs (SLO: <10.000µs 📉 -95.8%) vs baseline: +0.3% Memory: ✅ 37.611MB (SLO: <39.000MB -3.6%) vs baseline: +4.6% ✅ encode_aspectTime: ✅ 0.710µs (SLO: <10.000µs 📉 -92.9%) vs baseline: -0.2% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.6% ✅ encode_noaspectTime: ✅ 0.403µs (SLO: <10.000µs 📉 -96.0%) vs baseline: +0.5% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ format_aspectTime: ✅ 3.549µs (SLO: <10.000µs 📉 -64.5%) vs baseline: +5.5% Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ format_map_aspectTime: ✅ 3.607µs (SLO: <10.000µs 📉 -63.9%) vs baseline: +0.7% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ format_map_noaspectTime: ✅ 0.782µs (SLO: <10.000µs 📉 -92.2%) vs baseline: +0.4% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ format_noaspectTime: ✅ 0.596µs (SLO: <10.000µs 📉 -94.0%) vs baseline: +0.6% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ index_aspectTime: ✅ 0.364µs (SLO: <10.000µs 📉 -96.4%) vs baseline: +1.5% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.1% ✅ index_noaspectTime: ✅ 0.277µs (SLO: <10.000µs 📉 -97.2%) vs baseline: -0.2% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.6% ✅ join_aspectTime: ✅ 1.353µs (SLO: <10.000µs 📉 -86.5%) vs baseline: -0.2% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ join_noaspectTime: ✅ 0.493µs (SLO: <10.000µs 📉 -95.1%) vs baseline: +1.0% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ ljust_aspectTime: ✅ 2.707µs (SLO: <20.000µs 📉 -86.5%) vs baseline: +5.7% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ ljust_noaspectTime: ✅ 0.403µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -0.6% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.1% ✅ lower_aspectTime: ✅ 2.335µs (SLO: <10.000µs 📉 -76.7%) vs baseline: +6.4% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.8% ✅ lower_noaspectTime: ✅ 0.369µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.8% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ lstrip_aspectTime: ✅ 2.518µs (SLO: <20.000µs 📉 -87.4%) vs baseline: 📈 +14.1% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.8% ✅ lstrip_noaspectTime: ✅ 0.382µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -1.3% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ modulo_aspectTime: ✅ 0.994µs (SLO: <10.000µs 📉 -90.1%) vs baseline: -0.4% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.8% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 1.594µs (SLO: <10.000µs 📉 -84.1%) vs baseline: +3.4% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ modulo_aspect_for_bytesTime: ✅ 0.980µs (SLO: <10.000µs 📉 -90.2%) vs baseline: -0.1% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 1.262µs (SLO: <10.000µs 📉 -87.4%) vs baseline: +2.7% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.8% ✅ modulo_noaspectTime: ✅ 0.626µs (SLO: <10.000µs 📉 -93.7%) vs baseline: -0.3% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% ✅ replace_aspectTime: ✅ 5.432µs (SLO: <10.000µs 📉 -45.7%) vs baseline: 📈 +12.3% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ replace_noaspectTime: ✅ 0.463µs (SLO: <10.000µs 📉 -95.4%) vs baseline: +0.9% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.8% ✅ repr_aspectTime: ✅ 0.903µs (SLO: <10.000µs 📉 -91.0%) vs baseline: -0.4% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ repr_noaspectTime: ✅ 0.423µs (SLO: <10.000µs 📉 -95.8%) vs baseline: +2.1% Memory: ✅ 37.572MB (SLO: <39.000MB -3.7%) vs baseline: +4.5% ✅ rstrip_aspectTime: ✅ 2.043µs (SLO: <20.000µs 📉 -89.8%) vs baseline: +7.9% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ rstrip_noaspectTime: ✅ 0.381µs (SLO: <10.000µs 📉 -96.2%) vs baseline: +0.8% Memory: ✅ 37.749MB (SLO: <39.000MB -3.2%) vs baseline: +5.1% ✅ slice_aspectTime: ✅ 0.497µs (SLO: <10.000µs 📉 -95.0%) vs baseline: ~same Memory: ✅ 37.591MB (SLO: <39.000MB -3.6%) vs baseline: +4.5% ✅ slice_noaspectTime: ✅ 0.447µs (SLO: <10.000µs 📉 -95.5%) vs baseline: ~same Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ stringio_aspectTime: ✅ 1.764µs (SLO: <10.000µs 📉 -82.4%) vs baseline: 📈 +12.3% Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.6% ✅ stringio_noaspectTime: ✅ 0.728µs (SLO: <10.000µs 📉 -92.7%) vs baseline: +0.8% Memory: ✅ 37.749MB (SLO: <39.000MB -3.2%) vs baseline: +5.1% ✅ strip_aspectTime: ✅ 2.502µs (SLO: <20.000µs 📉 -87.5%) vs baseline: 📈 +14.7% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.8% ✅ strip_noaspectTime: ✅ 0.380µs (SLO: <10.000µs 📉 -96.2%) vs baseline: ~same Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ swapcase_aspectTime: ✅ 2.413µs (SLO: <10.000µs 📉 -75.9%) vs baseline: +0.6% Memory: ✅ 37.591MB (SLO: <39.000MB -3.6%) vs baseline: +4.8% ✅ swapcase_noaspectTime: ✅ 0.541µs (SLO: <10.000µs 📉 -94.6%) vs baseline: +1.3% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ title_aspectTime: ✅ 2.434µs (SLO: <10.000µs 📉 -75.7%) vs baseline: +5.5% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.1% ✅ title_noaspectTime: ✅ 0.506µs (SLO: <10.000µs 📉 -94.9%) vs baseline: +1.1% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ translate_aspectTime: ✅ 3.251µs (SLO: <10.000µs 📉 -67.5%) vs baseline: +0.3% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.8% ✅ translate_noaspectTime: ✅ 1.038µs (SLO: <10.000µs 📉 -89.6%) vs baseline: -0.2% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ upper_aspectTime: ✅ 2.383µs (SLO: <10.000µs 📉 -76.2%) vs baseline: +8.8% Memory: ✅ 37.611MB (SLO: <39.000MB -3.6%) vs baseline: +4.7% ✅ upper_noaspectTime: ✅ 0.369µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.2% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% 🟡 Near SLO Breach (4 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.496ms (SLO: <22.300ms -8.1%) vs baseline: +0.1% Memory: ✅ 65.352MB (SLO: <67.000MB -2.5%) vs baseline: +4.5% ✅ exception-replay-enabledTime: ✅ 1.342ms (SLO: <1.450ms -7.4%) vs baseline: -0.2% Memory: ✅ 64.516MB (SLO: <67.000MB -3.7%) vs baseline: +4.9% ✅ iastTime: ✅ 20.423ms (SLO: <22.250ms -8.2%) vs baseline: -0.2% Memory: ✅ 65.303MB (SLO: <67.000MB -2.5%) vs baseline: +4.5% ✅ profilerTime: ✅ 15.235ms (SLO: <16.550ms -7.9%) vs baseline: +0.2% Memory: ✅ 53.727MB (SLO: <54.500MB 🟡 -1.4%) vs baseline: +5.0% ✅ resource-renamingTime: ✅ 20.498ms (SLO: <21.750ms -5.8%) vs baseline: -0.4% Memory: ✅ 65.333MB (SLO: <67.000MB -2.5%) vs baseline: +4.6% ✅ span-code-originTime: ✅ 26.196ms (SLO: <28.200ms -7.1%) vs baseline: +0.2% Memory: ✅ 68.122MB (SLO: <69.500MB 🟡 -2.0%) vs baseline: +4.6% ✅ tracerTime: ✅ 20.485ms (SLO: <21.750ms -5.8%) vs baseline: -0.2% Memory: ✅ 65.303MB (SLO: <67.000MB -2.5%) vs baseline: +4.4% ✅ tracer-and-profilerTime: ✅ 22.019ms (SLO: <23.500ms -6.3%) vs baseline: +0.2% Memory: ✅ 66.761MB (SLO: <67.500MB 🟡 -1.1%) vs baseline: +5.2% ✅ tracer-dont-create-db-spansTime: ✅ 19.285ms (SLO: <21.500ms 📉 -10.3%) vs baseline: -0.2% Memory: ✅ 65.411MB (SLO: <66.000MB 🟡 -0.9%) vs baseline: +4.6% ✅ tracer-minimalTime: ✅ 16.563ms (SLO: <17.500ms -5.4%) vs baseline: -0.5% Memory: ✅ 65.352MB (SLO: <66.000MB 🟡 -1.0%) vs baseline: +5.1% ✅ tracer-nativeTime: ✅ 20.505ms (SLO: <21.750ms -5.7%) vs baseline: +0.2% Memory: ✅ 71.235MB (SLO: <72.500MB 🟡 -1.7%) vs baseline: +4.7% ✅ tracer-no-cachesTime: ✅ 18.401ms (SLO: <19.650ms -6.4%) vs baseline: ~same Memory: ✅ 65.298MB (SLO: <67.000MB -2.5%) vs baseline: +4.6% ✅ tracer-no-databasesTime: ✅ 18.746ms (SLO: <20.100ms -6.7%) vs baseline: ~same Memory: ✅ 65.304MB (SLO: <67.000MB -2.5%) vs baseline: +5.1% ✅ tracer-no-middlewareTime: ✅ 20.181ms (SLO: <21.500ms -6.1%) vs baseline: ~same Memory: ✅ 65.329MB (SLO: <67.000MB -2.5%) vs baseline: +4.8% ✅ tracer-no-templatesTime: ✅ 20.348ms (SLO: <22.000ms -7.5%) vs baseline: +0.2% Memory: ✅ 65.382MB (SLO: <67.000MB -2.4%) vs baseline: +4.5% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.058ms (SLO: <19.850ms -9.0%) vs baseline: +0.2% Memory: ✅ 65.333MB (SLO: <66.500MB 🟡 -1.8%) vs baseline: +4.9% ✅ errortracking-enabled-userTime: ✅ 18.150ms (SLO: <19.400ms -6.4%) vs baseline: +0.4% Memory: ✅ 65.294MB (SLO: <66.500MB 🟡 -1.8%) vs baseline: +4.8% ✅ tracer-enabledTime: ✅ 18.131ms (SLO: <19.450ms -6.8%) vs baseline: +0.4% Memory: ✅ 65.392MB (SLO: <66.500MB 🟡 -1.7%) vs baseline: +5.1% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.559ms (SLO: <4.750ms -4.0%) vs baseline: -0.6% Memory: ✅ 61.932MB (SLO: <65.000MB -4.7%) vs baseline: +4.7% ✅ appsec-postTime: ✅ 6.558ms (SLO: <6.750ms -2.8%) vs baseline: ~same Memory: ✅ 61.892MB (SLO: <65.000MB -4.8%) vs baseline: +4.8% ✅ appsec-telemetryTime: ✅ 4.554ms (SLO: <4.750ms -4.1%) vs baseline: -0.4% Memory: ✅ 61.892MB (SLO: <65.000MB -4.8%) vs baseline: +4.8% ✅ debuggerTime: ✅ 1.851ms (SLO: <2.000ms -7.4%) vs baseline: -0.4% Memory: ✅ 45.377MB (SLO: <47.000MB -3.5%) vs baseline: +4.6% ✅ iast-getTime: ✅ 1.861ms (SLO: <2.000ms -6.9%) vs baseline: -0.6% Memory: ✅ 42.310MB (SLO: <49.000MB 📉 -13.7%) vs baseline: +4.7% ✅ profilerTime: ✅ 1.910ms (SLO: <2.100ms -9.0%) vs baseline: +0.1% Memory: ✅ 46.458MB (SLO: <47.000MB 🟡 -1.2%) vs baseline: +4.7% ✅ resource-renamingTime: ✅ 3.379ms (SLO: <3.650ms -7.4%) vs baseline: +0.3% Memory: ✅ 52.258MB (SLO: <53.500MB -2.3%) vs baseline: +4.9% ✅ tracerTime: ✅ 3.365ms (SLO: <3.650ms -7.8%) vs baseline: -0.2% Memory: ✅ 52.160MB (SLO: <53.500MB -2.5%) vs baseline: +4.7% ✅ tracer-nativeTime: ✅ 3.364ms (SLO: <3.650ms -7.8%) vs baseline: ~same Memory: ✅ 58.118MB (SLO: <60.000MB -3.1%) vs baseline: +5.1% 🟡 otelspan - 22/22✅ add-eventTime: ✅ 45.222ms (SLO: <47.150ms -4.1%) vs baseline: +0.2% Memory: ✅ 45.264MB (SLO: <47.000MB -3.7%) vs baseline: +4.7% ✅ add-metricsTime: ✅ 321.864ms (SLO: <344.800ms -6.7%) vs baseline: +0.7% Memory: ✅ 552.497MB (SLO: <562.000MB 🟡 -1.7%) vs baseline: +4.9% ✅ add-tagsTime: ✅ 291.955ms (SLO: <314.000ms -7.0%) vs baseline: -0.3% Memory: ✅ 553.656MB (SLO: <563.500MB 🟡 -1.7%) vs baseline: +4.7% ✅ get-contextTime: ✅ 82.916ms (SLO: <92.350ms 📉 -10.2%) vs baseline: +0.3% Memory: ✅ 40.271MB (SLO: <46.500MB 📉 -13.4%) vs baseline: +5.0% ✅ is-recordingTime: ✅ 42.942ms (SLO: <44.500ms -3.5%) vs baseline: +0.1% Memory: ✅ 44.599MB (SLO: <47.500MB -6.1%) vs baseline: +4.8% ✅ record-exceptionTime: ✅ 61.653ms (SLO: <67.650ms -8.9%) vs baseline: ~same Memory: ✅ 40.634MB (SLO: <47.000MB 📉 -13.5%) vs baseline: +5.0% ✅ set-statusTime: ✅ 48.809ms (SLO: <50.400ms -3.2%) vs baseline: +0.9% Memory: ✅ 44.654MB (SLO: <47.000MB -5.0%) vs baseline: +4.9% ✅ startTime: ✅ 42.087ms (SLO: <43.450ms -3.1%) vs baseline: +0.3% Memory: ✅ 44.625MB (SLO: <47.000MB -5.1%) vs baseline: +4.7% ✅ start-finishTime: ✅ 83.181ms (SLO: <88.000ms -5.5%) vs baseline: +0.6% Memory: ✅ 34.603MB (SLO: <46.500MB 📉 -25.6%) vs baseline: +4.8% ✅ start-finish-telemetryTime: ✅ 84.824ms (SLO: <89.000ms -4.7%) vs baseline: +0.4% Memory: ✅ 34.583MB (SLO: <46.500MB 📉 -25.6%) vs baseline: +4.6% ✅ update-nameTime: ✅ 44.053ms (SLO: <45.150ms -2.4%) vs baseline: -0.4% Memory: ✅ 45.001MB (SLO: <47.000MB -4.3%) vs baseline: +4.9%
|
Co-authored-by: Brett Langdon <brett.langdon@datadoghq.com>
mabdinur
left a comment
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.
Left two nits. Overall LGTM
In asgi middleware:
websocket.receiveandwebsocket.disconnectmessages to call respective trace handlerswebsocket.sendandwebsocket.closemessages to call respective trace handlersChecklist
Reviewer Checklist