-
Notifications
You must be signed in to change notification settings - Fork 449
fix(iast): gevent lazy timeouts #14062
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: 281 ± 4 ms. The average import time from base is: 288 ± 5 ms. The import time difference between this PR and base is: -7.3 ± 0.2 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsBenchmark execution time: 2025-07-24 20:20:01 Comparing candidate commit 4feadb9 in branch Performance Test ResultsLegend: ✅ Pass |
|
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | 13.909µs | < 20.000µs | +30.5% | |
max_rss_usage | ✅ | 29.078MB | < 31.000MB | +6.2% |
✅ context_with_data_no_listeners
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.796µs | < 10.000µs | +62.0% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
⚠️ context_with_data_only_all_listeners
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | 13.804µs | < 20.000µs | +31.0% | |
max_rss_usage | ✅ | 29.118MB | < 31.000MB | +6.1% |
✅ get_item_exists
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 630.862ns | < 10.000µs | +93.7% |
max_rss_usage | ✅ | 29.059MB | < 31.000MB | +6.3% |
✅ get_item_missing
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 687.353ns | < 10.000µs | +93.1% |
max_rss_usage | ✅ | 29.059MB | < 31.000MB | +6.3% |
✅ set_item
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 24.693µs | < 30.000µs | +17.7% |
max_rss_usage | ✅ | 29.138MB | < 31.000MB | +6.0% |
✅ djangosimple - 22/22
✅ appsec
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 21.358ms | < 22.300ms | +4.2% |
max_rss_usage | ✅ | 64.094MB | < 65.500MB | +2.1% |
✅ exception-replay-enabled
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.351ms | < 1.450ms | +6.8% |
max_rss_usage | ✅ | 63.465MB | < 65.500MB | +3.1% |
✅ iast
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 21.310ms | < 22.250ms | +4.2% |
max_rss_usage | ✅ | 64.075MB | < 65.500MB | +2.2% |
✅ profiler
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 15.873ms | < 16.550ms | +4.1% |
max_rss_usage | ✅ | 50.871MB | < 53.000MB | +4.0% |
✅ span-code-origin
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 27.011ms | < 28.200ms | +4.2% |
max_rss_usage | ✅ | 66.279MB | < 68.000MB | +2.5% |
✅ tracer
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 21.432ms | < 22.700ms | +5.6% |
max_rss_usage | ✅ | 64.133MB | < 65.500MB | +2.1% |
✅ tracer-and-profiler
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 23.928ms | < 24.900ms | +3.9% |
max_rss_usage | ✅ | 65.058MB | < 67.000MB | +2.9% |
✅ tracer-no-caches
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 18.890ms | < 19.650ms | +3.9% |
max_rss_usage | ✅ | 63.721MB | < 65.500MB | +2.7% |
✅ tracer-no-databases
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 19.206ms | < 20.100ms | +4.5% |
max_rss_usage | ✅ | 63.701MB | < 65.500MB | +2.7% |
✅ tracer-no-middleware
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 21.132ms | < 22.500ms | +6.1% |
max_rss_usage | ✅ | 64.114MB | < 65.500MB | +2.1% |
✅ tracer-no-templates
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 21.132ms | < 22.250ms | +5.0% |
max_rss_usage | ✅ | 64.094MB | < 65.500MB | +2.1% |
✅ errortrackingdjangosimple - 6/6
✅ errortracking-enabled-all
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 18.599ms | < 19.850ms | +6.3% |
max_rss_usage | ✅ | 63.721MB | < 65.500MB | +2.7% |
✅ errortracking-enabled-user
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 18.666ms | < 19.400ms | +3.8% |
max_rss_usage | ✅ | 63.721MB | < 65.500MB | +2.7% |
✅ tracer-enabled
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 18.559ms | < 19.450ms | +4.6% |
max_rss_usage | ✅ | 63.740MB | < 65.500MB | +2.7% |
✅ errortrackingflasksqli - 6/6
✅ errortracking-enabled-all
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.119ms | < 2.300ms | +7.9% |
max_rss_usage | ✅ | 51.630MB | < 53.000MB | +2.6% |
✅ errortracking-enabled-user
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.117ms | < 2.250ms | +5.9% |
max_rss_usage | ✅ | 51.668MB | < 53.000MB | +2.5% |
✅ tracer-enabled
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.117ms | < 2.300ms | +7.9% |
max_rss_usage | ✅ | 51.138MB | < 53.000MB | +3.5% |
✅ flasksimple - 14/14
✅ appsec-get
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 4.613ms | < 4.750ms | +2.9% |
max_rss_usage | ✅ | 63.390MB | < 64.000MB | +1.0% |
✅ appsec-post
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.616ms | < 6.750ms | +2.0% |
max_rss_usage | ✅ | 63.370MB | < 64.000MB | +1.0% |
✅ appsec-telemetry
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 4.600ms | < 4.750ms | +3.2% |
max_rss_usage | ✅ | 63.334MB | < 64.000MB | +1.0% |
✅ debugger
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.859ms | < 2.000ms | +7.1% |
max_rss_usage | ✅ | 42.039MB | < 44.000MB | +4.5% |
✅ iast-get
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.856ms | < 2.000ms | +7.2% |
max_rss_usage | ✅ | 44.502MB | < 45.000MB | +1.1% |
✅ profiler
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.984ms | < 2.100ms | +5.5% |
max_rss_usage | ✅ | 43.552MB | < 44.000MB | +1.0% |
✅ tracer
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.386ms | < 3.650ms | +7.2% |
max_rss_usage | ✅ | 51.753MB | < 53.000MB | +2.4% |
✅ flasksqli - 6/6
✅ appsec-enabled
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.968ms | < 4.200ms | +5.5% |
max_rss_usage | ✅ | 63.484MB | < 66.000MB | +3.8% |
✅ iast-enabled
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.562ms | < 2.800ms | +8.5% |
max_rss_usage | ✅ | 56.565MB | < 58.000MB | +2.5% |
✅ tracer-enabled
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.107ms | < 2.250ms | +6.4% |
max_rss_usage | ✅ | 51.197MB | < 53.000MB | +3.4% |
✅ httppropagationextract - 60/60
✅ all_styles_all_headers
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 82.828µs | < 100.000µs | +17.2% |
max_rss_usage | ✅ | 29.039MB | < 31.000MB | +6.3% |
✅ b3_headers
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 14.175µs | < 20.000µs | +29.1% |
max_rss_usage | ✅ | 29.197MB | < 31.000MB | +5.8% |
✅ b3_single_headers
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 13.457µs | < 20.000µs | +32.7% |
max_rss_usage | ✅ | 29.118MB | < 31.000MB | +6.1% |
✅ datadog_tracecontext_tracestate_not_propagated_on_trace_id_no_match
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 65.127µs | < 80.000µs | +18.6% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
✅ datadog_tracecontext_tracestate_propagated_on_trace_id_match
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 67.355µs | < 80.000µs | +15.8% |
max_rss_usage | ✅ | 29.137MB | < 31.000MB | +6.0% |
✅ empty_headers
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.603µs | < 10.000µs | +84.0% |
max_rss_usage | ✅ | 29.157MB | < 31.000MB | +5.9% |
✅ full_t_id_datadog_headers
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 23.909µs | < 30.000µs | +20.3% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
✅ invalid_priority_header
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.610µs | < 10.000µs | +33.9% |
max_rss_usage | ✅ | 29.138MB | < 31.000MB | +6.0% |
✅ invalid_span_id_header
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.507µs | < 10.000µs | +34.9% |
max_rss_usage | ✅ | 29.137MB | < 31.000MB | +6.0% |
✅ invalid_tags_header
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.559µs | < 10.000µs | +34.4% |
max_rss_usage | ✅ | 29.137MB | < 31.000MB | +6.0% |
✅ invalid_trace_id_header
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.480µs | < 10.000µs | +35.2% |
max_rss_usage | ✅ | 29.117MB | < 31.000MB | +6.1% |
✅ large_header_no_matches
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 27.553µs | < 30.000µs | +8.2% |
max_rss_usage | ✅ | 29.118MB | < 31.000MB | +6.1% |
✅ large_valid_headers_all
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 28.703µs | < 40.000µs | +28.2% |
max_rss_usage | ✅ | 29.078MB | < 31.000MB | +6.2% |
✅ medium_header_no_matches
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 9.876µs | < 20.000µs | +50.6% |
max_rss_usage | ✅ | 29.118MB | < 31.000MB | +6.1% |
✅ medium_valid_headers_all
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 11.260µs | < 20.000µs | +43.7% |
max_rss_usage | ✅ | 29.118MB | < 31.000MB | +6.1% |
✅ none_propagation_style
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.693µs | < 10.000µs | +83.1% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
✅ tracecontext_headers
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 34.793µs | < 40.000µs | +13.0% |
max_rss_usage | ✅ | 29.117MB | < 31.000MB | +6.1% |
✅ valid_headers_all
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.597µs | < 10.000µs | +34.0% |
max_rss_usage | ✅ | 29.138MB | < 31.000MB | +6.0% |
✅ valid_headers_basic
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.152µs | < 10.000µs | +38.5% |
max_rss_usage | ✅ | 29.157MB | < 31.000MB | +5.9% |
✅ wsgi_empty_headers
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.598µs | < 10.000µs | +84.0% |
max_rss_usage | ✅ | 29.137MB | < 31.000MB | +6.0% |
✅ wsgi_invalid_priority_header
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.623µs | < 10.000µs | +33.8% |
max_rss_usage | ✅ | 29.137MB | < 31.000MB | +6.0% |
✅ wsgi_invalid_span_id_header
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.590µs | < 10.000µs | +84.1% |
max_rss_usage | ✅ | 29.137MB | < 31.000MB | +6.0% |
✅ wsgi_invalid_tags_header
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.595µs | < 10.000µs | +34.1% |
max_rss_usage | ✅ | 29.157MB | < 31.000MB | +5.9% |
✅ wsgi_invalid_trace_id_header
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.591µs | < 10.000µs | +34.1% |
max_rss_usage | ✅ | 29.059MB | < 31.000MB | +6.3% |
✅ wsgi_large_header_no_matches
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 28.762µs | < 40.000µs | +28.1% |
max_rss_usage | ✅ | 29.177MB | < 31.000MB | +5.9% |
✅ wsgi_large_valid_headers_all
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 29.967µs | < 40.000µs | +25.1% |
max_rss_usage | ✅ | 29.157MB | < 31.000MB | +5.9% |
✅ wsgi_medium_header_no_matches
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 10.133µs | < 20.000µs | +49.3% |
max_rss_usage | ✅ | 29.138MB | < 31.000MB | +6.0% |
✅ wsgi_medium_valid_headers_all
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 11.527µs | < 20.000µs | +42.4% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
✅ wsgi_valid_headers_all
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.516µs | < 10.000µs | +34.8% |
max_rss_usage | ✅ | 29.138MB | < 31.000MB | +6.0% |
✅ wsgi_valid_headers_basic
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.090µs | < 10.000µs | +39.1% |
max_rss_usage | ✅ | 29.137MB | < 31.000MB | +6.0% |
✅ httppropagationinject - 16/16
✅ ids_only
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 20.215µs | < 30.000µs | +32.6% |
max_rss_usage | ✅ | 29.177MB | < 31.000MB | +5.9% |
✅ with_all
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 34.891µs | < 40.000µs | +12.8% |
max_rss_usage | ✅ | 29.118MB | < 31.000MB | +6.1% |
✅ with_dd_origin
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 26.629µs | < 30.000µs | +11.2% |
max_rss_usage | ✅ | 29.137MB | < 31.000MB | +6.0% |
✅ with_priority_and_origin
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 29.862µs | < 40.000µs | +25.3% |
max_rss_usage | ✅ | 29.118MB | < 31.000MB | +6.1% |
✅ with_sampling_priority
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 22.627µs | < 30.000µs | +24.6% |
max_rss_usage | ✅ | 29.157MB | < 31.000MB | +5.9% |
✅ with_tags
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 28.292µs | < 40.000µs | +29.3% |
max_rss_usage | ✅ | 29.137MB | < 31.000MB | +6.0% |
✅ with_tags_invalid
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 31.268µs | < 40.000µs | +21.8% |
max_rss_usage | ✅ | 29.078MB | < 31.000MB | +6.2% |
✅ with_tags_max_size
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 29.611µs | < 40.000µs | +26.0% |
max_rss_usage | ✅ | 29.117MB | < 31.000MB | +6.1% |
✅ iast_aspects - 40/40
✅ re_expand_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 33.079µs | < 40.000µs | +17.3% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ re_expand_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 28.291µs | < 40.000µs | +29.3% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ re_findall_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.687µs | < 10.000µs | +63.1% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ re_findall_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.424µs | < 10.000µs | +85.8% |
max_rss_usage | ✅ | 34.662MB | < 35.000MB | +1.0% |
✅ re_finditer_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 5.176µs | < 10.000µs | +48.2% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ re_finditer_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.417µs | < 10.000µs | +85.8% |
max_rss_usage | ✅ | 34.662MB | < 35.000MB | +1.0% |
✅ re_fullmatch_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.396µs | < 10.000µs | +66.0% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ re_fullmatch_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.278µs | < 10.000µs | +87.2% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ re_group_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.442µs | < 10.000µs | +65.6% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ re_group_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.603µs | < 10.000µs | +84.0% |
max_rss_usage | ✅ | 34.662MB | < 35.000MB | +1.0% |
✅ re_groups_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.595µs | < 10.000µs | +64.1% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ re_groups_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.688µs | < 10.000µs | +83.1% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ re_match_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.425µs | < 10.000µs | +65.8% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ re_match_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.303µs | < 10.000µs | +87.0% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ re_search_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.306µs | < 10.000µs | +66.9% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ re_search_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.190µs | < 10.000µs | +88.1% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ re_sub_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 4.667µs | < 10.000µs | +53.3% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ re_sub_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.534µs | < 10.000µs | +84.7% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ re_subn_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 4.887µs | < 10.000µs | +51.1% |
max_rss_usage | ✅ | 34.642MB | < 35.500MB | +2.4% |
✅ re_subn_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.631µs | < 10.000µs | +83.7% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ iastaspects - 118/118
✅ add_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 327.551ns | < 10.000µs | +96.7% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ add_inplace_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 336.284ns | < 10.000µs | +96.6% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ add_inplace_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 317.591ns | < 10.000µs | +96.8% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ add_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 275.606ns | < 10.000µs | +97.2% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ bytearray_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.857µs | < 10.000µs | +81.4% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ bytearray_extend_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.383µs | < 10.000µs | +86.2% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ bytearray_extend_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 610.979ns | < 10.000µs | +93.9% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ bytearray_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 476.687ns | < 10.000µs | +95.2% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ bytes_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.856µs | < 10.000µs | +81.4% |
max_rss_usage | ✅ | 34.662MB | < 35.000MB | +1.0% |
✅ bytes_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 492.112ns | < 10.000µs | +95.1% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ bytesio_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.879µs | < 10.000µs | +81.2% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ bytesio_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 495.019ns | < 10.000µs | +95.0% |
max_rss_usage | ✅ | 34.701MB | < 35.000MB | +0.9% |
✅ capitalize_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 737.603ns | < 10.000µs | +92.6% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ capitalize_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 432.385ns | < 10.000µs | +95.7% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ casefold_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 734.311ns | < 10.000µs | +92.7% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ casefold_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 367.166ns | < 10.000µs | +96.3% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ decode_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 722.729ns | < 10.000µs | +92.8% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ decode_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 414.316ns | < 10.000µs | +95.9% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ encode_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 706.312ns | < 10.000µs | +92.9% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ encode_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 406.938ns | < 10.000µs | +95.9% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ format_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.533µs | < 10.000µs | +64.7% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ format_map_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.235µs | < 10.000µs | +67.7% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ format_map_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 776.622ns | < 10.000µs | +92.2% |
max_rss_usage | ✅ | 34.662MB | < 35.000MB | +1.0% |
✅ format_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 596.772ns | < 10.000µs | +94.0% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ index_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 344.043ns | < 10.000µs | +96.6% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ index_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 276.576ns | < 10.000µs | +97.2% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ join_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.226µs | < 10.000µs | +87.7% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ join_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 489.275ns | < 10.000µs | +95.1% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ ljust_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 10.277µs | < 20.000µs | +48.6% |
max_rss_usage | ✅ | 34.740MB | < 35.500MB | +2.1% |
✅ ljust_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 406.096ns | < 10.000µs | +95.9% |
max_rss_usage | ✅ | 34.642MB | < 35.500MB | +2.4% |
✅ lower_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.245µs | < 10.000µs | +77.5% |
max_rss_usage | ✅ | 34.642MB | < 35.500MB | +2.4% |
✅ lower_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 366.467ns | < 10.000µs | +96.3% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ lstrip_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 10.992µs | < 20.000µs | +45.0% |
max_rss_usage | ✅ | 34.721MB | < 35.500MB | +2.2% |
✅ lstrip_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 380.619ns | < 10.000µs | +96.2% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ modulo_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 589.572ns | < 10.000µs | +94.1% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ modulo_aspect_for_bytearray_bytearray
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.272µs | < 10.000µs | +87.3% |
max_rss_usage | ✅ | 34.662MB | < 35.000MB | +1.0% |
✅ modulo_aspect_for_bytes
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 749.853ns | < 10.000µs | +92.5% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ modulo_aspect_for_bytes_bytearray
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 988.524ns | < 10.000µs | +90.1% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ modulo_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 630.942ns | < 10.000µs | +93.7% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ replace_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 4.672µs | < 10.000µs | +53.3% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ replace_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 459.800ns | < 10.000µs | +95.4% |
max_rss_usage | ✅ | 34.623MB | < 35.500MB | +2.5% |
✅ repr_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 912.767ns | < 10.000µs | +90.9% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ repr_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 419.842ns | < 10.000µs | +95.8% |
max_rss_usage | ✅ | 34.662MB | < 35.000MB | +1.0% |
✅ rstrip_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 10.212µs | < 20.000µs | +48.9% |
max_rss_usage | ✅ | 34.800MB | < 35.500MB | +2.0% |
✅ rstrip_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 375.872ns | < 10.000µs | +96.2% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ slice_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 482.334ns | < 10.000µs | +95.2% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ slice_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 443.096ns | < 10.000µs | +95.6% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ stringio_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.220µs | < 10.000µs | +77.8% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ stringio_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 713.811ns | < 10.000µs | +92.9% |
max_rss_usage | ✅ | 34.662MB | < 35.000MB | +1.0% |
✅ strip_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 10.289µs | < 20.000µs | +48.6% |
max_rss_usage | ✅ | 34.780MB | < 35.500MB | +2.0% |
✅ strip_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 382.894ns | < 10.000µs | +96.2% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ swapcase_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.459µs | < 10.000µs | +75.4% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ swapcase_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 532.205ns | < 10.000µs | +94.7% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ title_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.413µs | < 10.000µs | +75.9% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ title_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 499.519ns | < 10.000µs | +95.0% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ translate_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.289µs | < 10.000µs | +67.1% |
max_rss_usage | ✅ | 34.662MB | < 35.000MB | +1.0% |
✅ translate_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.042µs | < 10.000µs | +89.6% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ upper_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.341µs | < 10.000µs | +76.6% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ upper_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 362.853ns | < 10.000µs | +96.4% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ iastaspectsospath - 24/24
✅ ospathbasename_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 4.207µs | < 10.000µs | +57.9% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ ospathbasename_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.079µs | < 10.000µs | +89.2% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ ospathjoin_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.046µs | < 10.000µs | +39.5% |
max_rss_usage | ✅ | 34.681MB | < 35.000MB | +0.9% |
✅ ospathjoin_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.307µs | < 10.000µs | +76.9% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ ospathnormcase_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.494µs | < 10.000µs | +65.1% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ ospathnormcase_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 566.124ns | < 10.000µs | +94.3% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ ospathsplit_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 4.731µs | < 10.000µs | +52.7% |
max_rss_usage | ✅ | 34.662MB | < 35.000MB | +1.0% |
✅ ospathsplit_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.591µs | < 10.000µs | +84.1% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ ospathsplitdrive_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.656µs | < 10.000µs | +63.4% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ ospathsplitdrive_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 694.548ns | < 10.000µs | +93.1% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ ospathsplitext_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 5.367µs | < 10.000µs | +46.3% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ ospathsplitext_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.378µs | < 10.000µs | +86.2% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ iastaspectssplit - 12/12
✅ rsplit_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.502µs | < 10.000µs | +85.0% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ rsplit_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 584.734ns | < 10.000µs | +94.2% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ split_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.460µs | < 10.000µs | +85.4% |
max_rss_usage | ✅ | 34.623MB | < 35.000MB | +1.1% |
✅ split_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 569.749ns | < 10.000µs | +94.3% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ splitlines_aspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.417µs | < 10.000µs | +85.8% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ splitlines_noaspect
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 586.419ns | < 10.000µs | +94.1% |
max_rss_usage | ✅ | 34.603MB | < 35.000MB | +1.1% |
✅ iastpropagation - 8/8
✅ no-propagation
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 48.799µs | < 60.000µs | +18.7% |
max_rss_usage | ✅ | 34.681MB | < 35.500MB | +2.3% |
✅ propagation_enabled
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 144.918µs | < 160.000µs | +9.4% |
max_rss_usage | ✅ | 34.642MB | < 35.500MB | +2.4% |
✅ propagation_enabled_100
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.564ms | < 1.800ms | +13.1% |
max_rss_usage | ✅ | 34.642MB | < 35.000MB | +1.0% |
✅ propagation_enabled_1000
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 28.965ms | < 30.550ms | +5.2% |
max_rss_usage | ✅ | 34.642MB | < 35.500MB | +2.4% |
✅ otelsdkspan - 24/24
✅ add-event
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 40.794ms | < 42.000ms | +2.9% |
max_rss_usage | ✅ | 31.850MB | < 35.000MB | +9.0% |
✅ add-link
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 36.282ms | < 38.550ms | +5.9% |
max_rss_usage | ✅ | 31.870MB | < 35.000MB | +8.9% |
✅ add-metrics
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 218.700ms | < 232.000ms | +5.7% |
max_rss_usage | ✅ | 31.850MB | < 35.000MB | +9.0% |
✅ add-tags
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 213.779ms | < 221.600ms | +3.5% |
max_rss_usage | ✅ | 31.870MB | < 35.000MB | +8.9% |
✅ get-context
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 29.117ms | < 31.300ms | +7.0% |
max_rss_usage | ✅ | 31.870MB | < 35.000MB | +8.9% |
✅ is-recording
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 29.160ms | < 31.000ms | +5.9% |
max_rss_usage | ✅ | 31.870MB | < 35.000MB | +8.9% |
✅ record-exception
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 63.106ms | < 65.850ms | +4.2% |
max_rss_usage | ✅ | 31.870MB | < 35.000MB | +8.9% |
✅ set-status
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 31.902ms | < 34.150ms | +6.6% |
max_rss_usage | ✅ | 31.831MB | < 35.000MB | +9.1% |
✅ start
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 28.742ms | < 30.150ms | +4.7% |
max_rss_usage | ✅ | 31.850MB | < 35.000MB | +9.0% |
✅ start-finish
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 33.741ms | < 35.350ms | +4.6% |
max_rss_usage | ✅ | 31.850MB | < 35.000MB | +9.0% |
✅ start-finish-telemetry
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 34.221ms | < 35.450ms | +3.5% |
max_rss_usage | ✅ | 31.890MB | < 35.000MB | +8.9% |
✅ update-name
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 31.131ms | < 33.400ms | +6.8% |
max_rss_usage | ✅ | 31.870MB | < 35.000MB | +8.9% |
✅ otelspan - 22/22
✅ add-event
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 44.378ms | < 47.150ms | +5.9% |
max_rss_usage | ✅ | 42.127MB | < 42.500MB | +0.9% |
✅ add-metrics
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 318.158ms | < 344.800ms | +7.7% |
max_rss_usage | ✅ | 559.247MB | < 562.000MB | +0.5% |
✅ add-tags
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 286.558ms | < 314.000ms | +8.7% |
max_rss_usage | ✅ | 560.972MB | < 563.500MB | +0.4% |
✅ get-context
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 84.757ms | < 92.350ms | +8.2% |
max_rss_usage | ✅ | 37.245MB | < 38.000MB | +2.0% |
✅ is-recording
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 41.597ms | < 44.500ms | +6.5% |
max_rss_usage | ✅ | 41.503MB | < 42.000MB | +1.2% |
✅ record-exception
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 60.323ms | < 67.650ms | +10.8% |
max_rss_usage | ✅ | 37.534MB | < 38.000MB | +1.2% |
✅ set-status
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 47.999ms | < 50.400ms | +4.8% |
max_rss_usage | ✅ | 41.517MB | < 42.000MB | +1.2% |
✅ start
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 41.758ms | < 43.450ms | +3.9% |
max_rss_usage | ✅ | 41.465MB | < 42.000MB | +1.3% |
✅ start-finish
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 81.165ms | < 86.000ms | +5.6% |
max_rss_usage | ✅ | 31.595MB | < 32.000MB | +1.3% |
✅ start-finish-telemetry
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 82.674ms | < 86.000ms | +3.9% |
max_rss_usage | ✅ | 31.556MB | < 32.000MB | +1.4% |
✅ update-name
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 43.315ms | < 45.150ms | +4.1% |
max_rss_usage | ✅ | 41.850MB | < 42.500MB | +1.5% |
✅ packagespackageforrootmodulemapping - 4/4
✅ cache_off
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 342.702ms | < 354.300ms | +3.3% |
max_rss_usage | ✅ | 34.834MB | < 38.000MB | +8.3% |
✅ cache_on
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 384.422ns | < 10.000µs | +96.2% |
max_rss_usage | ✅ | 33.035MB | < 38.000MB | +13.1% |
✅ packagesupdateimporteddependencies - 24/24
✅ import_many
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 154.683µs | < 170.000µs | +9.0% |
max_rss_usage | ✅ | 34.291MB | < 35.500MB | +3.4% |
✅ import_many_cached
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 120.864µs | < 130.000µs | +7.0% |
max_rss_usage | ✅ | 34.088MB | < 35.500MB | +4.0% |
✅ import_many_stdlib
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.610ms | < 1.750ms | +8.0% |
max_rss_usage | ✅ | 34.423MB | < 35.500MB | +3.0% |
✅ import_many_stdlib_cached
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 964.794µs | < 1.100ms | +12.3% |
max_rss_usage | ✅ | 34.166MB | < 35.500MB | +3.8% |
✅ import_many_unknown
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 827.398µs | < 890.000µs | +7.0% |
max_rss_usage | ✅ | 34.204MB | < 35.500MB | +3.7% |
✅ import_many_unknown_cached
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 789.408µs | < 870.000µs | +9.3% |
max_rss_usage | ✅ | 34.364MB | < 35.500MB | +3.2% |
✅ import_one
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 19.870µs | < 30.000µs | +33.8% |
max_rss_usage | ✅ | 34.352MB | < 35.500MB | +3.2% |
✅ import_one_cache
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.272µs | < 10.000µs | +37.3% |
max_rss_usage | ✅ | 34.130MB | < 35.500MB | +3.9% |
✅ import_one_stdlib
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 18.761µs | < 20.000µs | +6.2% |
max_rss_usage | ✅ | 34.103MB | < 35.500MB | +3.9% |
✅ import_one_stdlib_cache
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.309µs | < 10.000µs | +36.9% |
max_rss_usage | ✅ | 34.173MB | < 35.500MB | +3.7% |
✅ import_one_unknown
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 45.002µs | < 50.000µs | +10.0% |
max_rss_usage | ✅ | 34.306MB | < 35.500MB | +3.4% |
✅ import_one_unknown_cache
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 6.335µs | < 10.000µs | +36.6% |
max_rss_usage | ✅ | 34.123MB | < 35.500MB | +3.9% |
✅ ratelimiter - 12/12
✅ defaults
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.330µs | < 10.000µs | +76.7% |
max_rss_usage | ✅ | 28.705MB | < 31.000MB | +7.4% |
✅ high_rate_limit
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.410µs | < 10.000µs | +75.9% |
max_rss_usage | ✅ | 28.685MB | < 31.000MB | +7.5% |
✅ long_window
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.367µs | < 10.000µs | +76.3% |
max_rss_usage | ✅ | 28.724MB | < 31.000MB | +7.3% |
✅ low_rate_limit
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.365µs | < 10.000µs | +76.4% |
max_rss_usage | ✅ | 28.705MB | < 31.000MB | +7.4% |
✅ no_rate_limit
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 820.284ns | < 10.000µs | +91.8% |
max_rss_usage | ✅ | 28.607MB | < 31.000MB | +7.7% |
✅ short_window
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.497µs | < 10.000µs | +75.0% |
max_rss_usage | ✅ | 28.685MB | < 31.000MB | +7.5% |
✅ recursivecomputation - 8/8
✅ deep
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 309.119ms | < 320.950ms | +3.7% |
max_rss_usage | ✅ | 30.258MB | < 31.000MB | +2.4% |
✅ deep-profiled
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 343.749ms | < 359.150ms | +4.3% |
max_rss_usage | ✅ | 34.583MB | < 35.500MB | +2.6% |
✅ medium
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 7.021ms | < 7.400ms | +5.1% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
✅ shallow
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 944.629µs | < 1.050ms | +10.0% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
✅ samplingrules - 8/8
✅ average_match
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 332.567µs | < 350.000µs | +5.0% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
✅ high_match
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 501.014µs | < 550.000µs | +8.9% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
✅ low_match
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 170.130µs | < 190.000µs | +10.5% |
max_rss_usage | ✅ | 431.396MB | < 432.500MB | +0.3% |
✅ very_low_match
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 8.630ms | < 9.150ms | +5.7% |
max_rss_usage | ✅ | 54.918MB | < 55.000MB | +0.1% |
✅ sethttpmeta - 32/32
✅ all-disabled
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 12.055µs | < 20.000µs | +39.7% |
max_rss_usage | ✅ | 29.531MB | < 31.000MB | +4.7% |
✅ all-enabled
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 42.226µs | < 50.000µs | +15.5% |
max_rss_usage | ✅ | 29.570MB | < 31.000MB | +4.6% |
✅ collectipvariant_exists
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 42.641µs | < 50.000µs | +14.7% |
max_rss_usage | ✅ | 29.570MB | < 31.000MB | +4.6% |
✅ no-collectipvariant
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 42.015µs | < 50.000µs | +16.0% |
max_rss_usage | ✅ | 29.531MB | < 31.000MB | +4.7% |
✅ no-useragentvariant
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 41.478µs | < 50.000µs | +17.0% |
max_rss_usage | ✅ | 29.491MB | < 31.000MB | +4.9% |
✅ obfuscation-no-query
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 42.612µs | < 50.000µs | +14.8% |
max_rss_usage | ✅ | 29.531MB | < 31.000MB | +4.7% |
✅ obfuscation-regular-case-explicit-query
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 78.901µs | < 90.000µs | +12.3% |
max_rss_usage | ✅ | 29.963MB | < 31.000MB | +3.3% |
✅ obfuscation-regular-case-implicit-query
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 79.403µs | < 90.000µs | +11.8% |
max_rss_usage | ✅ | 29.924MB | < 31.000MB | +3.5% |
✅ obfuscation-send-querystring-disabled
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 157.236µs | < 170.000µs | +7.5% |
max_rss_usage | ✅ | 29.924MB | < 31.000MB | +3.5% |
✅ obfuscation-worst-case-explicit-query
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 151.861µs | < 160.000µs | +5.1% |
max_rss_usage | ✅ | 29.963MB | < 31.000MB | +3.3% |
✅ obfuscation-worst-case-implicit-query
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 157.977µs | < 170.000µs | +7.1% |
max_rss_usage | ✅ | 30.003MB | < 31.000MB | +3.2% |
✅ useragentvariant_exists_1
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 41.646µs | < 50.000µs | +16.7% |
max_rss_usage | ✅ | 29.570MB | < 31.000MB | +4.6% |
✅ useragentvariant_exists_2
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 42.456µs | < 50.000µs | +15.1% |
max_rss_usage | ✅ | 29.511MB | < 31.000MB | +4.8% |
✅ useragentvariant_exists_3
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 41.958µs | < 50.000µs | +16.1% |
max_rss_usage | ✅ | 29.550MB | < 31.000MB | +4.7% |
✅ useragentvariant_not_exists_1
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 41.311µs | < 50.000µs | +17.4% |
max_rss_usage | ✅ | 29.550MB | < 31.000MB | +4.7% |
✅ useragentvariant_not_exists_2
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 42.394µs | < 50.000µs | +15.2% |
max_rss_usage | ✅ | 29.550MB | < 31.000MB | +4.7% |
✅ span - 26/26
✅ add-event
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 22.891ms | < 26.200ms | +12.6% |
max_rss_usage | ✅ | 48.492MB | < 49.000MB | +1.0% |
✅ add-metrics
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 90.667ms | < 98.350ms | +7.8% |
max_rss_usage | ✅ | 614.867MB | < 961.000MB | +36.0% |
✅ add-tags
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 149.160ms | < 168.550ms | +11.5% |
max_rss_usage | ✅ | 614.442MB | < 962.500MB | +36.2% |
✅ get-context
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 21.452ms | < 23.700ms | +9.5% |
max_rss_usage | ✅ | 47.297MB | < 47.500MB | +0.4% |
✅ is-recording
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 21.589ms | < 23.900ms | +9.7% |
max_rss_usage | ✅ | 47.302MB | < 47.500MB | +0.4% |
✅ record-exception
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 40.900ms | < 44.500ms | +8.1% |
max_rss_usage | ✅ | 40.326MB | < 40.500MB | +0.4% |
✅ set-status
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 23.221ms | < 26.000ms | +10.7% |
max_rss_usage | ✅ | 47.293MB | < 47.500MB | +0.4% |
✅ start
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 21.291ms | < 23.500ms | +9.4% |
max_rss_usage | ✅ | 47.284MB | < 47.500MB | +0.5% |
✅ start-finish
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 50.122ms | < 52.500ms | +4.5% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
✅ start-finish-telemetry
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 51.159ms | < 55.300ms | +7.5% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
✅ start-finish-traceid128
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 53.221ms | < 56.050ms | +5.0% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
✅ start-traceid128
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 21.415ms | < 24.600ms | +12.9% |
max_rss_usage | ✅ | 47.305MB | < 47.500MB | +0.4% |
✅ update-name
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 22.053ms | < 24.100ms | +8.5% |
max_rss_usage | ✅ | 47.822MB | < 48.000MB | +0.4% |
✅ telemetryaddmetric - 30/30
✅ 1-count-metric-1-times
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.164µs | < 10.000µs | +68.4% |
max_rss_usage | ✅ | 29.137MB | < 31.000MB | +6.0% |
✅ 1-count-metrics-100-times
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 212.613µs | < 240.000µs | +11.4% |
max_rss_usage | ✅ | 29.118MB | < 31.000MB | +6.1% |
✅ 1-distribution-metric-1-times
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.273µs | < 10.000µs | +67.3% |
max_rss_usage | ✅ | 29.059MB | < 31.000MB | +6.3% |
✅ 1-distribution-metrics-100-times
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 193.841µs | < 210.000µs | +7.7% |
max_rss_usage | ✅ | 29.118MB | < 31.000MB | +6.1% |
✅ 1-gauge-metric-1-times
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.216µs | < 10.000µs | +77.8% |
max_rss_usage | ✅ | 29.078MB | < 31.000MB | +6.2% |
✅ 1-gauge-metrics-100-times
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 123.405µs | < 140.000µs | +11.9% |
max_rss_usage | ✅ | 29.059MB | < 31.000MB | +6.3% |
✅ 1-rate-metric-1-times
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 3.237µs | < 10.000µs | +67.6% |
max_rss_usage | ✅ | 29.039MB | < 31.000MB | +6.3% |
✅ 1-rate-metrics-100-times
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 213.082µs | < 230.000µs | +7.4% |
max_rss_usage | ✅ | 29.118MB | < 31.000MB | +6.1% |
✅ 100-count-metrics-100-times
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 21.004ms | < 22.500ms | +6.6% |
max_rss_usage | ✅ | 29.039MB | < 31.000MB | +6.3% |
✅ 100-distribution-metrics-100-times
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.984ms | < 2.100ms | +5.5% |
max_rss_usage | ✅ | 29.039MB | < 31.000MB | +6.3% |
✅ 100-gauge-metrics-100-times
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 1.274ms | < 1.400ms | +9.0% |
max_rss_usage | ✅ | 29.157MB | < 31.000MB | +5.9% |
✅ 100-rate-metrics-100-times
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.160ms | < 2.400ms | +10.0% |
max_rss_usage | ✅ | 29.117MB | < 31.000MB | +6.1% |
✅ flush-1-metric
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 4.399µs | < 10.000µs | +56.0% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
✅ flush-100-metrics
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 181.674µs | < 200.000µs | +9.2% |
max_rss_usage | ✅ | 29.078MB | < 31.000MB | +6.2% |
✅ flush-1000-metrics
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.187ms | < 2.350ms | +6.9% |
max_rss_usage | ✅ | 30.277MB | < 31.000MB | +2.3% |
✅ tracer - 6/6
✅ large
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 29.645ms | < 32.950ms | +10.0% |
max_rss_usage | ✅ | 30.278MB | < 31.000MB | +2.3% |
✅ medium
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 2.912ms | < 3.200ms | +9.0% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
✅ small
Metric | Status | Value | SLO | % Under SLO |
---|---|---|---|---|
execution_time | ✅ | 332.853µs | < 370.000µs | +10.0% |
max_rss_usage | ✅ | 29.098MB | < 31.000MB | +6.1% |
Gevent Worker Timeouts with Gunicorn and IAST
We identified an issue where applications using Gunicorn with the Gevent worker class may experience random worker timeouts, particularly during shutdown sequences. A typical command setup might look like:
After extensive testing, we found the issue occurs sporadically in a specific scenario: when endpoint A in the application sends an internal HTTP request to endpoint B using
urllib3
, as shown below:And later, when calling a
/shutdown
endpoint to force the tracer to flush spans before exit:Occasionally, this results in a worker timeout, and the trace spans are never sent:
Root Cause: Gevent, Greenlets, and Runtime Instrumentation
This problem is related to how IAST (Interactive Application Security Testing) performs runtime code instrumentation.
Like other features such as Profiling, IAST rewrites Python code dynamically and must be initialized as early as possible. This is because Gevent uses greenlets—lightweight coroutines that run in a shared OS thread—for concurrency.
If any blocking operation (such as
time.sleep()
or a blocking import) occurs beforegevent.monkey.patch_all()
has a chance to replace those blocking operations with non-blocking equivalents, the entire event loop can hang, causing Gunicorn to kill the worker.✅ Solution: Early Initialization via
sitecustomize
To resolve this, IAST initialization has been moved to the
sitecustomize
preload hook, ensuring that instrumentation runs before any blocking imports can interfere:This guarantees that any modules loaded during IAST setup are cleaned up properly, allowing
gevent.monkey.patch_all()
to take full effect without blocking side-effects.Additional Fix: Avoid Late Imports from C Extensions
We also updated a line in the native C code that previously triggered a delayed import:
This usage caused
importlib.metadata.packages_distributions
to be lazily loaded in a way that could not be released or patched properly by Gevent, leading to sporadic blocking and timeouts.To address this, we refactored the C module to expose a function
set_packages_distributions_func
, which is now explicitly set from Python space. This gives us better control over when and howimportlib.metadata
is imported, ensuring compatibility with Gevent’s concurrency model.Additional Fix: Simplifying Taint Sink Initialization in IAST
Finally, these changes also prompted a review of how IAST taint sinks were being loaded. Previously, we relied on a legacy pattern where all taint sink patches were triggered only when
hashlib
was imported, using the following logic:This design had a major drawback: if
hashlib
was never imported, no taint sinks were initialized. With our new preload strategy, this lazy trigger mechanism becomes unreliable and may silently fail to initialize critical instrumentation.However, this mechanism is no longer necessary. Each taint sink module already defines its own lazy instrumentation logic using
ModuleWatchdog
, like so:Since this approach watches for individual modules (e.g.
os
,subprocess
, etc.) and applies patches independently as they are imported, there's no longer a need to defer sink initialization via a central import likehashlib
.Therefore, we’ve removed the old
when_imported("hashlib")(...)
setup and now invoke each taint sink’s patch function directly at startup, ensuring:This results in a more robust and predictable IAST behavior across all use cases.
Summary
Gevent requires monkey patching to avoid blocking operations on the main thread.
IAST’s dynamic code instrumentation was interfering with this when not initialized early enough.
We fixed the issue by:
sitecustomize
preload hooks.This change improves stability and prevents data loss caused by worker timeouts during shutdown.
you’ll notice there are several
TODO
s documenting broken interactions — and, in many cases, the tests hang indefinitely, just like what happens inAPPSEC-58276
.Checklist
Reviewer Checklist