Skip to content

Conversation

avara1986
Copy link
Member

@avara1986 avara1986 commented Sep 19, 2025

Description

This PR strengthens IAST end-to-end coverage for shutdown and gevent scenarios that have historically caused intermittent timeouts and missing spans. It introduces downstream request propagation tests for Django and FastAPI (mirroring Flask), adds gevent-sensitive tests (socket, Greenlet, subprocess) under multiple Gunicorn configurations, and provides a Gunicorn runner for the Django test app. These additions validate the early-initialization fixes and lifecycle behaviors outlined in our gevent research and prevent regressions like those seen when urllib3 and gevent interact during application shutdown.

Motivation

Gevent + Gunicorn can trigger sporadic worker timeouts and span loss during shutdown when the app issues internal HTTP requests (e.g., urllib3 PoolManager). See internal research notes in .windsurf/context/RESEARCH_gevent_errors.md.
We need to ensure IAST remains robust when:
Applications make downstream calls before shutdown.
Gevent monkey-patching is active.
Sockets and subprocesses are used.
Expand coverage across frameworks (Django, FastAPI) to match existing Flask scenarios.

TODO: this test fails for every configuration (IAST enable/disable, Appsec enable/disable) so the problem is related to the trace lifecycle.

I.E: this view is stuck:

        subp = subprocess.Popen(args=["/bin/echo", "ok"]) if os.path.exists("/bin/echo") else subprocess.Popen(
            args=["echo", "ok"]
        )
        subp.communicate()
        rc = subp.wait()
        ok = rc == 0

if we start ddtrace with python -m ddtrace.commands.ddtrace_run gunicorn... instead of: import ddtrace.auto

APPSEC-59081

Checklist

  • PR author has checked that all the criteria below are met
  • The PR description includes an overview of the change
  • The PR description articulates the motivation for the change
  • The change includes tests OR the PR description describes a testing strategy
  • The PR description notes risks associated with the change, if any
  • Newly-added code is easy to change
  • The change follows the library release note guidelines
  • The change includes or references documentation updates if necessary
  • Backport labels are set (if applicable)

Reviewer Checklist

  • Reviewer has checked that all the criteria below are met
  • Title is accurate
  • All changes are related to the pull request's stated goal
  • Avoids breaking API changes
  • Testing strategy adequately addresses listed risks
  • Newly-added code is easy to change
  • Release note makes sense to a user of the library
  • If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment
  • Backport labels are set in a manner that is consistent with the release branch maintenance policy

Copy link
Contributor

github-actions bot commented Sep 19, 2025

CODEOWNERS have been resolved as:

.riot/requirements/40eff7a.txt                                          @DataDog/apm-python
.riot/requirements/6b9f69a.txt                                          @DataDog/apm-python
tests/appsec/integrations/django_tests/django_app/wsgi.py               @DataDog/asm-python
tests/appsec/integrations/fixtures/patch_gevent.py                      @DataDog/asm-python
tests/appsec/integrations/fixtures/patch_socket.py                      @DataDog/asm-python
tests/appsec/integrations/fixtures/patch_urllib3.py                     @DataDog/asm-python
tests/appsec/integrations/packages_tests/test_iast_shutdown_paths.py    @DataDog/asm-python
riotfile.py                                                             @DataDog/apm-python
tests/appsec/app.py                                                     @DataDog/asm-python
tests/appsec/appsec_utils.py                                            @DataDog/asm-python
tests/appsec/iast_tdd_propagation/flask_orm_app.py                      @DataDog/asm-python
tests/appsec/integrations/django_tests/django_app/urls.py               @DataDog/asm-python
tests/appsec/integrations/django_tests/django_app/views.py              @DataDog/asm-python
tests/appsec/integrations/django_tests/test_iast_django_testagent.py    @DataDog/asm-python
tests/appsec/integrations/fastapi_tests/app.py                          @DataDog/asm-python
tests/appsec/integrations/fastapi_tests/test_iast_fastapi_testagent.py  @DataDog/asm-python
tests/appsec/integrations/flask_tests/test_flask_remoteconfig.py        @DataDog/asm-python
tests/appsec/integrations/flask_tests/test_gunicorn_handlers.py         @DataDog/asm-python
tests/appsec/integrations/flask_tests/test_iast_flask_patching.py       @DataDog/asm-python
tests/appsec/integrations/flask_tests/test_iast_flask_testagent.py      @DataDog/asm-python
.riot/requirements/10d90c0.txt                                          @DataDog/apm-python
.riot/requirements/118fd10.txt                                          @DataDog/apm-python
.riot/requirements/1334ad5.txt                                          @DataDog/apm-python
.riot/requirements/13632f0.txt                                          @DataDog/apm-python
.riot/requirements/14395e9.txt                                          @DataDog/apm-python
.riot/requirements/147aa57.txt                                          @DataDog/apm-python
.riot/requirements/15b674e.txt                                          @DataDog/apm-python
.riot/requirements/16fd7e4.txt                                          @DataDog/apm-python
.riot/requirements/1757cd0.txt                                          @DataDog/apm-python
.riot/requirements/17ac431.txt                                          @DataDog/apm-python
.riot/requirements/1829a8a.txt                                          @DataDog/apm-python
.riot/requirements/198266a.txt                                          @DataDog/apm-python
.riot/requirements/199a155.txt                                          @DataDog/apm-python
.riot/requirements/1a5fb66.txt                                          @DataDog/apm-python
.riot/requirements/1d07e79.txt                                          @DataDog/apm-python
.riot/requirements/2a056ee.txt                                          @DataDog/apm-python
.riot/requirements/492b83f.txt                                          @DataDog/apm-python
.riot/requirements/4f4caf8.txt                                          @DataDog/apm-python
.riot/requirements/ae0fa28.txt                                          @DataDog/apm-python
.riot/requirements/b42974d.txt                                          @DataDog/apm-python
.riot/requirements/bebf559.txt                                          @DataDog/apm-python
.riot/requirements/c48b250.txt                                          @DataDog/apm-python
.riot/requirements/d65bf1a.txt                                          @DataDog/apm-python
.riot/requirements/e776347.txt                                          @DataDog/apm-python
.riot/requirements/eb4440f.txt                                          @DataDog/apm-python
.riot/requirements/f61cdff.txt                                          @DataDog/apm-python
.riot/requirements/eca9f2c.txt                                          @DataDog/apm-python
.riot/requirements/f16bd61.txt                                          @DataDog/apm-python

Copy link
Contributor

github-actions bot commented Sep 19, 2025

Bootstrap import analysis

Comparison of import times between this PR and base.

Summary

The average import time from this PR is: 275 ± 3 ms.

The average import time from base is: 279 ± 4 ms.

The import time difference between this PR and base is: -3.2 ± 0.2 ms.

Import time breakdown

The following import paths have shrunk:

ddtrace.auto 2.093 ms (0.76%)
ddtrace.bootstrap.sitecustomize 1.415 ms (0.51%)
ddtrace.bootstrap.preload 1.415 ms (0.51%)
ddtrace.internal.remoteconfig.client 0.689 ms (0.25%)
ddtrace 0.678 ms (0.25%)
ddtrace.internal._unpatched 0.029 ms (0.01%)
json 0.029 ms (0.01%)
json.decoder 0.029 ms (0.01%)
re 0.029 ms (0.01%)
enum 0.029 ms (0.01%)
types 0.029 ms (0.01%)

@pr-commenter
Copy link

pr-commenter bot commented Sep 19, 2025

Performance SLOs

Comparing candidate avara1986/gevent_cpu_limit_experiment (f22c5a3) with baseline main (08ff751)

📈 Performance Regressions (1 suite)
📈 telemetryaddmetric - 30/30

✅ 1-count-metric-1-times

Time: ✅ 3.230µs (SLO: <20.000µs 📉 -83.8%) vs baseline: +3.5%

Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.6%


✅ 1-count-metrics-100-times

Time: ✅ 214.114µs (SLO: <250.000µs 📉 -14.4%) vs baseline: +1.2%

Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +4.9%


✅ 1-distribution-metric-1-times

Time: ✅ 2.977µs (SLO: <20.000µs 📉 -85.1%) vs baseline: +1.6%

Memory: ✅ 32.204MB (SLO: <34.000MB -5.3%) vs baseline: +5.0%


✅ 1-distribution-metrics-100-times

Time: ✅ 191.823µs (SLO: <220.000µs 📉 -12.8%) vs baseline: +0.4%

Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.8%


✅ 1-gauge-metric-1-times

Time: ✅ 2.106µs (SLO: <20.000µs 📉 -89.5%) vs baseline: -0.3%

Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.7%


✅ 1-gauge-metrics-100-times

Time: ✅ 126.448µs (SLO: <150.000µs 📉 -15.7%) vs baseline: +0.9%

Memory: ✅ 32.067MB (SLO: <34.000MB -5.7%) vs baseline: +4.7%


✅ 1-rate-metric-1-times

Time: ✅ 3.556µs (SLO: <20.000µs 📉 -82.2%) vs baseline: 📈 +13.3%

Memory: ✅ 32.086MB (SLO: <34.000MB -5.6%) vs baseline: +4.8%


✅ 1-rate-metrics-100-times

Time: ✅ 214.948µs (SLO: <250.000µs 📉 -14.0%) vs baseline: +0.7%

Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +5.0%


✅ 100-count-metrics-100-times

Time: ✅ 21.675ms (SLO: <23.500ms -7.8%) vs baseline: +1.4%

Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +5.1%


✅ 100-distribution-metrics-100-times

Time: ✅ 2.007ms (SLO: <2.250ms 📉 -10.8%) vs baseline: +0.4%

Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +4.9%


✅ 100-gauge-metrics-100-times

Time: ✅ 1.291ms (SLO: <1.550ms 📉 -16.7%) vs baseline: -0.9%

Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +4.9%


✅ 100-rate-metrics-100-times

Time: ✅ 2.192ms (SLO: <2.550ms 📉 -14.1%) vs baseline: -0.3%

Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +4.9%


✅ flush-1-metric

Time: ✅ 4.604µs (SLO: <20.000µs 📉 -77.0%) vs baseline: 📈 +11.9%

Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.7%


✅ flush-100-metrics

Time: ✅ 183.234µs (SLO: <250.000µs 📉 -26.7%) vs baseline: +1.0%

Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.7%


✅ flush-1000-metrics

Time: ✅ 2.208ms (SLO: <2.500ms 📉 -11.7%) vs baseline: +0.6%

Memory: ✅ 32.912MB (SLO: <34.500MB -4.6%) vs baseline: +4.9%

🟡 Near SLO Breach (4 suites)
🟡 djangosimple - 28/28

✅ appsec

Time: ✅ 20.568ms (SLO: <22.300ms -7.8%) vs baseline: -0.2%

Memory: ✅ 65.348MB (SLO: <67.000MB -2.5%) vs baseline: +5.0%


✅ exception-replay-enabled

Time: ✅ 1.346ms (SLO: <1.450ms -7.2%) vs baseline: -0.1%

Memory: ✅ 64.192MB (SLO: <67.000MB -4.2%) vs baseline: +4.7%


✅ iast

Time: ✅ 20.494ms (SLO: <22.250ms -7.9%) vs baseline: -0.1%

Memory: ✅ 65.365MB (SLO: <67.000MB -2.4%) vs baseline: +5.1%


✅ profiler

Time: ✅ 15.290ms (SLO: <16.550ms -7.6%) vs baseline: -0.2%

Memory: ✅ 53.618MB (SLO: <54.500MB 🟡 -1.6%) vs baseline: +5.3%


✅ span-code-origin

Time: ✅ 26.214ms (SLO: <28.200ms -7.0%) vs baseline: ~same

Memory: ✅ 67.234MB (SLO: <69.500MB -3.3%) vs baseline: +4.6%


✅ tracer

Time: ✅ 20.555ms (SLO: <21.750ms -5.5%) vs baseline: +0.2%

Memory: ✅ 65.332MB (SLO: <67.000MB -2.5%) vs baseline: +5.0%


✅ tracer-and-profiler

Time: ✅ 22.132ms (SLO: <23.500ms -5.8%) vs baseline: -0.4%

Memory: ✅ 66.343MB (SLO: <67.500MB 🟡 -1.7%) vs baseline: +5.1%


✅ tracer-dont-create-db-spans

Time: ✅ 19.321ms (SLO: <21.500ms 📉 -10.1%) vs baseline: +0.1%

Memory: ✅ 65.332MB (SLO: <66.000MB 🟡 -1.0%) vs baseline: +5.0%


✅ tracer-minimal

Time: ✅ 16.622ms (SLO: <17.500ms -5.0%) vs baseline: -0.5%

Memory: ✅ 64.915MB (SLO: <66.000MB 🟡 -1.6%) vs baseline: +4.4%


✅ tracer-native

Time: ✅ 20.474ms (SLO: <21.750ms -5.9%) vs baseline: -0.4%

Memory: ✅ 71.109MB (SLO: <72.500MB 🟡 -1.9%) vs baseline: +4.9%


✅ tracer-no-caches

Time: ✅ 18.440ms (SLO: <19.650ms -6.2%) vs baseline: -0.1%

Memory: ✅ 65.133MB (SLO: <67.000MB -2.8%) vs baseline: +4.6%


✅ tracer-no-databases

Time: ✅ 18.791ms (SLO: <20.100ms -6.5%) vs baseline: +0.2%

Memory: ✅ 64.938MB (SLO: <67.000MB -3.1%) vs baseline: +4.9%


✅ tracer-no-middleware

Time: ✅ 20.188ms (SLO: <21.500ms -6.1%) vs baseline: -0.1%

Memory: ✅ 65.312MB (SLO: <67.000MB -2.5%) vs baseline: +4.9%


✅ tracer-no-templates

Time: ✅ 20.433ms (SLO: <22.000ms -7.1%) vs baseline: +0.5%

Memory: ✅ 65.310MB (SLO: <67.000MB -2.5%) vs baseline: +5.0%


🟡 errortrackingdjangosimple - 6/6

✅ errortracking-enabled-all

Time: ✅ 18.078ms (SLO: <19.850ms -8.9%) vs baseline: +0.1%

Memory: ✅ 65.216MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +5.1%


✅ errortracking-enabled-user

Time: ✅ 18.096ms (SLO: <19.400ms -6.7%) vs baseline: ~same

Memory: ✅ 65.184MB (SLO: <66.500MB 🟡 -2.0%) vs baseline: +5.0%


✅ tracer-enabled

Time: ✅ 18.044ms (SLO: <19.450ms -7.2%) vs baseline: ~same

Memory: ✅ 65.220MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +5.2%


🟡 flasksqli - 6/6

✅ appsec-enabled

Time: ✅ 3.956ms (SLO: <4.200ms -5.8%) vs baseline: ~same

Memory: ✅ 63.384MB (SLO: <66.000MB -4.0%) vs baseline: +5.2%


✅ iast-enabled

Time: ✅ 2.456ms (SLO: <2.800ms 📉 -12.3%) vs baseline: -0.3%

Memory: ✅ 58.818MB (SLO: <60.000MB 🟡 -2.0%) vs baseline: +5.2%


✅ tracer-enabled

Time: ✅ 2.076ms (SLO: <2.250ms -7.7%) vs baseline: ~same

Memory: ✅ 52.015MB (SLO: <54.500MB -4.6%) vs baseline: +5.1%


🟡 otelspan - 22/22

✅ add-event

Time: ✅ 45.249ms (SLO: <47.150ms -4.0%) vs baseline: -0.1%

Memory: ✅ 45.131MB (SLO: <47.000MB -4.0%) vs baseline: +5.1%


✅ add-metrics

Time: ✅ 319.836ms (SLO: <344.800ms -7.2%) vs baseline: ~same

Memory: ✅ 553.681MB (SLO: <562.000MB 🟡 -1.5%) vs baseline: +4.7%


✅ add-tags

Time: ✅ 289.041ms (SLO: <314.000ms -7.9%) vs baseline: -1.0%

Memory: ✅ 554.824MB (SLO: <563.500MB 🟡 -1.5%) vs baseline: +4.6%


✅ get-context

Time: ✅ 82.795ms (SLO: <92.350ms 📉 -10.3%) vs baseline: ~same

Memory: ✅ 40.183MB (SLO: <46.500MB 📉 -13.6%) vs baseline: +4.9%


✅ is-recording

Time: ✅ 43.020ms (SLO: <44.500ms -3.3%) vs baseline: +0.2%

Memory: ✅ 44.524MB (SLO: <47.500MB -6.3%) vs baseline: +5.1%


✅ record-exception

Time: ✅ 61.443ms (SLO: <67.650ms -9.2%) vs baseline: +0.3%

Memory: ✅ 40.459MB (SLO: <47.000MB 📉 -13.9%) vs baseline: +4.9%


✅ set-status

Time: ✅ 48.707ms (SLO: <50.400ms -3.4%) vs baseline: ~same

Memory: ✅ 44.453MB (SLO: <47.000MB -5.4%) vs baseline: +4.8%


✅ start

Time: ✅ 41.983ms (SLO: <43.450ms -3.4%) vs baseline: -0.5%

Memory: ✅ 44.505MB (SLO: <47.000MB -5.3%) vs baseline: +5.0%


✅ start-finish

Time: ✅ 83.350ms (SLO: <88.000ms -5.3%) vs baseline: +0.6%

Memory: ✅ 34.544MB (SLO: <46.500MB 📉 -25.7%) vs baseline: +4.8%


✅ start-finish-telemetry

Time: ✅ 84.860ms (SLO: <89.000ms -4.7%) vs baseline: +0.8%

Memory: ✅ 34.564MB (SLO: <46.500MB 📉 -25.7%) vs baseline: +4.9%


✅ update-name

Time: ✅ 44.204ms (SLO: <45.150ms -2.1%) vs baseline: +0.3%

Memory: ✅ 44.811MB (SLO: <47.000MB -4.7%) vs baseline: +5.1%

⚠️ Unstable Tests (1 suite)
⚠️ coreapiscenario - 12/12 (2 unstable)

⚠️ context_with_data_listeners

Time: ⚠️ 13.338µs (SLO: <20.000µs 📉 -33.3%) vs baseline: -0.7%

Memory: ✅ 32.145MB (SLO: <33.500MB -4.0%) vs baseline: +4.7%


✅ context_with_data_no_listeners

Time: ✅ 3.382µs (SLO: <10.000µs 📉 -66.2%) vs baseline: -0.2%

Memory: ✅ 32.165MB (SLO: <33.500MB -4.0%) vs baseline: +4.9%


⚠️ context_with_data_only_all_listeners

Time: ⚠️ 13.430µs (SLO: <20.000µs 📉 -32.8%) vs baseline: +0.3%

Memory: ✅ 32.106MB (SLO: <33.500MB -4.2%) vs baseline: +4.7%


✅ get_item_exists

Time: ✅ 0.580µs (SLO: <10.000µs 📉 -94.2%) vs baseline: -0.9%

Memory: ✅ 32.145MB (SLO: <33.500MB -4.0%) vs baseline: +5.0%


✅ get_item_missing

Time: ✅ 0.638µs (SLO: <10.000µs 📉 -93.6%) vs baseline: -1.4%

Memory: ✅ 32.165MB (SLO: <33.500MB -4.0%) vs baseline: +4.9%


✅ set_item

Time: ✅ 24.052µs (SLO: <30.000µs 📉 -19.8%) vs baseline: -0.3%

Memory: ✅ 32.086MB (SLO: <33.500MB -4.2%) vs baseline: +4.9%

✅ All Tests Passing (18 suites)
errortrackingflasksqli - 6/6

✅ errortracking-enabled-all

Time: ✅ 2.118ms (SLO: <2.300ms -7.9%) vs baseline: +1.1%

Memory: ✅ 51.917MB (SLO: <53.500MB -3.0%) vs baseline: +5.0%


✅ errortracking-enabled-user

Time: ✅ 2.088ms (SLO: <2.250ms -7.2%) vs baseline: -0.2%

Memory: ✅ 52.022MB (SLO: <53.500MB -2.8%) vs baseline: +5.3%


✅ tracer-enabled

Time: ✅ 2.103ms (SLO: <2.300ms -8.6%) vs baseline: +0.5%

Memory: ✅ 52.018MB (SLO: <53.500MB -2.8%) vs baseline: +5.3%


flasksimple - 16/16

✅ appsec-get

Time: ✅ 4.588ms (SLO: <4.750ms -3.4%) vs baseline: ~same

Memory: ✅ 63.080MB (SLO: <65.000MB -3.0%) vs baseline: +5.3%


✅ appsec-post

Time: ✅ 6.564ms (SLO: <6.750ms -2.8%) vs baseline: -0.4%

Memory: ✅ 63.160MB (SLO: <65.000MB -2.8%) vs baseline: +4.8%


✅ appsec-telemetry

Time: ✅ 4.589ms (SLO: <4.750ms -3.4%) vs baseline: +0.3%

Memory: ✅ 63.165MB (SLO: <65.000MB -2.8%) vs baseline: +5.5%


✅ debugger

Time: ✅ 1.857ms (SLO: <2.000ms -7.2%) vs baseline: -0.3%

Memory: ✅ 45.262MB (SLO: <47.000MB -3.7%) vs baseline: +5.2%


✅ iast-get

Time: ✅ 1.860ms (SLO: <2.000ms -7.0%) vs baseline: -0.2%

Memory: ✅ 42.239MB (SLO: <49.000MB 📉 -13.8%) vs baseline: +5.7%


✅ profiler

Time: ✅ 1.919ms (SLO: <2.100ms -8.6%) vs baseline: +0.3%

Memory: ✅ 45.094MB (SLO: <47.000MB -4.1%) vs baseline: +4.7%


✅ tracer

Time: ✅ 3.382ms (SLO: <3.650ms -7.4%) vs baseline: ~same

Memory: ✅ 52.120MB (SLO: <53.500MB -2.6%) vs baseline: +4.6%


✅ tracer-native

Time: ✅ 3.374ms (SLO: <3.650ms -7.6%) vs baseline: +0.2%

Memory: ✅ 58.039MB (SLO: <60.000MB -3.3%) vs baseline: +4.9%


httppropagationextract - 60/60

✅ all_styles_all_headers

Time: ✅ 84.519µs (SLO: <100.000µs 📉 -15.5%) vs baseline: +3.7%

Memory: ✅ 32.224MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ b3_headers

Time: ✅ 14.876µs (SLO: <20.000µs 📉 -25.6%) vs baseline: +4.7%

Memory: ✅ 32.224MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ b3_single_headers

Time: ✅ 13.455µs (SLO: <20.000µs 📉 -32.7%) vs baseline: +1.4%

Memory: ✅ 32.204MB (SLO: <33.500MB -3.9%) vs baseline: +4.8%


✅ datadog_tracecontext_tracestate_not_propagated_on_trace_id_no_match

Time: ✅ 63.370µs (SLO: <80.000µs 📉 -20.8%) vs baseline: -0.4%

Memory: ✅ 32.244MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ datadog_tracecontext_tracestate_propagated_on_trace_id_match

Time: ✅ 67.943µs (SLO: <80.000µs 📉 -15.1%) vs baseline: +3.1%

Memory: ✅ 32.204MB (SLO: <33.500MB -3.9%) vs baseline: +4.9%


✅ empty_headers

Time: ✅ 1.607µs (SLO: <10.000µs 📉 -83.9%) vs baseline: +0.3%

Memory: ✅ 32.244MB (SLO: <33.500MB -3.8%) vs baseline: +5.0%


✅ full_t_id_datadog_headers

Time: ✅ 24.128µs (SLO: <30.000µs 📉 -19.6%) vs baseline: +6.0%

Memory: ✅ 32.244MB (SLO: <33.500MB -3.8%) vs baseline: +5.0%


✅ invalid_priority_header

Time: ✅ 6.531µs (SLO: <10.000µs 📉 -34.7%) vs baseline: +0.5%

Memory: ✅ 32.185MB (SLO: <33.500MB -3.9%) vs baseline: +4.7%


✅ invalid_span_id_header

Time: ✅ 6.606µs (SLO: <10.000µs 📉 -33.9%) vs baseline: +0.9%

Memory: ✅ 32.224MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ invalid_tags_header

Time: ✅ 6.612µs (SLO: <10.000µs 📉 -33.9%) vs baseline: +0.7%

Memory: ✅ 32.244MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ invalid_trace_id_header

Time: ✅ 6.548µs (SLO: <10.000µs 📉 -34.5%) vs baseline: ~same

Memory: ✅ 32.244MB (SLO: <33.500MB -3.8%) vs baseline: +5.0%


✅ large_header_no_matches

Time: ✅ 27.591µs (SLO: <30.000µs -8.0%) vs baseline: +0.2%

Memory: ✅ 32.224MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ large_valid_headers_all

Time: ✅ 28.790µs (SLO: <40.000µs 📉 -28.0%) vs baseline: -0.2%

Memory: ✅ 32.224MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ medium_header_no_matches

Time: ✅ 9.884µs (SLO: <20.000µs 📉 -50.6%) vs baseline: -0.4%

Memory: ✅ 32.244MB (SLO: <33.500MB -3.8%) vs baseline: +5.0%


✅ medium_valid_headers_all

Time: ✅ 11.278µs (SLO: <20.000µs 📉 -43.6%) vs baseline: ~same

Memory: ✅ 32.204MB (SLO: <33.500MB -3.9%) vs baseline: +4.9%


✅ none_propagation_style

Time: ✅ 1.708µs (SLO: <10.000µs 📉 -82.9%) vs baseline: +0.8%

Memory: ✅ 32.204MB (SLO: <33.500MB -3.9%) vs baseline: +4.7%


✅ tracecontext_headers

Time: ✅ 34.353µs (SLO: <40.000µs 📉 -14.1%) vs baseline: -0.9%

Memory: ✅ 32.224MB (SLO: <33.500MB -3.8%) vs baseline: +4.8%


✅ valid_headers_all

Time: ✅ 6.577µs (SLO: <10.000µs 📉 -34.2%) vs baseline: +0.2%

Memory: ✅ 32.224MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ valid_headers_basic

Time: ✅ 6.103µs (SLO: <10.000µs 📉 -39.0%) vs baseline: -0.2%

Memory: ✅ 32.224MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ wsgi_empty_headers

Time: ✅ 1.588µs (SLO: <10.000µs 📉 -84.1%) vs baseline: -0.6%

Memory: ✅ 32.244MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ wsgi_invalid_priority_header

Time: ✅ 6.568µs (SLO: <10.000µs 📉 -34.3%) vs baseline: -0.5%

Memory: ✅ 32.244MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ wsgi_invalid_span_id_header

Time: ✅ 1.597µs (SLO: <10.000µs 📉 -84.0%) vs baseline: +0.3%

Memory: ✅ 32.204MB (SLO: <33.500MB -3.9%) vs baseline: +4.9%


✅ wsgi_invalid_tags_header

Time: ✅ 6.623µs (SLO: <10.000µs 📉 -33.8%) vs baseline: +0.2%

Memory: ✅ 32.224MB (SLO: <33.500MB -3.8%) vs baseline: +4.8%


✅ wsgi_invalid_trace_id_header

Time: ✅ 6.597µs (SLO: <10.000µs 📉 -34.0%) vs baseline: -0.4%

Memory: ✅ 32.204MB (SLO: <33.500MB -3.9%) vs baseline: +4.8%


✅ wsgi_large_header_no_matches

Time: ✅ 28.739µs (SLO: <40.000µs 📉 -28.2%) vs baseline: -0.2%

Memory: ✅ 32.204MB (SLO: <33.500MB -3.9%) vs baseline: +4.9%


✅ wsgi_large_valid_headers_all

Time: ✅ 29.928µs (SLO: <40.000µs 📉 -25.2%) vs baseline: +0.8%

Memory: ✅ 32.224MB (SLO: <33.500MB -3.8%) vs baseline: +4.8%


✅ wsgi_medium_header_no_matches

Time: ✅ 10.186µs (SLO: <20.000µs 📉 -49.1%) vs baseline: +0.6%

Memory: ✅ 32.244MB (SLO: <33.500MB -3.8%) vs baseline: +5.1%


✅ wsgi_medium_valid_headers_all

Time: ✅ 11.537µs (SLO: <20.000µs 📉 -42.3%) vs baseline: +0.3%

Memory: ✅ 32.224MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ wsgi_valid_headers_all

Time: ✅ 6.559µs (SLO: <10.000µs 📉 -34.4%) vs baseline: -0.8%

Memory: ✅ 32.224MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ wsgi_valid_headers_basic

Time: ✅ 6.198µs (SLO: <10.000µs 📉 -38.0%) vs baseline: +0.9%

Memory: ✅ 32.204MB (SLO: <33.500MB -3.9%) vs baseline: +4.7%


httppropagationinject - 16/16

✅ ids_only

Time: ✅ 22.263µs (SLO: <30.000µs 📉 -25.8%) vs baseline: +2.5%

Memory: ✅ 32.204MB (SLO: <33.500MB -3.9%) vs baseline: +4.9%


✅ with_all

Time: ✅ 29.150µs (SLO: <40.000µs 📉 -27.1%) vs baseline: ~same

Memory: ✅ 32.244MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ with_dd_origin

Time: ✅ 25.814µs (SLO: <30.000µs 📉 -14.0%) vs baseline: +0.7%

Memory: ✅ 32.204MB (SLO: <33.500MB -3.9%) vs baseline: +4.7%


✅ with_priority_and_origin

Time: ✅ 25.704µs (SLO: <40.000µs 📉 -35.7%) vs baseline: +3.2%

Memory: ✅ 32.204MB (SLO: <33.500MB -3.9%) vs baseline: +4.8%


✅ with_sampling_priority

Time: ✅ 21.725µs (SLO: <30.000µs 📉 -27.6%) vs baseline: +0.4%

Memory: ✅ 32.224MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


✅ with_tags

Time: ✅ 27.545µs (SLO: <40.000µs 📉 -31.1%) vs baseline: +0.6%

Memory: ✅ 32.165MB (SLO: <33.500MB -4.0%) vs baseline: +4.9%


✅ with_tags_invalid

Time: ✅ 29.585µs (SLO: <40.000µs 📉 -26.0%) vs baseline: +3.1%

Memory: ✅ 32.204MB (SLO: <33.500MB -3.9%) vs baseline: +4.7%


✅ with_tags_max_size

Time: ✅ 27.924µs (SLO: <40.000µs 📉 -30.2%) vs baseline: +0.7%

Memory: ✅ 32.224MB (SLO: <33.500MB -3.8%) vs baseline: +4.9%


iast_aspects - 40/40

✅ re_expand_aspect

Time: ✅ 31.969µs (SLO: <40.000µs 📉 -20.1%) vs baseline: +0.7%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8%


✅ re_expand_noaspect

Time: ✅ 28.371µs (SLO: <40.000µs 📉 -29.1%) vs baseline: -0.8%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9%


✅ re_findall_aspect

Time: ✅ 2.907µs (SLO: <10.000µs 📉 -70.9%) vs baseline: +0.4%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.8%


✅ re_findall_noaspect

Time: ✅ 1.421µs (SLO: <10.000µs 📉 -85.8%) vs baseline: -0.5%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9%


✅ re_finditer_aspect

Time: ✅ 4.531µs (SLO: <10.000µs 📉 -54.7%) vs baseline: +0.3%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9%


✅ re_finditer_noaspect

Time: ✅ 1.426µs (SLO: <10.000µs 📉 -85.7%) vs baseline: +1.7%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.7%


✅ re_fullmatch_aspect

Time: ✅ 2.769µs (SLO: <10.000µs 📉 -72.3%) vs baseline: -0.1%

Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0%


✅ re_fullmatch_noaspect

Time: ✅ 1.287µs (SLO: <10.000µs 📉 -87.1%) vs baseline: -0.3%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9%


✅ re_group_aspect

Time: ✅ 3.000µs (SLO: <10.000µs 📉 -70.0%) vs baseline: -0.3%

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7%


✅ re_group_noaspect

Time: ✅ 1.592µs (SLO: <10.000µs 📉 -84.1%) vs baseline: -1.5%

Memory: ✅ 37.611MB (SLO: <39.000MB -3.6%) vs baseline: +4.7%


✅ re_groups_aspect

Time: ✅ 3.160µs (SLO: <10.000µs 📉 -68.4%) vs baseline: +0.7%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +5.0%


✅ re_groups_noaspect

Time: ✅ 1.694µs (SLO: <10.000µs 📉 -83.1%) vs baseline: ~same

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9%


✅ re_match_aspect

Time: ✅ 3.080µs (SLO: <10.000µs 📉 -69.2%) vs baseline: +8.5%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9%


✅ re_match_noaspect

Time: ✅ 1.292µs (SLO: <10.000µs 📉 -87.1%) vs baseline: -0.3%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7%


✅ re_search_aspect

Time: ✅ 2.604µs (SLO: <10.000µs 📉 -74.0%) vs baseline: -0.1%

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7%


✅ re_search_noaspect

Time: ✅ 1.197µs (SLO: <10.000µs 📉 -88.0%) vs baseline: -0.8%

Memory: ✅ 37.591MB (SLO: <39.000MB -3.6%) vs baseline: +4.5%


✅ re_sub_aspect

Time: ✅ 3.538µs (SLO: <10.000µs 📉 -64.6%) vs baseline: +1.3%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.7%


✅ re_sub_noaspect

Time: ✅ 1.538µs (SLO: <10.000µs 📉 -84.6%) vs baseline: +1.6%

Memory: ✅ 37.749MB (SLO: <39.000MB -3.2%) vs baseline: +5.1%


✅ re_subn_aspect

Time: ✅ 3.682µs (SLO: <10.000µs 📉 -63.2%) vs baseline: -0.7%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9%


✅ re_subn_noaspect

Time: ✅ 1.596µs (SLO: <10.000µs 📉 -84.0%) vs baseline: -0.8%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9%


iastaspects - 118/118

✅ add_aspect

Time: ✅ 0.406µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.2%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.1%


✅ add_inplace_aspect

Time: ✅ 0.409µs (SLO: <10.000µs 📉 -95.9%) vs baseline: ~same

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0%


✅ add_inplace_noaspect

Time: ✅ 0.321µs (SLO: <10.000µs 📉 -96.8%) vs baseline: +1.4%

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7%


✅ add_noaspect

Time: ✅ 0.277µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +0.7%

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7%


✅ bytearray_aspect

Time: ✅ 1.326µs (SLO: <10.000µs 📉 -86.7%) vs baseline: ~same

Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.1%


✅ bytearray_extend_aspect

Time: ✅ 1.446µs (SLO: <10.000µs 📉 -85.5%) vs baseline: +0.4%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9%


✅ bytearray_extend_noaspect

Time: ✅ 0.614µs (SLO: <10.000µs 📉 -93.9%) vs baseline: +0.5%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7%


✅ bytearray_noaspect

Time: ✅ 0.487µs (SLO: <10.000µs 📉 -95.1%) vs baseline: +1.6%

Memory: ✅ 37.749MB (SLO: <39.000MB -3.2%) vs baseline: +5.2%


✅ bytes_aspect

Time: ✅ 1.292µs (SLO: <10.000µs 📉 -87.1%) vs baseline: -0.3%

Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.6%


✅ bytes_noaspect

Time: ✅ 0.492µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.5%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8%


✅ bytesio_aspect

Time: ✅ 1.334µs (SLO: <10.000µs 📉 -86.7%) vs baseline: +0.6%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9%


✅ bytesio_noaspect

Time: ✅ 0.490µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -1.5%

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7%


✅ capitalize_aspect

Time: ✅ 0.735µs (SLO: <10.000µs 📉 -92.7%) vs baseline: ~same

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.7%


✅ capitalize_noaspect

Time: ✅ 0.434µs (SLO: <10.000µs 📉 -95.7%) vs baseline: -0.9%

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7%


✅ casefold_aspect

Time: ✅ 0.737µs (SLO: <10.000µs 📉 -92.6%) vs baseline: -0.5%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8%


✅ casefold_noaspect

Time: ✅ 0.368µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.8%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0%


✅ decode_aspect

Time: ✅ 0.729µs (SLO: <10.000µs 📉 -92.7%) vs baseline: +1.5%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9%


✅ decode_noaspect

Time: ✅ 0.418µs (SLO: <10.000µs 📉 -95.8%) vs baseline: -0.7%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9%


✅ encode_aspect

Time: ✅ 0.712µs (SLO: <10.000µs 📉 -92.9%) vs baseline: +0.2%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0%


✅ encode_noaspect

Time: ✅ 0.399µs (SLO: <10.000µs 📉 -96.0%) vs baseline: +0.2%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8%


✅ format_aspect

Time: ✅ 3.439µs (SLO: <10.000µs 📉 -65.6%) vs baseline: +0.7%

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.8%


✅ format_map_aspect

Time: ✅ 3.630µs (SLO: <10.000µs 📉 -63.7%) vs baseline: -0.8%

Memory: ✅ 37.611MB (SLO: <39.000MB -3.6%) vs baseline: +4.8%


✅ format_map_noaspect

Time: ✅ 0.771µs (SLO: <10.000µs 📉 -92.3%) vs baseline: -1.2%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9%


✅ format_noaspect

Time: ✅ 0.595µs (SLO: <10.000µs 📉 -94.1%) vs baseline: +0.2%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8%


✅ index_aspect

Time: ✅ 0.357µs (SLO: <10.000µs 📉 -96.4%) vs baseline: +1.6%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.1%


✅ index_noaspect

Time: ✅ 0.277µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +0.4%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9%


✅ join_aspect

Time: ✅ 1.368µs (SLO: <10.000µs 📉 -86.3%) vs baseline: ~same

Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.7%


✅ join_noaspect

Time: ✅ 0.495µs (SLO: <10.000µs 📉 -95.1%) vs baseline: +1.3%

Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.1%


✅ ljust_aspect

Time: ✅ 2.596µs (SLO: <20.000µs 📉 -87.0%) vs baseline: +0.4%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.8%


✅ ljust_noaspect

Time: ✅ 0.407µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.5%

Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0%


✅ lower_aspect

Time: ✅ 2.232µs (SLO: <10.000µs 📉 -77.7%) vs baseline: +1.4%

Memory: ✅ 37.749MB (SLO: <39.000MB -3.2%) vs baseline: +5.1%


✅ lower_noaspect

Time: ✅ 0.368µs (SLO: <10.000µs 📉 -96.3%) vs baseline: ~same

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.6%


✅ lstrip_aspect

Time: ✅ 2.284µs (SLO: <20.000µs 📉 -88.6%) vs baseline: -0.6%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0%


✅ lstrip_noaspect

Time: ✅ 0.388µs (SLO: <10.000µs 📉 -96.1%) vs baseline: +2.7%

Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.7%


✅ modulo_aspect

Time: ✅ 0.999µs (SLO: <10.000µs 📉 -90.0%) vs baseline: ~same

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.9%


✅ modulo_aspect_for_bytearray_bytearray

Time: ✅ 1.528µs (SLO: <10.000µs 📉 -84.7%) vs baseline: -0.2%

Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0%


✅ modulo_aspect_for_bytes

Time: ✅ 0.983µs (SLO: <10.000µs 📉 -90.2%) vs baseline: ~same

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.1%


✅ modulo_aspect_for_bytes_bytearray

Time: ✅ 1.191µs (SLO: <10.000µs 📉 -88.1%) vs baseline: -0.8%

Memory: ✅ 37.591MB (SLO: <39.000MB -3.6%) vs baseline: +4.6%


✅ modulo_noaspect

Time: ✅ 0.626µs (SLO: <10.000µs 📉 -93.7%) vs baseline: ~same

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +5.1%


✅ replace_aspect

Time: ✅ 4.878µs (SLO: <10.000µs 📉 -51.2%) vs baseline: +0.4%

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.9%


✅ replace_noaspect

Time: ✅ 0.461µs (SLO: <10.000µs 📉 -95.4%) vs baseline: +0.3%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7%


✅ repr_aspect

Time: ✅ 0.911µs (SLO: <10.000µs 📉 -90.9%) vs baseline: +0.6%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7%


✅ repr_noaspect

Time: ✅ 0.421µs (SLO: <10.000µs 📉 -95.8%) vs baseline: +1.1%

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7%


✅ rstrip_aspect

Time: ✅ 1.939µs (SLO: <20.000µs 📉 -90.3%) vs baseline: -1.5%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +5.0%


✅ rstrip_noaspect

Time: ✅ 0.379µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.2%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.7%


✅ slice_aspect

Time: ✅ 0.492µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.5%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9%


✅ slice_noaspect

Time: ✅ 0.446µs (SLO: <10.000µs 📉 -95.5%) vs baseline: +0.1%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +5.0%


✅ stringio_aspect

Time: ✅ 1.559µs (SLO: <10.000µs 📉 -84.4%) vs baseline: +0.7%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0%


✅ stringio_noaspect

Time: ✅ 0.717µs (SLO: <10.000µs 📉 -92.8%) vs baseline: +0.5%

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.8%


✅ strip_aspect

Time: ✅ 2.250µs (SLO: <20.000µs 📉 -88.7%) vs baseline: +0.4%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.8%


✅ strip_noaspect

Time: ✅ 0.388µs (SLO: <10.000µs 📉 -96.1%) vs baseline: +0.9%

Memory: ✅ 37.552MB (SLO: <39.000MB -3.7%) vs baseline: +4.6%


✅ swapcase_aspect

Time: ✅ 2.418µs (SLO: <10.000µs 📉 -75.8%) vs baseline: +0.1%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0%


✅ swapcase_noaspect

Time: ✅ 0.540µs (SLO: <10.000µs 📉 -94.6%) vs baseline: +0.6%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9%


✅ title_aspect

Time: ✅ 2.358µs (SLO: <10.000µs 📉 -76.4%) vs baseline: +1.2%

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.9%


✅ title_noaspect

Time: ✅ 0.501µs (SLO: <10.000µs 📉 -95.0%) vs baseline: -0.5%

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7%


✅ translate_aspect

Time: ✅ 3.248µs (SLO: <10.000µs 📉 -67.5%) vs baseline: +0.3%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7%


✅ translate_noaspect

Time: ✅ 1.037µs (SLO: <10.000µs 📉 -89.6%) vs baseline: -0.1%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9%


✅ upper_aspect

Time: ✅ 2.225µs (SLO: <10.000µs 📉 -77.7%) vs baseline: +0.9%

Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.2%


✅ upper_noaspect

Time: ✅ 0.370µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.3%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9%


iastaspectsospath - 24/24

✅ ospathbasename_aspect

Time: ✅ 4.531µs (SLO: <10.000µs 📉 -54.7%) vs baseline: +4.8%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7%


✅ ospathbasename_noaspect

Time: ✅ 1.084µs (SLO: <10.000µs 📉 -89.2%) vs baseline: +0.3%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.8%


✅ ospathjoin_aspect

Time: ✅ 6.245µs (SLO: <10.000µs 📉 -37.6%) vs baseline: +2.4%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9%


✅ ospathjoin_noaspect

Time: ✅ 2.291µs (SLO: <10.000µs 📉 -77.1%) vs baseline: +0.1%

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.6%


✅ ospathnormcase_aspect

Time: ✅ 3.454µs (SLO: <10.000µs 📉 -65.5%) vs baseline: -0.6%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0%


✅ ospathnormcase_noaspect

Time: ✅ 0.569µs (SLO: <10.000µs 📉 -94.3%) vs baseline: -0.7%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.2%


✅ ospathsplit_aspect

Time: ✅ 4.946µs (SLO: <10.000µs 📉 -50.5%) vs baseline: ~same

Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.7%


✅ ospathsplit_noaspect

Time: ✅ 1.605µs (SLO: <10.000µs 📉 -84.0%) vs baseline: +0.7%

Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.6%


✅ ospathsplitdrive_aspect

Time: ✅ 3.735µs (SLO: <10.000µs 📉 -62.7%) vs baseline: +0.9%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0%


✅ ospathsplitdrive_noaspect

Time: ✅ 0.689µs (SLO: <10.000µs 📉 -93.1%) vs baseline: -1.8%

Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7%


✅ ospathsplitext_aspect

Time: ✅ 4.600µs (SLO: <10.000µs 📉 -54.0%) vs baseline: +0.7%

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9%


✅ ospathsplitext_noaspect

Time: ✅ 1.390µs (SLO: <10.000µs 📉 -86.1%) vs baseline: +0.2%

Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +4.9%


iastaspectssplit - 12/12

✅ rsplit_aspect

Time: ✅ 1.551µs (SLO: <10.000µs 📉 -84.5%) vs baseline: +5.8%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8%


✅ rsplit_noaspect

Time: ✅ 0.577µs (SLO: <10.000µs 📉 -94.2%) vs baseline: -0.6%

Memory: ✅ 37.749MB (SLO: <39.000MB -3.2%) vs baseline: +5.2%


✅ split_aspect

Time: ✅ 1.455µs (SLO: <10.000µs 📉 -85.4%) vs baseline: +1.2%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0%


✅ split_noaspect

Time: ✅ 0.566µs (SLO: <10.000µs 📉 -94.3%) vs baseline: ~same

Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +4.9%


✅ splitlines_aspect

Time: ✅ 1.435µs (SLO: <10.000µs 📉 -85.6%) vs baseline: ~same

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9%


✅ splitlines_noaspect

Time: ✅ 0.583µs (SLO: <10.000µs 📉 -94.2%) vs baseline: -2.1%

Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0%


iastpropagation - 8/8

✅ no-propagation

Time: ✅ 49.124µs (SLO: <60.000µs 📉 -18.1%) vs baseline: ~same

Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9%


✅ propagation_enabled

Time: ✅ 171.254µs (SLO: <190.000µs -9.9%) vs baseline: +0.8%

Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8%


✅ propagation_enabled_100

Time: ✅ 1.892ms (SLO: <2.300ms 📉 -17.7%) vs baseline: +0.2%

Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0%


✅ propagation_enabled_1000

Time: ✅ 33.394ms (SLO: <34.550ms -3.3%) vs baseline: +3.2%

Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +4.9%


otelsdkspan - 24/24

✅ add-event

Time: ✅ 40.622ms (SLO: <42.000ms -3.3%) vs baseline: +0.5%

Memory: ✅ 34.524MB (SLO: <39.000MB 📉 -11.5%) vs baseline: +4.8%


✅ add-link

Time: ✅ 36.249ms (SLO: <38.550ms -6.0%) vs baseline: +0.3%

Memory: ✅ 34.505MB (SLO: <39.000MB 📉 -11.5%) vs baseline: +4.8%


✅ add-metrics

Time: ✅ 221.214ms (SLO: <232.000ms -4.6%) vs baseline: -0.3%

Memory: ✅ 34.583MB (SLO: <39.000MB 📉 -11.3%) vs baseline: +5.2%


✅ add-tags

Time: ✅ 211.266ms (SLO: <221.600ms -4.7%) vs baseline: ~same

Memory: ✅ 34.564MB (SLO: <39.000MB 📉 -11.4%) vs baseline: +5.0%


✅ get-context

Time: ✅ 29.145ms (SLO: <31.300ms -6.9%) vs baseline: -0.7%

Memory: ✅ 34.544MB (SLO: <39.000MB 📉 -11.4%) vs baseline: +4.9%


✅ is-recording

Time: ✅ 29.217ms (SLO: <31.000ms -5.8%) vs baseline: -0.1%

Memory: ✅ 34.485MB (SLO: <39.000MB 📉 -11.6%) vs baseline: +4.8%


✅ record-exception

Time: ✅ 62.997ms (SLO: <65.850ms -4.3%) vs baseline: ~same

Memory: ✅ 34.524MB (SLO: <39.000MB 📉 -11.5%) vs baseline: +5.0%


✅ set-status

Time: ✅ 32.002ms (SLO: <34.150ms -6.3%) vs baseline: -1.0%

Memory: ✅ 34.505MB (SLO: <39.000MB 📉 -11.5%) vs baseline: +4.9%


✅ start

Time: ✅ 28.934ms (SLO: <30.150ms -4.0%) vs baseline: +0.7%

Memory: ✅ 34.544MB (SLO: <39.000MB 📉 -11.4%) vs baseline: +4.9%


✅ start-finish

Time: ✅ 34.117ms (SLO: <35.350ms -3.5%) vs baseline: -0.1%

Memory: ✅ 34.544MB (SLO: <39.000MB 📉 -11.4%) vs baseline: +5.0%


✅ start-finish-telemetry

Time: ✅ 34.108ms (SLO: <35.450ms -3.8%) vs baseline: ~same

Memory: ✅ 34.544MB (SLO: <39.000MB 📉 -11.4%) vs baseline: +4.9%


✅ update-name

Time: ✅ 31.153ms (SLO: <33.400ms -6.7%) vs baseline: -0.1%

Memory: ✅ 34.524MB (SLO: <39.000MB 📉 -11.5%) vs baseline: +4.9%


packagespackageforrootmodulemapping - 4/4

✅ cache_off

Time: ✅ 340.330ms (SLO: <354.300ms -3.9%) vs baseline: -0.9%

Memory: ✅ 37.622MB (SLO: <40.000MB -5.9%) vs baseline: +4.2%


✅ cache_on

Time: ✅ 0.388µs (SLO: <10.000µs 📉 -96.1%) vs baseline: +0.6%

Memory: ✅ 37.031MB (SLO: <39.000MB -5.0%) vs baseline: +5.0%


packagesupdateimporteddependencies - 24/24

✅ import_many

Time: ✅ 154.949µs (SLO: <170.000µs -8.9%) vs baseline: -0.2%

Memory: ✅ 36.754MB (SLO: <38.500MB -4.5%) vs baseline: +4.7%


✅ import_many_cached

Time: ✅ 121.525µs (SLO: <130.000µs -6.5%) vs baseline: +0.6%

Memory: ✅ 36.728MB (SLO: <38.500MB -4.6%) vs baseline: +5.2%


✅ import_many_stdlib

Time: ✅ 1.603ms (SLO: <1.750ms -8.4%) vs baseline: -0.7%

Memory: ✅ 37.062MB (SLO: <38.500MB -3.7%) vs baseline: +5.3%


✅ import_many_stdlib_cached

Time: ✅ 0.971ms (SLO: <1.100ms 📉 -11.8%) vs baseline: +0.7%

Memory: ✅ 37.000MB (SLO: <38.500MB -3.9%) vs baseline: +5.2%


✅ import_many_unknown

Time: ✅ 831.409µs (SLO: <890.000µs -6.6%) vs baseline: +0.4%

Memory: ✅ 36.918MB (SLO: <38.500MB -4.1%) vs baseline: +4.0%


✅ import_many_unknown_cached

Time: ✅ 795.413µs (SLO: <870.000µs -8.6%) vs baseline: -0.8%

Memory: ✅ 36.900MB (SLO: <38.500MB -4.2%) vs baseline: +4.8%


✅ import_one

Time: ✅ 19.844µs (SLO: <30.000µs 📉 -33.9%) vs baseline: +0.8%

Memory: ✅ 36.786MB (SLO: <39.000MB -5.7%) vs baseline: +4.9%


✅ import_one_cache

Time: ✅ 6.285µs (SLO: <10.000µs 📉 -37.1%) vs baseline: -0.6%

Memory: ✅ 36.971MB (SLO: <38.500MB -4.0%) vs baseline: +5.4%


✅ import_one_stdlib

Time: ✅ 18.674µs (SLO: <20.000µs -6.6%) vs baseline: +0.6%

Memory: ✅ 37.001MB (SLO: <38.500MB -3.9%) vs baseline: +5.8%


✅ import_one_stdlib_cache

Time: ✅ 6.289µs (SLO: <10.000µs 📉 -37.1%) vs baseline: ~same

Memory: ✅ 36.742MB (SLO: <38.500MB -4.6%) vs baseline: +5.1%


✅ import_one_unknown

Time: ✅ 45.632µs (SLO: <50.000µs -8.7%) vs baseline: +0.3%

Memory: ✅ 37.027MB (SLO: <38.500MB -3.8%) vs baseline: +5.1%


✅ import_one_unknown_cache

Time: ✅ 6.327µs (SLO: <10.000µs 📉 -36.7%) vs baseline: +0.3%

Memory: ✅ 36.797MB (SLO: <38.500MB -4.4%) vs baseline: +5.2%


ratelimiter - 12/12

✅ defaults

Time: ✅ 2.356µs (SLO: <10.000µs 📉 -76.4%) vs baseline: +0.3%

Memory: ✅ 31.772MB (SLO: <34.000MB -6.6%) vs baseline: +4.9%


✅ high_rate_limit

Time: ✅ 2.404µs (SLO: <10.000µs 📉 -76.0%) vs baseline: ~same

Memory: ✅ 31.772MB (SLO: <34.000MB -6.6%) vs baseline: +4.8%


✅ long_window

Time: ✅ 2.363µs (SLO: <10.000µs 📉 -76.4%) vs baseline: -0.7%

Memory: ✅ 31.831MB (SLO: <34.000MB -6.4%) vs baseline: +5.1%


✅ low_rate_limit

Time: ✅ 2.366µs (SLO: <10.000µs 📉 -76.3%) vs baseline: +0.5%

Memory: ✅ 31.752MB (SLO: <34.000MB -6.6%) vs baseline: +4.9%


✅ no_rate_limit

Time: ✅ 0.827µs (SLO: <10.000µs 📉 -91.7%) vs baseline: -0.4%

Memory: ✅ 31.831MB (SLO: <34.000MB -6.4%) vs baseline: +5.2%


✅ short_window

Time: ✅ 2.489µs (SLO: <10.000µs 📉 -75.1%) vs baseline: +0.2%

Memory: ✅ 31.792MB (SLO: <34.000MB -6.5%) vs baseline: +4.9%


recursivecomputation - 8/8

✅ deep

Time: ✅ 309.742ms (SLO: <320.950ms -3.5%) vs baseline: +0.2%

Memory: ✅ 32.853MB (SLO: <34.500MB -4.8%) vs baseline: +4.5%


✅ deep-profiled

Time: ✅ 329.155ms (SLO: <359.150ms -8.4%) vs baseline: +0.6%

Memory: ✅ 36.058MB (SLO: <39.000MB -7.5%) vs baseline: +5.0%


✅ medium

Time: ✅ 7.065ms (SLO: <7.400ms -4.5%) vs baseline: ~same

Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +5.0%


✅ shallow

Time: ✅ 0.953ms (SLO: <1.050ms -9.2%) vs baseline: ~same

Memory: ✅ 32.204MB (SLO: <34.000MB -5.3%) vs baseline: +5.1%


samplingrules - 8/8

✅ average_match

Time: ✅ 149.321µs (SLO: <290.000µs 📉 -48.5%) vs baseline: +0.6%

Memory: ✅ 32.086MB (SLO: <34.000MB -5.6%) vs baseline: +6.0%


✅ high_match

Time: ✅ 196.490µs (SLO: <480.000µs 📉 -59.1%) vs baseline: +1.0%

Memory: ✅ 32.067MB (SLO: <34.000MB -5.7%) vs baseline: +4.5%


✅ low_match

Time: ✅ 99.971µs (SLO: <120.000µs 📉 -16.7%) vs baseline: -0.5%

Memory: ✅ 632.431MB (SLO: <700.000MB -9.7%) vs baseline: +4.9%


✅ very_low_match

Time: ✅ 2.891ms (SLO: <8.500ms 📉 -66.0%) vs baseline: -0.1%

Memory: ✅ 70.201MB (SLO: <75.000MB -6.4%) vs baseline: +4.8%


sethttpmeta - 32/32

✅ all-disabled

Time: ✅ 10.672µs (SLO: <20.000µs 📉 -46.6%) vs baseline: +0.7%

Memory: ✅ 32.598MB (SLO: <34.000MB -4.1%) vs baseline: +5.0%


✅ all-enabled

Time: ✅ 40.197µs (SLO: <50.000µs 📉 -19.6%) vs baseline: +0.4%

Memory: ✅ 32.539MB (SLO: <34.000MB -4.3%) vs baseline: +4.7%


✅ collectipvariant_exists

Time: ✅ 40.779µs (SLO: <50.000µs 📉 -18.4%) vs baseline: +0.3%

Memory: ✅ 32.598MB (SLO: <34.000MB -4.1%) vs baseline: +4.9%


✅ no-collectipvariant

Time: ✅ 40.190µs (SLO: <50.000µs 📉 -19.6%) vs baseline: ~same

Memory: ✅ 32.578MB (SLO: <34.000MB -4.2%) vs baseline: +4.9%


✅ no-useragentvariant

Time: ✅ 38.970µs (SLO: <50.000µs 📉 -22.1%) vs baseline: +0.4%

Memory: ✅ 32.558MB (SLO: <34.000MB -4.2%) vs baseline: +4.8%


✅ obfuscation-no-query

Time: ✅ 40.708µs (SLO: <50.000µs 📉 -18.6%) vs baseline: +0.5%

Memory: ✅ 32.578MB (SLO: <34.000MB -4.2%) vs baseline: +4.7%


✅ obfuscation-regular-case-explicit-query

Time: ✅ 75.841µs (SLO: <90.000µs 📉 -15.7%) vs baseline: -0.2%

Memory: ✅ 32.991MB (SLO: <34.000MB -3.0%) vs baseline: +6.3%


✅ obfuscation-regular-case-implicit-query

Time: ✅ 76.540µs (SLO: <90.000µs 📉 -15.0%) vs baseline: +0.5%

Memory: ✅ 32.971MB (SLO: <34.000MB -3.0%) vs baseline: +6.1%


✅ obfuscation-send-querystring-disabled

Time: ✅ 153.633µs (SLO: <170.000µs -9.6%) vs baseline: -0.3%

Memory: ✅ 32.971MB (SLO: <34.500MB -4.4%) vs baseline: +4.9%


✅ obfuscation-worst-case-explicit-query

Time: ✅ 148.008µs (SLO: <160.000µs -7.5%) vs baseline: ~same

Memory: ✅ 32.971MB (SLO: <34.500MB -4.4%) vs baseline: +4.8%


✅ obfuscation-worst-case-implicit-query

Time: ✅ 154.125µs (SLO: <170.000µs -9.3%) vs baseline: -0.3%

Memory: ✅ 32.932MB (SLO: <34.500MB -4.5%) vs baseline: +4.8%


✅ useragentvariant_exists_1

Time: ✅ 39.613µs (SLO: <50.000µs 📉 -20.8%) vs baseline: +0.2%

Memory: ✅ 32.558MB (SLO: <34.000MB -4.2%) vs baseline: +4.7%


✅ useragentvariant_exists_2

Time: ✅ 40.739µs (SLO: <50.000µs 📉 -18.5%) vs baseline: ~same

Memory: ✅ 32.558MB (SLO: <34.000MB -4.2%) vs baseline: +4.8%


✅ useragentvariant_exists_3

Time: ✅ 40.082µs (SLO: <50.000µs 📉 -19.8%) vs baseline: -0.1%

Memory: ✅ 32.617MB (SLO: <34.000MB -4.1%) vs baseline: +5.1%


✅ useragentvariant_not_exists_1

Time: ✅ 39.517µs (SLO: <50.000µs 📉 -21.0%) vs baseline: -0.2%

Memory: ✅ 32.558MB (SLO: <34.000MB -4.2%) vs baseline: +4.9%


✅ useragentvariant_not_exists_2

Time: ✅ 39.816µs (SLO: <50.000µs 📉 -20.4%) vs baseline: +0.9%

Memory: ✅ 32.578MB (SLO: <34.000MB -4.2%) vs baseline: +4.8%


span - 26/26

✅ add-event

Time: ✅ 24.081ms (SLO: <26.200ms -8.1%) vs baseline: -0.4%

Memory: ✅ 51.608MB (SLO: <53.000MB -2.6%) vs baseline: +5.0%


✅ add-metrics

Time: ✅ 92.040ms (SLO: <98.350ms -6.4%) vs baseline: ~same

Memory: ✅ 607.622MB (SLO: <961.000MB 📉 -36.8%) vs baseline: +5.0%


✅ add-tags

Time: ✅ 150.023ms (SLO: <168.550ms 📉 -11.0%) vs baseline: +0.2%

Memory: ✅ 606.232MB (SLO: <962.500MB 📉 -37.0%) vs baseline: +4.5%


✅ get-context

Time: ✅ 22.252ms (SLO: <23.700ms -6.1%) vs baseline: ~same

Memory: ✅ 50.308MB (SLO: <53.000MB -5.1%) vs baseline: +4.8%


✅ is-recording

Time: ✅ 22.585ms (SLO: <23.900ms -5.5%) vs baseline: -0.1%

Memory: ✅ 50.432MB (SLO: <53.000MB -4.8%) vs baseline: +5.1%


✅ record-exception

Time: ✅ 42.658ms (SLO: <44.500ms -4.1%) vs baseline: +0.3%

Memory: ✅ 43.309MB (SLO: <53.000MB 📉 -18.3%) vs baseline: +4.7%


✅ set-status

Time: ✅ 24.776ms (SLO: <26.000ms -4.7%) vs baseline: +1.1%

Memory: ✅ 50.391MB (SLO: <53.000MB -4.9%) vs baseline: +5.0%


✅ start

Time: ✅ 22.251ms (SLO: <23.500ms -5.3%) vs baseline: -0.8%

Memory: ✅ 50.367MB (SLO: <53.000MB -5.0%) vs baseline: +4.9%


✅ start-finish

Time: ✅ 52.271ms (SLO: <55.500ms -5.8%) vs baseline: ~same

Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +5.1%


✅ start-finish-telemetry

Time: ✅ 53.256ms (SLO: <58.300ms -8.7%) vs baseline: -0.2%

Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +5.1%


✅ start-finish-traceid128

Time: ✅ 55.588ms (SLO: <60.050ms -7.4%) vs baseline: +0.2%

Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +4.8%


✅ start-traceid128

Time: ✅ 22.759ms (SLO: <24.600ms -7.5%) vs baseline: +0.3%

Memory: ✅ 50.464MB (SLO: <53.000MB -4.8%) vs baseline: +5.1%


✅ update-name

Time: ✅ 23.303ms (SLO: <24.100ms -3.3%) vs baseline: +0.8%

Memory: ✅ 51.174MB (SLO: <53.000MB -3.4%) vs baseline: +5.2%


tracer - 6/6

✅ large

Time: ✅ 30.483ms (SLO: <32.950ms -7.5%) vs baseline: +0.1%

Memory: ✅ 33.325MB (SLO: <34.500MB -3.4%) vs baseline: +5.1%


✅ medium

Time: ✅ 2.994ms (SLO: <3.200ms -6.4%) vs baseline: -0.2%

Memory: ✅ 31.792MB (SLO: <34.000MB -6.5%) vs baseline: +5.2%


✅ small

Time: ✅ 338.216µs (SLO: <370.000µs -8.6%) vs baseline: +0.5%

Memory: ✅ 32.067MB (SLO: <34.000MB -5.7%) vs baseline: +6.2%

ℹ️ Scenarios Missing SLO Configuration (14 scenarios)

The following scenarios exist in candidate data but have no SLO thresholds configured:

  • coreapiscenario-context_with_data_listeners_and_all_listeners
  • coreapiscenario-core_dispatch_listeners
  • coreapiscenario-core_dispatch_listeners_and_all_listeners
  • coreapiscenario-core_dispatch_no_listeners
  • coreapiscenario-core_dispatch_only_all_listeners
  • coreapiscenario-core_dispatch_with_results_listeners
  • coreapiscenario-core_dispatch_with_results_listeners_and_all_listeners
  • coreapiscenario-core_dispatch_with_results_no_listeners
  • coreapiscenario-core_dispatch_with_results_only_all_listeners
  • djangosimple-baseline
  • errortrackingdjangosimple-baseline
  • errortrackingflasksqli-baseline
  • flasksimple-baseline
  • flasksqli-baseline

@avara1986 avara1986 added changelog/no-changelog A changelog entry is not required for this PR. ASM Application Security Monitoring labels Sep 22, 2025
@avara1986 avara1986 changed the title experiment cpu limit ci(iast): add many scenarios to test gevent and iast Sep 22, 2025
@avara1986 avara1986 marked this pull request as ready for review September 23, 2025 11:04
@avara1986 avara1986 requested review from a team as code owners September 23, 2025 11:04
@avara1986 avara1986 merged commit f7b3695 into main Sep 23, 2025
907 checks passed
@avara1986 avara1986 deleted the avara1986/gevent_cpu_limit_experiment branch September 23, 2025 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ASM Application Security Monitoring changelog/no-changelog A changelog entry is not required for this PR.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants