-
Notifications
You must be signed in to change notification settings - Fork 468
feat(linter): add new sg linter rule to disable access of os.environ #15299
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
|
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 250 ± 4 ms. The average import time from base is: 251 ± 3 ms. The import time difference between this PR and base is: -0.8 ± 0.2 ms. Import time breakdownThe following import paths have shrunk:
|
brettlangdon
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.
you might be able to use ast-grep for this as well
check .sg/ for some of our existing lint rules.
sg run --pattern 'os.environ'
can also do the same checks for importing environ/getenv from os, usage of getenv, etc etc
Performance SLOsComparing candidate ben.db/APMAPI-1613-linter-rule (91d379a) with baseline main (35307d9) ❌ Test Failures (18 suites)❌ coreapiscenario - 5/10 (1 unstable)❌ context_with_data_listenersTime: Memory: ❌ 34.347MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +14.2% ❌ context_with_data_no_listenersTime: ✅ 3.259µs (SLO: <10.000µs 📉 -67.4%) vs baseline: +0.2% Memory: ❌ 34.210MB (SLO: <33.500MB +2.1%) vs baseline: 📈 +13.8% ❌ get_item_existsTime: ✅ 0.577µs (SLO: <10.000µs 📉 -94.2%) vs baseline: ~same Memory: ❌ 34.269MB (SLO: <33.500MB +2.3%) vs baseline: 📈 +13.9% ❌ get_item_missingTime: ✅ 0.631µs (SLO: <10.000µs 📉 -93.7%) vs baseline: -0.5% Memory: ❌ 34.210MB (SLO: <33.500MB +2.1%) vs baseline: 📈 +13.8% ❌ set_itemTime: ✅ 24.366µs (SLO: <30.000µs 📉 -18.8%) vs baseline: +1.8% Memory: ❌ 34.269MB (SLO: <33.500MB +2.3%) vs baseline: 📈 +13.8% ❌ djangosimple - 18/30❌ appsecTime: ✅ 19.237ms (SLO: <22.300ms 📉 -13.7%) vs baseline: -6.1% Memory: ❌ 67.534MB (SLO: <67.000MB +0.8%) vs baseline: +7.2% ✅ exception-replay-enabledTime: ✅ 1.337ms (SLO: <1.450ms -7.8%) vs baseline: -0.6% Memory: ✅ 65.549MB (SLO: <67.000MB -2.2%) vs baseline: +6.9% ❌ iastTime: ✅ 19.185ms (SLO: <22.250ms 📉 -13.8%) vs baseline: -6.3% Memory: ❌ 67.633MB (SLO: <67.000MB +0.9%) vs baseline: +7.4% ❌ profilerTime: ✅ 15.658ms (SLO: <16.550ms -5.4%) vs baseline: +1.1% Memory: ❌ 55.611MB (SLO: <54.500MB +2.0%) vs baseline: +8.0% ❌ resource-renamingTime: ✅ 19.311ms (SLO: <21.750ms 📉 -11.2%) vs baseline: -6.3% Memory: ❌ 67.555MB (SLO: <67.000MB +0.8%) vs baseline: +7.1% ✅ span-code-originTime: ✅ 22.847ms (SLO: <28.200ms 📉 -19.0%) vs baseline: -10.0% Memory: ✅ 68.905MB (SLO: <69.500MB 🟡 -0.9%) vs baseline: +7.5% ❌ tracerTime: ✅ 19.216ms (SLO: <21.750ms 📉 -11.6%) vs baseline: -6.1% Memory: ❌ 67.417MB (SLO: <67.000MB +0.6%) vs baseline: +6.9% ❌ tracer-and-profilerTime: ✅ 21.419ms (SLO: <23.500ms -8.9%) vs baseline: -5.7% Memory: ❌ 68.498MB (SLO: <68.000MB +0.7%) vs baseline: +5.9% ❌ tracer-dont-create-db-spansTime: ✅ 19.246ms (SLO: <21.500ms 📉 -10.5%) vs baseline: -0.5% Memory: ❌ 67.535MB (SLO: <67.000MB +0.8%) vs baseline: +7.1% ❌ tracer-minimalTime: ✅ 16.620ms (SLO: <17.500ms -5.0%) vs baseline: -0.1% Memory: ❌ 67.397MB (SLO: <67.000MB +0.6%) vs baseline: +7.0% ✅ tracer-nativeTime: ✅ 19.248ms (SLO: <21.750ms 📉 -11.5%) vs baseline: -5.8% Memory: ✅ 67.496MB (SLO: <72.500MB -6.9%) vs baseline: +4.5% ❌ tracer-no-cachesTime: ✅ 17.267ms (SLO: <19.650ms 📉 -12.1%) vs baseline: -6.4% Memory: ❌ 67.555MB (SLO: <67.000MB +0.8%) vs baseline: +7.3% ❌ tracer-no-databasesTime: ✅ 18.681ms (SLO: <20.100ms -7.1%) vs baseline: -0.5% Memory: ❌ 67.496MB (SLO: <67.000MB +0.7%) vs baseline: +7.1% ❌ tracer-no-middlewareTime: ✅ 18.942ms (SLO: <21.500ms 📉 -11.9%) vs baseline: -6.0% Memory: ❌ 67.496MB (SLO: <67.000MB +0.7%) vs baseline: +7.1% ❌ tracer-no-templatesTime: ✅ 19.074ms (SLO: <22.000ms 📉 -13.3%) vs baseline: -6.2% Memory: ❌ 67.417MB (SLO: <67.000MB +0.6%) vs baseline: +7.2% ❌ errortrackingdjangosimple - 3/6❌ errortracking-enabled-allTime: ✅ 16.254ms (SLO: <19.850ms 📉 -18.1%) vs baseline: -9.9% Memory: ❌ 67.434MB (SLO: <66.500MB +1.4%) vs baseline: +6.9% ❌ errortracking-enabled-userTime: ✅ 16.264ms (SLO: <19.400ms 📉 -16.2%) vs baseline: -9.8% Memory: ❌ 67.388MB (SLO: <66.500MB +1.3%) vs baseline: +6.8% ❌ tracer-enabledTime: ✅ 16.282ms (SLO: <19.450ms 📉 -16.3%) vs baseline: 📉 -10.0% Memory: ❌ 67.460MB (SLO: <66.500MB +1.4%) vs baseline: +7.1% ❌ errortrackingflasksqli - 3/6❌ errortracking-enabled-allTime: ✅ 2.069ms (SLO: <2.300ms 📉 -10.1%) vs baseline: -0.2% Memory: ❌ 54.107MB (SLO: <53.500MB +1.1%) vs baseline: +7.8% ❌ errortracking-enabled-userTime: ✅ 2.062ms (SLO: <2.250ms -8.4%) vs baseline: -0.8% Memory: ❌ 54.224MB (SLO: <53.500MB +1.4%) vs baseline: +7.9% ❌ tracer-enabledTime: ✅ 2.071ms (SLO: <2.300ms -10.0%) vs baseline: ~same Memory: ❌ 54.126MB (SLO: <53.500MB +1.2%) vs baseline: +7.8% ❌ flasksimple - 14/18✅ appsec-getTime: ✅ 4.615ms (SLO: <4.750ms -2.9%) vs baseline: +0.5% Memory: ✅ 63.808MB (SLO: <65.000MB 🟡 -1.8%) vs baseline: +7.3% ✅ appsec-postTime: ✅ 6.614ms (SLO: <6.750ms -2.0%) vs baseline: -0.4% Memory: ✅ 64.042MB (SLO: <65.000MB 🟡 -1.5%) vs baseline: +7.7% ✅ appsec-telemetryTime: ✅ 4.598ms (SLO: <4.750ms -3.2%) vs baseline: +0.2% Memory: ✅ 63.660MB (SLO: <65.000MB -2.1%) vs baseline: +7.0% ❌ debuggerTime: ✅ 1.851ms (SLO: <2.000ms -7.4%) vs baseline: -0.3% Memory: ❌ 47.552MB (SLO: <47.000MB +1.2%) vs baseline: +9.9% ✅ iast-getTime: ✅ 1.862ms (SLO: <2.000ms -6.9%) vs baseline: +0.2% Memory: ✅ 44.497MB (SLO: <49.000MB -9.2%) vs baseline: 📈 +10.5% ❌ profilerTime: ✅ 1.922ms (SLO: <2.100ms -8.5%) vs baseline: +0.6% Memory: ❌ 47.959MB (SLO: <47.000MB +2.0%) vs baseline: +7.6% ❌ resource-renamingTime: ✅ 3.383ms (SLO: <3.650ms -7.3%) vs baseline: +0.6% Memory: ❌ 54.298MB (SLO: <53.500MB +1.5%) vs baseline: +8.2% ❌ tracerTime: ✅ 3.369ms (SLO: <3.650ms -7.7%) vs baseline: +0.6% Memory: ❌ 54.214MB (SLO: <53.500MB +1.3%) vs baseline: +8.0% ✅ tracer-nativeTime: ✅ 3.349ms (SLO: <3.650ms -8.3%) vs baseline: -0.4% Memory: ✅ 54.193MB (SLO: <60.000MB -9.7%) vs baseline: +4.9% ❌ flasksqli - 5/6✅ appsec-enabledTime: ✅ 3.960ms (SLO: <4.200ms -5.7%) vs baseline: -0.3% Memory: ✅ 64.055MB (SLO: <66.000MB -2.9%) vs baseline: +7.5% ❌ iast-enabledTime: ✅ 2.437ms (SLO: <2.800ms 📉 -13.0%) vs baseline: -0.3% Memory: ❌ 60.182MB (SLO: <60.000MB +0.3%) vs baseline: +7.0% ✅ tracer-enabledTime: ✅ 2.059ms (SLO: <2.250ms -8.5%) vs baseline: +0.3% Memory: ✅ 54.303MB (SLO: <54.500MB 🟡 -0.4%) vs baseline: +8.1% ❌ httppropagationextract - 30/60❌ all_styles_all_headersTime: ✅ 81.690µs (SLO: <100.000µs 📉 -18.3%) vs baseline: +0.2% Memory: ❌ 34.328MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.2% ❌ b3_headersTime: ✅ 14.218µs (SLO: <20.000µs 📉 -28.9%) vs baseline: -0.8% Memory: ❌ 34.308MB (SLO: <33.500MB +2.4%) vs baseline: 📈 +12.6% ❌ b3_single_headersTime: ✅ 13.256µs (SLO: <20.000µs 📉 -33.7%) vs baseline: -0.5% Memory: ❌ 34.328MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.3% ❌ datadog_tracecontext_tracestate_not_propagated_on_trace_id_no_matchTime: ✅ 63.878µs (SLO: <80.000µs 📉 -20.2%) vs baseline: ~same Memory: ❌ 34.288MB (SLO: <33.500MB +2.4%) vs baseline: 📈 +12.2% ❌ datadog_tracecontext_tracestate_propagated_on_trace_id_matchTime: ✅ 66.493µs (SLO: <80.000µs 📉 -16.9%) vs baseline: +0.7% Memory: ❌ 34.269MB (SLO: <33.500MB +2.3%) vs baseline: 📈 +12.3% ❌ empty_headersTime: ✅ 1.612µs (SLO: <10.000µs 📉 -83.9%) vs baseline: ~same Memory: ❌ 34.288MB (SLO: <33.500MB +2.4%) vs baseline: 📈 +12.1% ❌ full_t_id_datadog_headersTime: ✅ 22.591µs (SLO: <30.000µs 📉 -24.7%) vs baseline: -1.2% Memory: ❌ 34.367MB (SLO: <33.500MB +2.6%) vs baseline: 📈 +12.4% ❌ invalid_priority_headerTime: ✅ 6.544µs (SLO: <10.000µs 📉 -34.6%) vs baseline: +0.5% Memory: ❌ 34.328MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.3% ❌ invalid_span_id_headerTime: ✅ 6.519µs (SLO: <10.000µs 📉 -34.8%) vs baseline: -0.2% Memory: ❌ 34.328MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.5% ❌ invalid_tags_headerTime: ✅ 6.561µs (SLO: <10.000µs 📉 -34.4%) vs baseline: +0.9% Memory: ❌ 34.308MB (SLO: <33.500MB +2.4%) vs baseline: 📈 +12.3% ❌ invalid_trace_id_headerTime: ✅ 6.521µs (SLO: <10.000µs 📉 -34.8%) vs baseline: +0.2% Memory: ❌ 34.328MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.6% ❌ large_header_no_matchesTime: ✅ 27.654µs (SLO: <30.000µs -7.8%) vs baseline: +0.7% Memory: ❌ 34.387MB (SLO: <33.500MB +2.6%) vs baseline: 📈 +12.8% ❌ large_valid_headers_allTime: ✅ 28.626µs (SLO: <40.000µs 📉 -28.4%) vs baseline: ~same Memory: ❌ 34.249MB (SLO: <33.500MB +2.2%) vs baseline: 📈 +12.1% ❌ medium_header_no_matchesTime: ✅ 9.908µs (SLO: <20.000µs 📉 -50.5%) vs baseline: +0.9% Memory: ❌ 34.308MB (SLO: <33.500MB +2.4%) vs baseline: 📈 +12.0% ❌ medium_valid_headers_allTime: ✅ 11.311µs (SLO: <20.000µs 📉 -43.4%) vs baseline: +0.8% Memory: ❌ 34.328MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.3% ❌ none_propagation_styleTime: ✅ 1.727µs (SLO: <10.000µs 📉 -82.7%) vs baseline: +0.9% Memory: ❌ 34.308MB (SLO: <33.500MB +2.4%) vs baseline: 📈 +12.4% ❌ tracecontext_headersTime: ✅ 34.749µs (SLO: <40.000µs 📉 -13.1%) vs baseline: +1.1% Memory: ❌ 34.328MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.5% ❌ valid_headers_allTime: ✅ 6.580µs (SLO: <10.000µs 📉 -34.2%) vs baseline: +0.2% Memory: ❌ 34.387MB (SLO: <33.500MB +2.6%) vs baseline: 📈 +12.6% ❌ valid_headers_basicTime: ✅ 6.109µs (SLO: <10.000µs 📉 -38.9%) vs baseline: +0.9% Memory: ❌ 34.328MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.5% ❌ wsgi_empty_headersTime: ✅ 1.602µs (SLO: <10.000µs 📉 -84.0%) vs baseline: ~same Memory: ❌ 34.347MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.2% ❌ wsgi_invalid_priority_headerTime: ✅ 6.584µs (SLO: <10.000µs 📉 -34.2%) vs baseline: +0.2% Memory: ❌ 34.347MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.5% ❌ wsgi_invalid_span_id_headerTime: ✅ 1.604µs (SLO: <10.000µs 📉 -84.0%) vs baseline: +0.3% Memory: ❌ 34.406MB (SLO: <33.500MB +2.7%) vs baseline: 📈 +12.4% ❌ wsgi_invalid_tags_headerTime: ✅ 6.597µs (SLO: <10.000µs 📉 -34.0%) vs baseline: +0.4% Memory: ❌ 34.347MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.9% ❌ wsgi_invalid_trace_id_headerTime: ✅ 6.609µs (SLO: <10.000µs 📉 -33.9%) vs baseline: +0.4% Memory: ❌ 34.308MB (SLO: <33.500MB +2.4%) vs baseline: 📈 +12.5% ❌ wsgi_large_header_no_matchesTime: ✅ 28.798µs (SLO: <40.000µs 📉 -28.0%) vs baseline: +0.5% Memory: ❌ 34.347MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.3% ❌ wsgi_large_valid_headers_allTime: ✅ 29.890µs (SLO: <40.000µs 📉 -25.3%) vs baseline: +0.4% Memory: ❌ 34.288MB (SLO: <33.500MB +2.4%) vs baseline: 📈 +12.2% ❌ wsgi_medium_header_no_matchesTime: ✅ 10.162µs (SLO: <20.000µs 📉 -49.2%) vs baseline: -0.2% Memory: ❌ 34.328MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.5% ❌ wsgi_medium_valid_headers_allTime: ✅ 11.588µs (SLO: <20.000µs 📉 -42.1%) vs baseline: -0.3% Memory: ❌ 34.328MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.3% ❌ wsgi_valid_headers_allTime: ✅ 6.560µs (SLO: <10.000µs 📉 -34.4%) vs baseline: -0.5% Memory: ❌ 34.269MB (SLO: <33.500MB +2.3%) vs baseline: 📈 +12.2% ❌ wsgi_valid_headers_basicTime: ✅ 6.166µs (SLO: <10.000µs 📉 -38.3%) vs baseline: +0.3% Memory: ❌ 34.367MB (SLO: <33.500MB +2.6%) vs baseline: 📈 +12.4% ❌ httppropagationinject - 8/16❌ ids_onlyTime: ✅ 21.135µs (SLO: <30.000µs 📉 -29.6%) vs baseline: +0.5% Memory: ❌ 34.387MB (SLO: <33.500MB +2.6%) vs baseline: 📈 +12.6% ❌ with_allTime: ✅ 27.903µs (SLO: <40.000µs 📉 -30.2%) vs baseline: -2.3% Memory: ❌ 34.367MB (SLO: <33.500MB +2.6%) vs baseline: 📈 +12.4% ❌ with_dd_originTime: ✅ 25.116µs (SLO: <30.000µs 📉 -16.3%) vs baseline: +0.4% Memory: ❌ 34.308MB (SLO: <33.500MB +2.4%) vs baseline: 📈 +12.3% ❌ with_priority_and_originTime: ✅ 24.492µs (SLO: <40.000µs 📉 -38.8%) vs baseline: +0.8% Memory: ❌ 34.347MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.2% ❌ with_sampling_priorityTime: ✅ 21.311µs (SLO: <30.000µs 📉 -29.0%) vs baseline: +0.8% Memory: ❌ 34.328MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.5% ❌ with_tagsTime: ✅ 26.341µs (SLO: <40.000µs 📉 -34.1%) vs baseline: -1.5% Memory: ❌ 34.249MB (SLO: <33.500MB +2.2%) vs baseline: 📈 +11.9% ❌ with_tags_invalidTime: ✅ 27.843µs (SLO: <40.000µs 📉 -30.4%) vs baseline: -2.0% Memory: ❌ 34.328MB (SLO: <33.500MB +2.5%) vs baseline: 📈 +12.0% ❌ with_tags_max_sizeTime: ✅ 26.579µs (SLO: <40.000µs 📉 -33.6%) vs baseline: -2.2% Memory: ❌ 34.387MB (SLO: <33.500MB +2.6%) vs baseline: 📈 +12.7% ❌ iastpropagation - 1/2❌ no-propagationTime: ✅ 49.018µs (SLO: <60.000µs 📉 -18.3%) vs baseline: +1.2% Memory: ❌ 39.282MB (SLO: <39.000MB +0.7%) vs baseline: 📈 +11.7% ❌ otelspan - 21/22✅ add-eventTime: ✅ 40.058ms (SLO: <47.150ms 📉 -15.0%) vs baseline: +0.1% Memory: ✅ 45.891MB (SLO: <47.000MB -2.4%) vs baseline: 📈 +10.3% ✅ add-metricsTime: ✅ 257.733ms (SLO: <344.800ms 📉 -25.3%) vs baseline: 📉 -18.8% Memory: ✅ 652.079MB (SLO: <675.000MB -3.4%) vs baseline: +5.2% ❌ add-tagsTime: ❌ 315.705ms (SLO: <314.000ms +0.5%) vs baseline: +9.7% Memory: ✅ 651.653MB (SLO: <675.000MB -3.5%) vs baseline: +4.7% ✅ get-contextTime: ✅ 80.060ms (SLO: <92.350ms 📉 -13.3%) vs baseline: ~same Memory: ✅ 41.778MB (SLO: <46.500MB 📉 -10.2%) vs baseline: 📈 +10.9% ✅ is-recordingTime: ✅ 38.860ms (SLO: <44.500ms 📉 -12.7%) vs baseline: +2.6% Memory: ✅ 45.182MB (SLO: <47.500MB -4.9%) vs baseline: 📈 +10.0% ✅ record-exceptionTime: ✅ 57.946ms (SLO: <67.650ms 📉 -14.3%) vs baseline: +0.1% Memory: ✅ 41.883MB (SLO: <47.000MB 📉 -10.9%) vs baseline: 📈 +10.6% ✅ set-statusTime: ✅ 44.452ms (SLO: <50.400ms 📉 -11.8%) vs baseline: +1.3% Memory: ✅ 45.241MB (SLO: <47.000MB -3.7%) vs baseline: 📈 +10.4% ✅ startTime: ✅ 37.601ms (SLO: <43.450ms 📉 -13.5%) vs baseline: +0.9% Memory: ✅ 45.220MB (SLO: <47.000MB -3.8%) vs baseline: 📈 +10.4% ✅ start-finishTime: ✅ 81.834ms (SLO: <88.000ms -7.0%) vs baseline: +0.4% Memory: ✅ 36.510MB (SLO: <46.500MB 📉 -21.5%) vs baseline: 📈 +11.3% ✅ start-finish-telemetryTime: ✅ 83.684ms (SLO: <89.000ms -6.0%) vs baseline: +0.7% Memory: ✅ 36.313MB (SLO: <46.500MB 📉 -21.9%) vs baseline: 📈 +10.5% ✅ update-nameTime: ✅ 38.810ms (SLO: <45.150ms 📉 -14.0%) vs baseline: +0.6% Memory: ✅ 45.289MB (SLO: <47.000MB -3.6%) vs baseline: +9.6% ❌ packagesupdateimporteddependencies - 12/24❌ import_manyTime: ✅ 156.302µs (SLO: <170.000µs -8.1%) vs baseline: +0.2% Memory: ❌ 39.326MB (SLO: <38.500MB +2.1%) vs baseline: 📈 +11.1% ❌ import_many_cachedTime: ✅ 121.382µs (SLO: <130.000µs -6.6%) vs baseline: -0.5% Memory: ❌ 39.482MB (SLO: <38.500MB +2.5%) vs baseline: 📈 +11.5% ❌ import_many_stdlibTime: ✅ 1.661ms (SLO: <1.750ms -5.1%) vs baseline: +2.7% Memory: ❌ 39.412MB (SLO: <38.500MB +2.4%) vs baseline: 📈 +11.0% ❌ import_many_stdlib_cachedTime: ✅ 0.990ms (SLO: <1.100ms -10.0%) vs baseline: +1.3% Memory: ❌ 39.407MB (SLO: <38.500MB +2.4%) vs baseline: 📈 +10.5% ❌ import_many_unknownTime: ✅ 831.521µs (SLO: <890.000µs -6.6%) vs baseline: ~same Memory: ❌ 39.427MB (SLO: <38.500MB +2.4%) vs baseline: 📈 +10.9% ❌ import_many_unknown_cachedTime: ✅ 795.567µs (SLO: <870.000µs -8.6%) vs baseline: ~same Memory: ❌ 39.344MB (SLO: <38.500MB +2.2%) vs baseline: 📈 +10.5% ❌ import_oneTime: ✅ 19.732µs (SLO: <30.000µs 📉 -34.2%) vs baseline: -0.6% Memory: ❌ 39.449MB (SLO: <39.000MB +1.2%) vs baseline: 📈 +11.5% ❌ import_one_cacheTime: ✅ 6.286µs (SLO: <10.000µs 📉 -37.1%) vs baseline: -0.4% Memory: ❌ 39.189MB (SLO: <38.500MB +1.8%) vs baseline: 📈 +10.8% ❌ import_one_stdlibTime: ✅ 18.633µs (SLO: <20.000µs -6.8%) vs baseline: -0.2% Memory: ❌ 39.187MB (SLO: <38.500MB +1.8%) vs baseline: 📈 +10.8% ❌ import_one_stdlib_cacheTime: ✅ 6.290µs (SLO: <10.000µs 📉 -37.1%) vs baseline: ~same Memory: ❌ 39.381MB (SLO: <38.500MB +2.3%) vs baseline: 📈 +11.4% ❌ import_one_unknownTime: ✅ 45.338µs (SLO: <50.000µs -9.3%) vs baseline: -0.1% Memory: ❌ 39.436MB (SLO: <38.500MB +2.4%) vs baseline: 📈 +11.1% ❌ import_one_unknown_cacheTime: ✅ 6.262µs (SLO: <10.000µs 📉 -37.4%) vs baseline: -0.4% Memory: ❌ 39.375MB (SLO: <38.500MB +2.3%) vs baseline: 📈 +11.4% ❌ ratelimiter - 6/12❌ defaultsTime: ✅ 2.356µs (SLO: <10.000µs 📉 -76.4%) vs baseline: -1.0% Memory: ❌ 34.229MB (SLO: <34.000MB +0.7%) vs baseline: 📈 +13.5% ❌ high_rate_limitTime: ✅ 2.424µs (SLO: <10.000µs 📉 -75.8%) vs baseline: ~same Memory: ❌ 34.229MB (SLO: <34.000MB +0.7%) vs baseline: 📈 +14.0% ❌ long_windowTime: ✅ 2.369µs (SLO: <10.000µs 📉 -76.3%) vs baseline: -0.2% Memory: ❌ 34.170MB (SLO: <34.000MB +0.5%) vs baseline: 📈 +13.5% ❌ low_rate_limitTime: ✅ 2.359µs (SLO: <10.000µs 📉 -76.4%) vs baseline: -0.4% Memory: ❌ 34.249MB (SLO: <34.000MB +0.7%) vs baseline: 📈 +13.6% ❌ no_rate_limitTime: ✅ 0.830µs (SLO: <10.000µs 📉 -91.7%) vs baseline: +1.0% Memory: ❌ 34.249MB (SLO: <34.000MB +0.7%) vs baseline: 📈 +13.5% ❌ short_windowTime: ✅ 2.490µs (SLO: <10.000µs 📉 -75.1%) vs baseline: -1.0% Memory: ❌ 34.190MB (SLO: <34.000MB +0.6%) vs baseline: 📈 +13.3% ❌ recursivecomputation - 5/8❌ deepTime: ✅ 309.952ms (SLO: <320.950ms -3.4%) vs baseline: +0.3% Memory: ❌ 35.173MB (SLO: <34.500MB +2.0%) vs baseline: 📈 +12.8% ✅ deep-profiledTime: ✅ 330.148ms (SLO: <359.150ms -8.1%) vs baseline: +0.6% Memory: ✅ 38.997MB (SLO: <39.000MB 🟡 ~same) vs baseline: +5.9% ❌ mediumTime: ✅ 7.005ms (SLO: <7.400ms -5.3%) vs baseline: ~same Memory: ❌ 34.347MB (SLO: <34.000MB +1.0%) vs baseline: 📈 +12.9% ❌ shallowTime: ✅ 0.945ms (SLO: <1.050ms -10.0%) vs baseline: +0.1% Memory: ❌ 34.308MB (SLO: <34.000MB +0.9%) vs baseline: 📈 +12.7% ❌ samplingrules - 6/8❌ average_matchTime: ✅ 136.028µs (SLO: <290.000µs 📉 -53.1%) vs baseline: -1.3% Memory: ❌ 34.288MB (SLO: <34.000MB +0.8%) vs baseline: 📈 +12.3% ❌ high_matchTime: ✅ 172.715µs (SLO: <480.000µs 📉 -64.0%) vs baseline: -1.0% Memory: ❌ 34.308MB (SLO: <34.000MB +0.9%) vs baseline: 📈 +13.4% ✅ low_matchTime: ✅ 98.033µs (SLO: <120.000µs 📉 -18.3%) vs baseline: -2.1% Memory: ✅ 602.918MB (SLO: <700.000MB 📉 -13.9%) vs baseline: +5.3% ✅ very_low_matchTime: ✅ 2.643ms (SLO: <8.500ms 📉 -68.9%) vs baseline: -1.2% Memory: ✅ 70.349MB (SLO: <75.000MB -6.2%) vs baseline: +8.4% ❌ sethttpmeta - 16/32❌ all-disabledTime: ✅ 10.587µs (SLO: <20.000µs 📉 -47.1%) vs baseline: +0.4% Memory: ❌ 34.721MB (SLO: <34.000MB +2.1%) vs baseline: 📈 +12.2% ❌ all-enabledTime: ✅ 40.309µs (SLO: <50.000µs 📉 -19.4%) vs baseline: +0.7% Memory: ❌ 34.721MB (SLO: <34.000MB +2.1%) vs baseline: 📈 +12.4% ❌ collectipvariant_existsTime: ✅ 41.088µs (SLO: <50.000µs 📉 -17.8%) vs baseline: +1.0% Memory: ❌ 34.741MB (SLO: <34.000MB +2.2%) vs baseline: 📈 +12.3% ❌ no-collectipvariantTime: ✅ 40.207µs (SLO: <50.000µs 📉 -19.6%) vs baseline: +0.8% Memory: ❌ 34.642MB (SLO: <34.000MB +1.9%) vs baseline: 📈 +12.2% ❌ no-useragentvariantTime: ✅ 39.566µs (SLO: <50.000µs 📉 -20.9%) vs baseline: +2.3% Memory: ❌ 34.760MB (SLO: <34.000MB +2.2%) vs baseline: 📈 +12.3% ❌ obfuscation-no-queryTime: ✅ 40.716µs (SLO: <50.000µs 📉 -18.6%) vs baseline: +0.8% Memory: ❌ 34.721MB (SLO: <34.000MB +2.1%) vs baseline: 📈 +12.4% ❌ obfuscation-regular-case-explicit-queryTime: ✅ 76.324µs (SLO: <90.000µs 📉 -15.2%) vs baseline: +0.6% Memory: ❌ 34.839MB (SLO: <34.000MB +2.5%) vs baseline: 📈 +11.2% ❌ obfuscation-regular-case-implicit-queryTime: ✅ 76.923µs (SLO: <90.000µs 📉 -14.5%) vs baseline: +0.5% Memory: ❌ 34.760MB (SLO: <34.000MB +2.2%) vs baseline: 📈 +11.1% ❌ obfuscation-send-querystring-disabledTime: ✅ 154.607µs (SLO: <170.000µs -9.1%) vs baseline: +0.3% Memory: ❌ 35.134MB (SLO: <34.500MB +1.8%) vs baseline: 📈 +12.4% ❌ obfuscation-worst-case-explicit-queryTime: ✅ 148.906µs (SLO: <160.000µs -6.9%) vs baseline: +0.2% Memory: ❌ 35.212MB (SLO: <34.500MB +2.1%) vs baseline: 📈 +12.7% ❌ obfuscation-worst-case-implicit-queryTime: ✅ 155.200µs (SLO: <170.000µs -8.7%) vs baseline: +0.4% Memory: ❌ 35.134MB (SLO: <34.500MB +1.8%) vs baseline: 📈 +12.5% ❌ useragentvariant_exists_1Time: ✅ 39.577µs (SLO: <50.000µs 📉 -20.8%) vs baseline: +0.4% Memory: ❌ 34.760MB (SLO: <34.000MB +2.2%) vs baseline: 📈 +12.3% ❌ useragentvariant_exists_2Time: ✅ 40.768µs (SLO: <50.000µs 📉 -18.5%) vs baseline: +0.6% Memory: ❌ 34.662MB (SLO: <34.000MB +1.9%) vs baseline: 📈 +12.2% ❌ useragentvariant_exists_3Time: ✅ 40.350µs (SLO: <50.000µs 📉 -19.3%) vs baseline: +1.0% Memory: ❌ 34.701MB (SLO: <34.000MB +2.1%) vs baseline: 📈 +12.2% ❌ useragentvariant_not_exists_1Time: ✅ 39.556µs (SLO: <50.000µs 📉 -20.9%) vs baseline: +0.4% Memory: ❌ 34.662MB (SLO: <34.000MB +1.9%) vs baseline: 📈 +12.3% ❌ useragentvariant_not_exists_2Time: ✅ 39.557µs (SLO: <50.000µs 📉 -20.9%) vs baseline: +0.4% Memory: ❌ 34.682MB (SLO: <34.000MB +2.0%) vs baseline: 📈 +12.0% ❌ span - 23/26✅ add-eventTime: ✅ 19.887ms (SLO: <22.500ms 📉 -11.6%) vs baseline: +0.3% Memory: ✅ 50.714MB (SLO: <53.000MB -4.3%) vs baseline: +9.5% ✅ add-metricsTime: ✅ 87.307ms (SLO: <93.500ms -6.6%) vs baseline: -3.0% Memory: ✅ 736.333MB (SLO: <961.000MB 📉 -23.4%) vs baseline: +5.0% ✅ add-tagsTime: ✅ 139.560ms (SLO: <155.000ms -10.0%) vs baseline: -4.7% Memory: ✅ 736.561MB (SLO: <962.500MB 📉 -23.5%) vs baseline: +5.1% ✅ get-contextTime: ✅ 18.203ms (SLO: <20.500ms 📉 -11.2%) vs baseline: -0.6% Memory: ✅ 49.528MB (SLO: <53.000MB -6.6%) vs baseline: +9.7% ✅ is-recordingTime: ✅ 18.474ms (SLO: <20.500ms -9.9%) vs baseline: ~same Memory: ✅ 49.599MB (SLO: <53.000MB -6.4%) vs baseline: +10.0% ✅ record-exceptionTime: ✅ 37.424ms (SLO: <40.000ms -6.4%) vs baseline: +0.4% Memory: ✅ 43.944MB (SLO: <53.000MB 📉 -17.1%) vs baseline: 📈 +10.6% ✅ set-statusTime: ✅ 19.883ms (SLO: <22.000ms -9.6%) vs baseline: -0.6% Memory: ✅ 49.615MB (SLO: <53.000MB -6.4%) vs baseline: +9.9% ✅ startTime: ✅ 18.193ms (SLO: <20.500ms 📉 -11.3%) vs baseline: -0.2% Memory: ✅ 49.518MB (SLO: <53.000MB -6.6%) vs baseline: +9.6% ❌ start-finishTime: ✅ 51.106ms (SLO: <52.500ms -2.7%) vs baseline: +0.8% Memory: ❌ 34.406MB (SLO: <34.000MB +1.2%) vs baseline: 📈 +13.1% ❌ start-finish-telemetryTime: ✅ 52.323ms (SLO: <54.500ms -4.0%) vs baseline: +0.8% Memory: ❌ 34.347MB (SLO: <34.000MB +1.0%) vs baseline: 📈 +12.8% ❌ start-finish-traceid128Time: ✅ 53.980ms (SLO: <57.000ms -5.3%) vs baseline: +0.1% Memory: ❌ 34.328MB (SLO: <34.000MB +1.0%) vs baseline: 📈 +12.7% ✅ start-traceid128Time: ✅ 18.708ms (SLO: <22.500ms 📉 -16.9%) vs baseline: +0.6% Memory: ✅ 49.511MB (SLO: <53.000MB -6.6%) vs baseline: +9.6% ✅ update-nameTime: ✅ 18.612ms (SLO: <22.000ms 📉 -15.4%) vs baseline: +0.5% Memory: ✅ 50.258MB (SLO: <53.000MB -5.2%) vs baseline: +10.0% ❌ telemetryaddmetric - 15/30❌ 1-count-metric-1-timesTime: ✅ 2.945µs (SLO: <20.000µs 📉 -85.3%) vs baseline: -0.5% Memory: ❌ 34.269MB (SLO: <34.000MB +0.8%) vs baseline: 📈 +12.3% ❌ 1-count-metrics-100-timesTime: ✅ 201.187µs (SLO: <220.000µs -8.6%) vs baseline: +1.2% Memory: ❌ 34.229MB (SLO: <34.000MB +0.7%) vs baseline: 📈 +12.3% ❌ 1-distribution-metric-1-timesTime: ✅ 3.329µs (SLO: <20.000µs 📉 -83.4%) vs baseline: +3.2% Memory: ❌ 34.249MB (SLO: <34.000MB +0.7%) vs baseline: 📈 +12.2% ❌ 1-distribution-metrics-100-timesTime: ✅ 219.276µs (SLO: <220.000µs 🟡 -0.3%) vs baseline: +3.6% Memory: ❌ 34.170MB (SLO: <34.000MB +0.5%) vs baseline: 📈 +12.5% ❌ 1-gauge-metric-1-timesTime: ✅ 2.194µs (SLO: <20.000µs 📉 -89.0%) vs baseline: +0.5% Memory: ❌ 34.249MB (SLO: <34.000MB +0.7%) vs baseline: 📈 +12.3% ❌ 1-gauge-metrics-100-timesTime: ✅ 136.671µs (SLO: <150.000µs -8.9%) vs baseline: +0.1% Memory: ❌ 34.288MB (SLO: <34.000MB +0.8%) vs baseline: 📈 +12.6% ❌ 1-rate-metric-1-timesTime: ✅ 3.094µs (SLO: <20.000µs 📉 -84.5%) vs baseline: +1.2% Memory: ❌ 34.269MB (SLO: <34.000MB +0.8%) vs baseline: 📈 +12.4% ❌ 1-rate-metrics-100-timesTime: ✅ 215.903µs (SLO: <250.000µs 📉 -13.6%) vs baseline: +1.4% Memory: ❌ 34.288MB (SLO: <34.000MB +0.8%) vs baseline: 📈 +12.7% ❌ 100-count-metrics-100-timesTime: ✅ 20.628ms (SLO: <22.000ms -6.2%) vs baseline: +2.7% Memory: ❌ 34.151MB (SLO: <34.000MB +0.4%) vs baseline: 📈 +12.3% ❌ 100-distribution-metrics-100-timesTime: ✅ 2.294ms (SLO: <2.300ms 🟡 -0.2%) vs baseline: +2.6% Memory: ❌ 34.229MB (SLO: <34.000MB +0.7%) vs baseline: 📈 +12.0% ❌ 100-gauge-metrics-100-timesTime: ✅ 1.404ms (SLO: <1.550ms -9.4%) vs baseline: +0.5% Memory: ❌ 34.269MB (SLO: <34.000MB +0.8%) vs baseline: 📈 +12.3% ❌ 100-rate-metrics-100-timesTime: ✅ 2.223ms (SLO: <2.550ms 📉 -12.8%) vs baseline: +1.3% Memory: ❌ 34.288MB (SLO: <34.000MB +0.8%) vs baseline: 📈 +12.7% ❌ flush-1-metricTime: ✅ 4.557µs (SLO: <20.000µs 📉 -77.2%) vs baseline: +3.1% Memory: ❌ 34.249MB (SLO: <34.000MB +0.7%) vs baseline: 📈 +12.5% ❌ flush-100-metricsTime: ✅ 174.181µs (SLO: <250.000µs 📉 -30.3%) vs baseline: -0.3% Memory: ❌ 34.229MB (SLO: <34.000MB +0.7%) vs baseline: 📈 +12.3% ❌ flush-1000-metricsTime: ✅ 2.123ms (SLO: <2.500ms 📉 -15.1%) vs baseline: -0.7% Memory: ❌ 35.134MB (SLO: <34.500MB +1.8%) vs baseline: 📈 +12.7% ❌ tracer - 4/6❌ largeTime: ✅ 28.867ms (SLO: <32.950ms 📉 -12.4%) vs baseline: -0.3% Memory: ❌ 35.134MB (SLO: <34.500MB +1.8%) vs baseline: 📈 +12.6% ✅ mediumTime: ✅ 2.882ms (SLO: <3.200ms -9.9%) vs baseline: +0.2% Memory: ✅ 33.974MB (SLO: <34.000MB 🟡 ~same) vs baseline: 📈 +12.8% ❌ smallTime: ✅ 326.605µs (SLO: <370.000µs 📉 -11.7%) vs baseline: +0.5% Memory: ❌ 34.367MB (SLO: <34.000MB +1.1%) vs baseline: 📈 +14.2% 📈 Performance Regressions (2 suites)📈 otelsdkspan - 24/24✅ add-eventTime: ✅ 40.375ms (SLO: <42.000ms -3.9%) vs baseline: ~same Memory: ✅ 36.746MB (SLO: <39.000MB -5.8%) vs baseline: 📈 +12.0% ✅ add-linkTime: ✅ 36.296ms (SLO: <38.550ms -5.8%) vs baseline: +0.1% Memory: ✅ 36.707MB (SLO: <39.000MB -5.9%) vs baseline: 📈 +12.0% ✅ add-metricsTime: ✅ 217.112ms (SLO: <232.000ms -6.4%) vs baseline: -0.6% Memory: ✅ 36.746MB (SLO: <39.000MB -5.8%) vs baseline: 📈 +12.2% ✅ add-tagsTime: ✅ 212.015ms (SLO: <221.600ms -4.3%) vs baseline: ~same Memory: ✅ 36.726MB (SLO: <39.000MB -5.8%) vs baseline: 📈 +11.9% ✅ get-contextTime: ✅ 29.137ms (SLO: <31.300ms -6.9%) vs baseline: -0.1% Memory: ✅ 36.608MB (SLO: <39.000MB -6.1%) vs baseline: 📈 +11.6% ✅ is-recordingTime: ✅ 29.280ms (SLO: <31.000ms -5.5%) vs baseline: ~same Memory: ✅ 36.687MB (SLO: <39.000MB -5.9%) vs baseline: 📈 +11.8% ✅ record-exceptionTime: ✅ 62.785ms (SLO: <65.850ms -4.7%) vs baseline: -0.6% Memory: ✅ 36.785MB (SLO: <39.000MB -5.7%) vs baseline: 📈 +12.4% ✅ set-statusTime: ✅ 31.763ms (SLO: <34.150ms -7.0%) vs baseline: -1.1% Memory: ✅ 36.766MB (SLO: <39.000MB -5.7%) vs baseline: 📈 +12.1% ✅ startTime: ✅ 28.893ms (SLO: <30.150ms -4.2%) vs baseline: +0.3% Memory: ✅ 36.687MB (SLO: <39.000MB -5.9%) vs baseline: 📈 +12.1% ✅ start-finishTime: ✅ 33.972ms (SLO: <35.350ms -3.9%) vs baseline: ~same Memory: ✅ 36.726MB (SLO: <39.000MB -5.8%) vs baseline: 📈 +12.0% ✅ start-finish-telemetryTime: ✅ 33.779ms (SLO: <35.450ms -4.7%) vs baseline: -1.4% Memory: ✅ 36.648MB (SLO: <39.000MB -6.0%) vs baseline: 📈 +11.8% ✅ update-nameTime: ✅ 31.243ms (SLO: <33.400ms -6.5%) vs baseline: -0.1% Memory: ✅ 36.726MB (SLO: <39.000MB -5.8%) vs baseline: 📈 +12.1% 📈 packagespackageforrootmodulemapping - 4/4✅ cache_offTime: ✅ 339.670ms (SLO: <354.300ms -4.1%) vs baseline: -1.1% Memory: ✅ 39.657MB (SLO: <40.000MB 🟡 -0.9%) vs baseline: 📈 +11.5% ✅ cache_onTime: ✅ 0.382µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.5% Memory: ✅ 39.082MB (SLO: <39.000MB +0.2%) vs baseline: 📈 +10.4% ℹ️ Scenarios Missing SLO Configuration (10 scenarios)The following scenarios exist in candidate data but have no SLO thresholds configured:
|
Description
This PR is the base PR for the incoming PR migrating all the
os.environ(and equivalent) to a controlled and filtered env reader allowing only allow-listed configuration keys to be used in dd-trace-py for the larger initiative of Configuration Registry.Testing
Risks
None
Additional Notes
This will be part of a PR stack.