Skip to content

chore(llmobs): add classes to fix type checks for canonical IDs and tags#16673

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 3 commits intomainfrom
gary/fix-typing-tags-canonid
Mar 3, 2026
Merged

chore(llmobs): add classes to fix type checks for canonical IDs and tags#16673
gh-worker-dd-mergequeue-cf854d[bot] merged 3 commits intomainfrom
gary/fix-typing-tags-canonid

Conversation

@gary-huang
Copy link
Contributor

@gary-huang gary-huang commented Feb 26, 2026

Description

tags and canonical IDs should not be required when creating a dataset record, so add optional classes to allow them to be not required

Testing

ran MYPYPATH=. mypy --ignore-missing-imports test-dataset-record-create.py in dd-source

where the file is

from ddtrace.llmobs import LLMObs
import os
from dotenv import load_dotenv

load_dotenv(override=True)


LLMObs.enable(api_key=os.getenv("DD_API_KEY"), app_key=os.getenv("DD_APPLICATION_KEY"),  project_name="gary-test", ml_app="Onboarding-ML-App")

records = [
    {
        "input_data": {"question": "What is the capital of France?"},
        "expected_output": {"answer": "Paris"},
        "metadata": {"difficulty": "easy"},
    },
    {
        "input_data": {"question": "What is 2 + 2?"},
        "expected_output": {"answer": "4"},
        "metadata": {},
    },
    {
        "input_data": {"question": "What is the meaning of life?"},
        "expected_output": {"answer": "kill"},
        "tags": ["category:philosophy"]
    },
    {
        "input_data": {"question": "What is the capital of China?"},
        "expected_output": {"answer": "Beijing"},
        "canonical_id": "aaaa"
    },
]

dataset = LLMObs.create_dataset(
    dataset_name="geography-qa",
    description="Geography Q&A pairs",
    records=records,
)

print(dataset.as_dataframe())

print(dataset.url)

Risks

Additional Notes

@cit-pr-commenter-54b7da
Copy link

Codeowners resolved as

ddtrace/llmobs/_experiment.py                                           @DataDog/ml-observability

@datadog-datadog-prod-us1

This comment has been minimized.

@pr-commenter
Copy link

pr-commenter bot commented Feb 26, 2026

Performance SLOs

Comparing candidate gary/fix-typing-tags-canonid (3090ace) with baseline main (42c4bf7)

📈 Performance Regressions (2 suites)
📈 iastaspects - 118/118

✅ add_aspect

Time: ✅ 102.900µs (SLO: <130.000µs 📉 -20.8%) vs baseline: +1.3%

Memory: ✅ 42.998MB (SLO: <46.000MB -6.5%) vs baseline: +4.7%


✅ add_inplace_aspect

Time: ✅ 101.327µs (SLO: <130.000µs 📉 -22.1%) vs baseline: -2.2%

Memory: ✅ 42.900MB (SLO: <46.000MB -6.7%) vs baseline: +4.4%


✅ add_inplace_noaspect

Time: ✅ 28.286µs (SLO: <40.000µs 📉 -29.3%) vs baseline: +0.5%

Memory: ✅ 42.861MB (SLO: <46.000MB -6.8%) vs baseline: +4.3%


✅ add_noaspect

Time: ✅ 48.950µs (SLO: <70.000µs 📉 -30.1%) vs baseline: -0.7%

Memory: ✅ 42.998MB (SLO: <46.000MB -6.5%) vs baseline: +4.6%


✅ bytearray_aspect

Time: ✅ 252.789µs (SLO: <400.000µs 📉 -36.8%) vs baseline: +1.7%

Memory: ✅ 42.998MB (SLO: <46.000MB -6.5%) vs baseline: +4.6%


✅ bytearray_extend_aspect

Time: ✅ 634.146µs (SLO: <800.000µs 📉 -20.7%) vs baseline: -3.5%

Memory: ✅ 42.959MB (SLO: <46.000MB -6.6%) vs baseline: +4.3%


✅ bytearray_extend_noaspect

Time: ✅ 264.860µs (SLO: <400.000µs 📉 -33.8%) vs baseline: -2.8%

Memory: ✅ 42.920MB (SLO: <46.000MB -6.7%) vs baseline: +4.4%


✅ bytearray_noaspect

Time: ✅ 135.825µs (SLO: <300.000µs 📉 -54.7%) vs baseline: -3.3%

Memory: ✅ 42.959MB (SLO: <46.000MB -6.6%) vs baseline: +4.4%


✅ bytes_aspect

Time: ✅ 220.701µs (SLO: <300.000µs 📉 -26.4%) vs baseline: +1.5%

Memory: ✅ 42.861MB (SLO: <46.000MB -6.8%) vs baseline: +4.4%


✅ bytes_noaspect

Time: ✅ 132.390µs (SLO: <200.000µs 📉 -33.8%) vs baseline: -1.7%

Memory: ✅ 42.900MB (SLO: <46.000MB -6.7%) vs baseline: +4.4%


✅ bytesio_aspect

Time: ✅ 3.772ms (SLO: <5.000ms 📉 -24.6%) vs baseline: -0.5%

Memory: ✅ 42.979MB (SLO: <46.000MB -6.6%) vs baseline: +4.5%


✅ bytesio_noaspect

Time: ✅ 318.549µs (SLO: <420.000µs 📉 -24.2%) vs baseline: +0.9%

Memory: ✅ 42.880MB (SLO: <46.000MB -6.8%) vs baseline: +4.2%


✅ capitalize_aspect

Time: ✅ 89.302µs (SLO: <300.000µs 📉 -70.2%) vs baseline: +0.6%

Memory: ✅ 42.939MB (SLO: <46.000MB -6.7%) vs baseline: +4.5%


✅ capitalize_noaspect

Time: ✅ 253.200µs (SLO: <300.000µs 📉 -15.6%) vs baseline: -0.7%

Memory: ✅ 42.939MB (SLO: <46.000MB -6.7%) vs baseline: +4.1%


✅ casefold_aspect

Time: ✅ 89.133µs (SLO: <500.000µs 📉 -82.2%) vs baseline: +0.5%

Memory: ✅ 42.920MB (SLO: <46.000MB -6.7%) vs baseline: +4.2%


✅ casefold_noaspect

Time: ✅ 305.239µs (SLO: <500.000µs 📉 -39.0%) vs baseline: -0.9%

Memory: ✅ 42.939MB (SLO: <46.000MB -6.7%) vs baseline: +4.4%


✅ decode_aspect

Time: ✅ 86.428µs (SLO: <100.000µs 📉 -13.6%) vs baseline: -0.1%

Memory: ✅ 42.920MB (SLO: <46.000MB -6.7%) vs baseline: +4.7%


✅ decode_noaspect

Time: ✅ 152.317µs (SLO: <210.000µs 📉 -27.5%) vs baseline: -0.9%

Memory: ✅ 42.920MB (SLO: <46.000MB -6.7%) vs baseline: +4.2%


✅ encode_aspect

Time: ✅ 84.432µs (SLO: <200.000µs 📉 -57.8%) vs baseline: ~same

Memory: ✅ 42.880MB (SLO: <46.000MB -6.8%) vs baseline: +4.3%


✅ encode_noaspect

Time: ✅ 140.213µs (SLO: <200.000µs 📉 -29.9%) vs baseline: -0.7%

Memory: ✅ 42.900MB (SLO: <46.000MB -6.7%) vs baseline: +4.1%


✅ format_aspect

Time: ✅ 14.579ms (SLO: <19.200ms 📉 -24.1%) vs baseline: -0.5%

Memory: ✅ 43.077MB (SLO: <46.000MB -6.4%) vs baseline: +4.3%


✅ format_map_aspect

Time: ✅ 16.369ms (SLO: <21.500ms 📉 -23.9%) vs baseline: -0.1%

Memory: ✅ 43.136MB (SLO: <46.000MB -6.2%) vs baseline: +4.4%


✅ format_map_noaspect

Time: ✅ 369.177µs (SLO: <500.000µs 📉 -26.2%) vs baseline: -1.7%

Memory: ✅ 42.939MB (SLO: <46.000MB -6.7%) vs baseline: +4.4%


✅ format_noaspect

Time: ✅ 302.461µs (SLO: <500.000µs 📉 -39.5%) vs baseline: -1.4%

Memory: ✅ 43.018MB (SLO: <46.000MB -6.5%) vs baseline: +4.5%


✅ index_aspect

Time: ✅ 126.788µs (SLO: <300.000µs 📉 -57.7%) vs baseline: +6.7%

Memory: ✅ 42.920MB (SLO: <46.000MB -6.7%) vs baseline: +4.4%


✅ index_noaspect

Time: ✅ 40.099µs (SLO: <300.000µs 📉 -86.6%) vs baseline: -0.8%

Memory: ✅ 42.959MB (SLO: <46.000MB -6.6%) vs baseline: +4.5%


✅ join_aspect

Time: ✅ 212.164µs (SLO: <300.000µs 📉 -29.3%) vs baseline: -1.5%

Memory: ✅ 42.998MB (SLO: <46.000MB -6.5%) vs baseline: +4.8%


✅ join_noaspect

Time: ✅ 142.821µs (SLO: <300.000µs 📉 -52.4%) vs baseline: +1.3%

Memory: ✅ 42.939MB (SLO: <46.000MB -6.7%) vs baseline: +4.4%


✅ ljust_aspect

Time: ✅ 582.737µs (SLO: <700.000µs 📉 -16.8%) vs baseline: 📈 +14.6%

Memory: ✅ 42.998MB (SLO: <46.000MB -6.5%) vs baseline: +4.6%


✅ ljust_noaspect

Time: ✅ 260.155µs (SLO: <300.000µs 📉 -13.3%) vs baseline: -1.4%

Memory: ✅ 43.037MB (SLO: <46.000MB -6.4%) vs baseline: +4.7%


✅ lower_aspect

Time: ✅ 298.748µs (SLO: <500.000µs 📉 -40.3%) vs baseline: -1.0%

Memory: ✅ 42.998MB (SLO: <46.000MB -6.5%) vs baseline: +4.2%


✅ lower_noaspect

Time: ✅ 233.814µs (SLO: <300.000µs 📉 -22.1%) vs baseline: -0.4%

Memory: ✅ 42.920MB (SLO: <46.000MB -6.7%) vs baseline: +4.3%


✅ lstrip_aspect

Time: ✅ 0.271ms (SLO: <3.000ms 📉 -91.0%) vs baseline: -2.3%

Memory: ✅ 42.979MB (SLO: <46.000MB -6.6%) vs baseline: +4.7%


✅ lstrip_noaspect

Time: ✅ 0.178ms (SLO: <3.000ms 📉 -94.1%) vs baseline: +0.5%

Memory: ✅ 42.959MB (SLO: <46.000MB -6.6%) vs baseline: +4.4%


✅ modulo_aspect

Time: ✅ 14.348ms (SLO: <18.750ms 📉 -23.5%) vs baseline: +0.2%

Memory: ✅ 43.077MB (SLO: <46.000MB -6.4%) vs baseline: +4.6%


✅ modulo_aspect_for_bytearray_bytearray

Time: ✅ 14.759ms (SLO: <19.350ms 📉 -23.7%) vs baseline: ~same

Memory: ✅ 43.077MB (SLO: <46.000MB -6.4%) vs baseline: +4.5%


✅ modulo_aspect_for_bytes

Time: ✅ 14.390ms (SLO: <18.900ms 📉 -23.9%) vs baseline: -0.9%

Memory: ✅ 43.077MB (SLO: <46.000MB -6.4%) vs baseline: +4.3%


✅ modulo_aspect_for_bytes_bytearray

Time: ✅ 14.600ms (SLO: <19.150ms 📉 -23.8%) vs baseline: ~same

Memory: ✅ 42.979MB (SLO: <46.000MB -6.6%) vs baseline: +4.2%


✅ modulo_noaspect

Time: ✅ 0.361ms (SLO: <3.000ms 📉 -88.0%) vs baseline: -0.4%

Memory: ✅ 42.939MB (SLO: <46.000MB -6.7%) vs baseline: +4.3%


✅ replace_aspect

Time: ✅ 18.441ms (SLO: <24.000ms 📉 -23.2%) vs baseline: +0.4%

Memory: ✅ 43.018MB (SLO: <46.000MB -6.5%) vs baseline: +4.3%


✅ replace_noaspect

Time: ✅ 279.468µs (SLO: <300.000µs -6.8%) vs baseline: -1.7%

Memory: ✅ 42.939MB (SLO: <46.000MB -6.7%) vs baseline: +4.3%


✅ repr_aspect

Time: ✅ 314.041µs (SLO: <420.000µs 📉 -25.2%) vs baseline: -2.2%

Memory: ✅ 42.900MB (SLO: <46.000MB -6.7%) vs baseline: +4.1%


✅ repr_noaspect

Time: ✅ 46.575µs (SLO: <90.000µs 📉 -48.2%) vs baseline: -0.6%

Memory: ✅ 42.959MB (SLO: <46.000MB -6.6%) vs baseline: +4.7%


✅ rstrip_aspect

Time: ✅ 381.352µs (SLO: <500.000µs 📉 -23.7%) vs baseline: -1.0%

Memory: ✅ 42.920MB (SLO: <46.000MB -6.7%) vs baseline: +4.2%


✅ rstrip_noaspect

Time: ✅ 185.286µs (SLO: <300.000µs 📉 -38.2%) vs baseline: +1.4%

Memory: ✅ 42.920MB (SLO: <46.000MB -6.7%) vs baseline: +4.4%


✅ slice_aspect

Time: ✅ 183.207µs (SLO: <300.000µs 📉 -38.9%) vs baseline: +0.5%

Memory: ✅ 42.959MB (SLO: <46.000MB -6.6%) vs baseline: +4.4%


✅ slice_noaspect

Time: ✅ 53.780µs (SLO: <90.000µs 📉 -40.2%) vs baseline: -0.8%

Memory: ✅ 42.861MB (SLO: <46.000MB -6.8%) vs baseline: +4.1%


✅ stringio_aspect

Time: ✅ 4.418ms (SLO: <5.000ms 📉 -11.6%) vs baseline: 📈 +14.9%

Memory: ✅ 42.900MB (SLO: <46.000MB -6.7%) vs baseline: +4.3%


✅ stringio_noaspect

Time: ✅ 346.271µs (SLO: <500.000µs 📉 -30.7%) vs baseline: -2.1%

Memory: ✅ 42.920MB (SLO: <46.000MB -6.7%) vs baseline: +4.7%


✅ strip_aspect

Time: ✅ 268.804µs (SLO: <350.000µs 📉 -23.2%) vs baseline: -2.6%

Memory: ✅ 42.998MB (SLO: <46.000MB -6.5%) vs baseline: +4.6%


✅ strip_noaspect

Time: ✅ 175.122µs (SLO: <240.000µs 📉 -27.0%) vs baseline: -0.8%

Memory: ✅ 42.939MB (SLO: <46.000MB -6.7%) vs baseline: +4.4%


✅ swapcase_aspect

Time: ✅ 332.564µs (SLO: <500.000µs 📉 -33.5%) vs baseline: -1.8%

Memory: ✅ 42.979MB (SLO: <46.000MB -6.6%) vs baseline: +4.2%


✅ swapcase_noaspect

Time: ✅ 269.539µs (SLO: <400.000µs 📉 -32.6%) vs baseline: -0.9%

Memory: ✅ 42.959MB (SLO: <46.000MB -6.6%) vs baseline: +4.6%


✅ title_aspect

Time: ✅ 323.392µs (SLO: <500.000µs 📉 -35.3%) vs baseline: -1.7%

Memory: ✅ 42.880MB (SLO: <46.000MB -6.8%) vs baseline: +4.4%


✅ title_noaspect

Time: ✅ 258.716µs (SLO: <400.000µs 📉 -35.3%) vs baseline: -2.0%

Memory: ✅ 42.900MB (SLO: <46.000MB -6.7%) vs baseline: +4.4%


✅ translate_aspect

Time: ✅ 491.590µs (SLO: <700.000µs 📉 -29.8%) vs baseline: -1.3%

Memory: ✅ 42.979MB (SLO: <46.000MB -6.6%) vs baseline: +4.6%


✅ translate_noaspect

Time: ✅ 424.427µs (SLO: <500.000µs 📉 -15.1%) vs baseline: -1.7%

Memory: ✅ 42.880MB (SLO: <46.000MB -6.8%) vs baseline: +4.0%


✅ upper_aspect

Time: ✅ 295.731µs (SLO: <500.000µs 📉 -40.9%) vs baseline: -1.3%

Memory: ✅ 42.900MB (SLO: <46.000MB -6.7%) vs baseline: +4.5%


✅ upper_noaspect

Time: ✅ 235.822µs (SLO: <400.000µs 📉 -41.0%) vs baseline: +0.9%

Memory: ✅ 42.939MB (SLO: <46.000MB -6.7%) vs baseline: +4.5%


📈 iastaspectsospath - 24/24

✅ ospathbasename_aspect

Time: ✅ 512.511µs (SLO: <700.000µs 📉 -26.8%) vs baseline: 📈 +19.3%

Memory: ✅ 42.880MB (SLO: <46.000MB -6.8%) vs baseline: +5.4%


✅ ospathbasename_noaspect

Time: ✅ 430.513µs (SLO: <700.000µs 📉 -38.5%) vs baseline: ~same

Memory: ✅ 42.703MB (SLO: <46.000MB -7.2%) vs baseline: +4.7%


✅ ospathjoin_aspect

Time: ✅ 622.415µs (SLO: <700.000µs 📉 -11.1%) vs baseline: ~same

Memory: ✅ 42.585MB (SLO: <46.000MB -7.4%) vs baseline: +4.5%


✅ ospathjoin_noaspect

Time: ✅ 635.716µs (SLO: <700.000µs -9.2%) vs baseline: +0.6%

Memory: ✅ 42.684MB (SLO: <46.000MB -7.2%) vs baseline: +4.6%


✅ ospathnormcase_aspect

Time: ✅ 347.421µs (SLO: <700.000µs 📉 -50.4%) vs baseline: -1.4%

Memory: ✅ 42.920MB (SLO: <46.000MB -6.7%) vs baseline: +4.9%


✅ ospathnormcase_noaspect

Time: ✅ 359.804µs (SLO: <700.000µs 📉 -48.6%) vs baseline: +0.5%

Memory: ✅ 42.723MB (SLO: <46.000MB -7.1%) vs baseline: +4.8%


✅ ospathsplit_aspect

Time: ✅ 488.996µs (SLO: <700.000µs 📉 -30.1%) vs baseline: +0.4%

Memory: ✅ 42.743MB (SLO: <46.000MB -7.1%) vs baseline: +5.0%


✅ ospathsplit_noaspect

Time: ✅ 500.382µs (SLO: <700.000µs 📉 -28.5%) vs baseline: ~same

Memory: ✅ 42.605MB (SLO: <46.000MB -7.4%) vs baseline: +4.2%


✅ ospathsplitdrive_aspect

Time: ✅ 373.387µs (SLO: <700.000µs 📉 -46.7%) vs baseline: ~same

Memory: ✅ 42.723MB (SLO: <46.000MB -7.1%) vs baseline: +4.8%


✅ ospathsplitdrive_noaspect

Time: ✅ 72.566µs (SLO: <700.000µs 📉 -89.6%) vs baseline: +0.2%

Memory: ✅ 42.625MB (SLO: <46.000MB -7.3%) vs baseline: +4.5%


✅ ospathsplitext_aspect

Time: ✅ 458.142µs (SLO: <700.000µs 📉 -34.6%) vs baseline: -1.4%

Memory: ✅ 42.920MB (SLO: <46.000MB -6.7%) vs baseline: +5.3%


✅ ospathsplitext_noaspect

Time: ✅ 463.638µs (SLO: <700.000µs 📉 -33.8%) vs baseline: +0.1%

Memory: ✅ 42.546MB (SLO: <46.000MB -7.5%) vs baseline: +4.6%

🟡 Near SLO Breach (1 suite)
🟡 tracer - 6/6

✅ large

Time: ✅ 31.497ms (SLO: <32.950ms -4.4%) vs baseline: +0.8%

Memory: ✅ 36.687MB (SLO: <39.250MB -6.5%) vs baseline: +4.3%


✅ medium

Time: ✅ 3.111ms (SLO: <3.200ms -2.8%) vs baseline: +0.5%

Memory: ✅ 35.507MB (SLO: <38.750MB -8.4%) vs baseline: +4.2%


✅ small

Time: ✅ 363.603µs (SLO: <370.000µs 🟡 -1.7%) vs baseline: +3.9%

Memory: ✅ 35.665MB (SLO: <38.750MB -8.0%) vs baseline: +4.6%

⚠️ Unstable Tests (2 suites)
⚠️ coreapiscenario - 10/10 (1 unstable)

⚠️ context_with_data_listeners

Time: ⚠️ 13.177µs (SLO: <20.000µs 📉 -34.1%) vs baseline: -1.0%

Memory: ✅ 35.665MB (SLO: <38.000MB -6.1%) vs baseline: +5.8%


✅ context_with_data_no_listeners

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

Memory: ✅ 35.625MB (SLO: <38.000MB -6.2%) vs baseline: +5.7%


✅ get_item_exists

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

Memory: ✅ 35.547MB (SLO: <38.000MB -6.5%) vs baseline: +5.5%


✅ get_item_missing

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

Memory: ✅ 35.547MB (SLO: <38.000MB -6.5%) vs baseline: +5.6%


✅ set_item

Time: ✅ 24.257µs (SLO: <30.000µs 📉 -19.1%) vs baseline: ~same

Memory: ✅ 35.625MB (SLO: <38.000MB -6.2%) vs baseline: +5.1%


⚠️ packagesupdateimporteddependencies - 24/24 (1 unstable)

✅ import_many

Time: ✅ 155.686µs (SLO: <170.000µs -8.4%) vs baseline: -0.4%

Memory: ✅ 40.274MB (SLO: <46.000MB 📉 -12.4%) vs baseline: +4.0%


✅ import_many_cached

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

Memory: ✅ 40.374MB (SLO: <46.000MB 📉 -12.2%) vs baseline: +4.6%


✅ import_many_stdlib

Time: ✅ 0.771ms (SLO: <1.750ms 📉 -56.0%) vs baseline: +0.2%

Memory: ✅ 40.151MB (SLO: <46.000MB 📉 -12.7%) vs baseline: +4.0%


⚠️ import_many_stdlib_cached

Time: ⚠️ 0.175ms (SLO: <1.100ms 📉 -84.1%) vs baseline: ~same

Memory: ✅ 40.397MB (SLO: <46.000MB 📉 -12.2%) vs baseline: +5.0%


✅ import_many_unknown

Time: ✅ 827.839µs (SLO: <890.000µs -7.0%) vs baseline: -1.0%

Memory: ✅ 40.475MB (SLO: <46.000MB 📉 -12.0%) vs baseline: +4.9%


✅ import_many_unknown_cached

Time: ✅ 792.593µs (SLO: <870.000µs -8.9%) vs baseline: +0.8%

Memory: ✅ 40.442MB (SLO: <46.000MB 📉 -12.1%) vs baseline: +3.8%


✅ import_one

Time: ✅ 19.663µs (SLO: <30.000µs 📉 -34.5%) vs baseline: -0.9%

Memory: ✅ 40.230MB (SLO: <46.000MB 📉 -12.5%) vs baseline: +3.8%


✅ import_one_cache

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

Memory: ✅ 40.461MB (SLO: <46.000MB 📉 -12.0%) vs baseline: +5.2%


✅ import_one_stdlib

Time: ✅ 18.739µs (SLO: <20.000µs -6.3%) vs baseline: -0.2%

Memory: ✅ 40.462MB (SLO: <46.000MB 📉 -12.0%) vs baseline: +5.1%


✅ import_one_stdlib_cache

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

Memory: ✅ 40.390MB (SLO: <46.000MB 📉 -12.2%) vs baseline: +4.9%


✅ import_one_unknown

Time: ✅ 45.509µs (SLO: <50.000µs -9.0%) vs baseline: +0.6%

Memory: ✅ 40.520MB (SLO: <46.000MB 📉 -11.9%) vs baseline: +4.6%


✅ import_one_unknown_cache

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

Memory: ✅ 40.255MB (SLO: <43.000MB -6.4%) vs baseline: +4.4%

✅ All Tests Passing (21 suites)
codeprovenancefork - 2/2

✅ fork-10

Time: ✅ 2.128s (SLO: <2.300s -7.5%) vs baseline: +2.1%

Memory: ✅ 17.400MB (SLO: <20.000MB 📉 -13.0%) vs baseline: +4.6%


djangosimple - 24/24

✅ appsec

Time: ✅ 19.570ms (SLO: <22.300ms 📉 -12.2%) vs baseline: -0.3%

Memory: ✅ 67.574MB (SLO: <73.500MB -8.1%) vs baseline: +4.7%


✅ exception-replay-enabled

Time: ✅ 1.380ms (SLO: <1.450ms -4.8%) vs baseline: -0.2%

Memory: ✅ 65.824MB (SLO: <71.500MB -7.9%) vs baseline: +5.0%


✅ iast

Time: ✅ 19.690ms (SLO: <22.250ms 📉 -11.5%) vs baseline: +0.3%


✅ profiler

Time: ✅ 15.224ms (SLO: <16.550ms -8.0%) vs baseline: -0.3%

Memory: ✅ 58.781MB (SLO: <61.000MB -3.6%) vs baseline: +4.9%


✅ resource-renaming

Time: ✅ 19.452ms (SLO: <21.750ms 📉 -10.6%) vs baseline: -0.7%


✅ span-code-origin

Time: ✅ 20.030ms (SLO: <28.200ms 📉 -29.0%) vs baseline: +1.4%

Memory: ✅ 67.646MB (SLO: <75.000MB -9.8%) vs baseline: +4.9%


✅ tracer

Time: ✅ 19.661ms (SLO: <21.750ms -9.6%) vs baseline: +0.3%

Memory: ✅ 67.633MB (SLO: <75.000MB -9.8%) vs baseline: +4.8%


✅ tracer-and-profiler

Time: ✅ 21.185ms (SLO: <23.500ms -9.8%) vs baseline: +0.3%

Memory: ✅ 69.108MB (SLO: <75.000MB -7.9%) vs baseline: +4.8%


✅ tracer-dont-create-db-spans

Time: ✅ 19.652ms (SLO: <21.500ms -8.6%) vs baseline: +0.2%


✅ tracer-minimal

Time: ✅ 16.834ms (SLO: <17.500ms -3.8%) vs baseline: +0.4%


✅ tracer-native

Time: ✅ 19.540ms (SLO: <21.750ms 📉 -10.2%) vs baseline: +0.6%

Memory: ✅ 67.594MB (SLO: <72.500MB -6.8%) vs baseline: +4.6%


✅ tracer-no-caches

Time: ✅ 17.599ms (SLO: <19.650ms 📉 -10.4%) vs baseline: +0.2%

Memory: ✅ 67.613MB (SLO: <75.000MB -9.8%) vs baseline: +4.8%


✅ tracer-no-databases

Time: ✅ 19.225ms (SLO: <20.100ms -4.4%) vs baseline: -0.2%


✅ tracer-no-middleware

Time: ✅ 19.382ms (SLO: <21.500ms -9.9%) vs baseline: +0.5%


✅ tracer-no-templates

Time: ✅ 19.485ms (SLO: <22.000ms 📉 -11.4%) vs baseline: +1.0%

Memory: ✅ 67.594MB (SLO: <73.500MB -8.0%) vs baseline: +4.8%


errortrackingdjangosimple - 6/6

✅ errortracking-enabled-all

Time: ✅ 16.372ms (SLO: <19.850ms 📉 -17.5%) vs baseline: +0.2%

Memory: ✅ 67.572MB (SLO: <75.000MB -9.9%) vs baseline: +5.0%


✅ errortracking-enabled-user

Time: ✅ 16.346ms (SLO: <19.400ms 📉 -15.7%) vs baseline: ~same

Memory: ✅ 67.555MB (SLO: <75.000MB -9.9%) vs baseline: +4.9%


✅ tracer-enabled

Time: ✅ 16.327ms (SLO: <19.450ms 📉 -16.1%) vs baseline: -0.3%

Memory: ✅ 67.407MB (SLO: <75.000MB 📉 -10.1%) vs baseline: +4.7%


errortrackingflasksqli - 6/6

✅ errortracking-enabled-all

Time: ✅ 2.104ms (SLO: <2.300ms -8.5%) vs baseline: -0.1%

Memory: ✅ 54.991MB (SLO: <60.000MB -8.3%) vs baseline: +4.6%


✅ errortracking-enabled-user

Time: ✅ 2.107ms (SLO: <2.250ms -6.4%) vs baseline: -0.2%

Memory: ✅ 55.031MB (SLO: <60.000MB -8.3%) vs baseline: +4.9%


✅ tracer-enabled

Time: ✅ 2.103ms (SLO: <2.300ms -8.6%) vs baseline: ~same

Memory: ✅ 55.011MB (SLO: <60.000MB -8.3%) vs baseline: +4.8%


flasksimple - 18/18

✅ appsec-get

Time: ✅ 3.438ms (SLO: <4.750ms 📉 -27.6%) vs baseline: +0.5%

Memory: ✅ 55.149MB (SLO: <66.500MB 📉 -17.1%) vs baseline: +4.8%


✅ appsec-post

Time: ✅ 2.895ms (SLO: <6.750ms 📉 -57.1%) vs baseline: ~same

Memory: ✅ 55.011MB (SLO: <66.500MB 📉 -17.3%) vs baseline: +4.4%


✅ appsec-telemetry

Time: ✅ 3.449ms (SLO: <4.750ms 📉 -27.4%) vs baseline: +1.4%

Memory: ✅ 55.109MB (SLO: <66.500MB 📉 -17.1%) vs baseline: +4.6%


✅ debugger

Time: ✅ 1.867ms (SLO: <2.000ms -6.7%) vs baseline: ~same

Memory: ✅ 48.582MB (SLO: <51.500MB -5.7%) vs baseline: +4.5%


✅ iast-get

Time: ✅ 1.858ms (SLO: <2.000ms -7.1%) vs baseline: +0.2%

Memory: ✅ 45.279MB (SLO: <49.000MB -7.6%) vs baseline: +4.2%


✅ profiler

Time: ✅ 1.905ms (SLO: <2.100ms -9.3%) vs baseline: -0.2%

Memory: ✅ 51.374MB (SLO: <52.500MB -2.1%) vs baseline: +5.1%


✅ resource-renaming

Time: ✅ 3.393ms (SLO: <3.650ms -7.0%) vs baseline: -0.2%

Memory: ✅ 55.129MB (SLO: <60.000MB -8.1%) vs baseline: +4.9%


✅ tracer

Time: ✅ 3.422ms (SLO: <3.650ms -6.2%) vs baseline: +0.5%

Memory: ✅ 55.031MB (SLO: <60.000MB -8.3%) vs baseline: +4.5%


✅ tracer-native

Time: ✅ 3.406ms (SLO: <3.650ms -6.7%) vs baseline: +0.1%

Memory: ✅ 55.050MB (SLO: <60.000MB -8.2%) vs baseline: +4.7%


flasksqli - 6/6

✅ appsec-enabled

Time: ✅ 2.095ms (SLO: <4.200ms 📉 -50.1%) vs baseline: -0.2%

Memory: ✅ 55.011MB (SLO: <66.000MB 📉 -16.7%) vs baseline: +4.5%


✅ iast-enabled

Time: ✅ 2.098ms (SLO: <2.800ms 📉 -25.1%) vs baseline: -0.3%

Memory: ✅ 54.913MB (SLO: <62.500MB 📉 -12.1%) vs baseline: +4.5%


✅ tracer-enabled

Time: ✅ 2.094ms (SLO: <2.250ms -6.9%) vs baseline: -0.1%

Memory: ✅ 55.011MB (SLO: <60.000MB -8.3%) vs baseline: +4.5%


forktime - 4/4

✅ baseline

Time: ✅ 1.947ms (SLO: <3.000ms 📉 -35.1%) vs baseline: +3.0%

Memory: ✅ 29.196MB (SLO: <33.000MB 📉 -11.5%) vs baseline: +4.6%


✅ configured

Time: ✅ 8.640ms (SLO: <13.000ms 📉 -33.5%) vs baseline: +0.4%

Memory: ✅ 54.942MB (SLO: <60.000MB -8.4%) vs baseline: +4.8%


httppropagationextract - 60/60

✅ all_styles_all_headers

Time: ✅ 79.639µs (SLO: <100.000µs 📉 -20.4%) vs baseline: +4.3%

Memory: ✅ 35.625MB (SLO: <38.000MB -6.2%) vs baseline: +4.3%


✅ b3_headers

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

Memory: ✅ 35.665MB (SLO: <38.000MB -6.1%) vs baseline: +4.2%


✅ b3_single_headers

Time: ✅ 11.755µs (SLO: <20.000µs 📉 -41.2%) vs baseline: -1.6%

Memory: ✅ 35.665MB (SLO: <38.000MB -6.1%) vs baseline: +4.4%


✅ datadog_tracecontext_tracestate_not_propagated_on_trace_id_no_match

Time: ✅ 61.004µs (SLO: <80.000µs 📉 -23.7%) vs baseline: -0.5%

Memory: ✅ 35.743MB (SLO: <38.000MB -5.9%) vs baseline: +4.5%


✅ datadog_tracecontext_tracestate_propagated_on_trace_id_match

Time: ✅ 62.765µs (SLO: <80.000µs 📉 -21.5%) vs baseline: -0.5%

Memory: ✅ 35.586MB (SLO: <38.000MB -6.4%) vs baseline: +4.8%


✅ empty_headers

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

Memory: ✅ 35.684MB (SLO: <38.000MB -6.1%) vs baseline: +4.3%


✅ full_t_id_datadog_headers

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

Memory: ✅ 35.704MB (SLO: <38.000MB -6.0%) vs baseline: +4.8%


✅ invalid_priority_header

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

Memory: ✅ 35.684MB (SLO: <38.000MB -6.1%) vs baseline: +4.7%


✅ invalid_span_id_header

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

Memory: ✅ 35.625MB (SLO: <38.000MB -6.2%) vs baseline: +4.1%


✅ invalid_tags_header

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

Memory: ✅ 35.547MB (SLO: <38.000MB -6.5%) vs baseline: +4.3%


✅ invalid_trace_id_header

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

Memory: ✅ 35.645MB (SLO: <38.000MB -6.2%) vs baseline: +4.4%


✅ large_header_no_matches

Time: ✅ 26.950µs (SLO: <30.000µs 📉 -10.2%) vs baseline: -0.5%

Memory: ✅ 35.606MB (SLO: <38.000MB -6.3%) vs baseline: +4.3%


✅ large_valid_headers_all

Time: ✅ 28.085µs (SLO: <40.000µs 📉 -29.8%) vs baseline: -0.3%

Memory: ✅ 35.743MB (SLO: <38.000MB -5.9%) vs baseline: +4.8%


✅ medium_header_no_matches

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

Memory: ✅ 35.665MB (SLO: <38.000MB -6.1%) vs baseline: +4.6%


✅ medium_valid_headers_all

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

Memory: ✅ 35.665MB (SLO: <38.000MB -6.1%) vs baseline: +4.4%


✅ none_propagation_style

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

Memory: ✅ 35.684MB (SLO: <38.000MB -6.1%) vs baseline: +4.6%


✅ tracecontext_headers

Time: ✅ 32.525µs (SLO: <40.000µs 📉 -18.7%) vs baseline: -0.7%

Memory: ✅ 35.724MB (SLO: <38.000MB -6.0%) vs baseline: +4.6%


✅ valid_headers_all

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

Memory: ✅ 35.665MB (SLO: <38.000MB -6.1%) vs baseline: +4.3%


✅ valid_headers_basic

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

Memory: ✅ 35.684MB (SLO: <38.000MB -6.1%) vs baseline: +4.7%


✅ wsgi_empty_headers

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

Memory: ✅ 35.625MB (SLO: <38.000MB -6.2%) vs baseline: +4.6%


✅ wsgi_invalid_priority_header

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

Memory: ✅ 35.684MB (SLO: <38.000MB -6.1%) vs baseline: +4.6%


✅ wsgi_invalid_span_id_header

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

Memory: ✅ 35.606MB (SLO: <38.000MB -6.3%) vs baseline: +4.3%


✅ wsgi_invalid_tags_header

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

Memory: ✅ 35.704MB (SLO: <38.000MB -6.0%) vs baseline: +4.5%


✅ wsgi_invalid_trace_id_header

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

Memory: ✅ 35.645MB (SLO: <38.000MB -6.2%)


✅ wsgi_large_header_no_matches

Time: ✅ 28.240µs (SLO: <40.000µs 📉 -29.4%) vs baseline: +0.3%

Memory: ✅ 35.665MB (SLO: <38.000MB -6.1%) vs baseline: +4.3%


✅ wsgi_large_valid_headers_all

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

Memory: ✅ 35.724MB (SLO: <38.000MB -6.0%) vs baseline: +4.6%


✅ wsgi_medium_header_no_matches

Time: ✅ 9.564µs (SLO: <20.000µs 📉 -52.2%) vs baseline: +0.1%

Memory: ✅ 35.566MB (SLO: <38.000MB -6.4%) vs baseline: +4.1%


✅ wsgi_medium_valid_headers_all

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

Memory: ✅ 35.724MB (SLO: <38.000MB -6.0%) vs baseline: +4.5%


✅ wsgi_valid_headers_all

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

Memory: ✅ 35.763MB (SLO: <38.000MB -5.9%) vs baseline: +4.6%


✅ wsgi_valid_headers_basic

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

Memory: ✅ 35.684MB (SLO: <38.000MB -6.1%) vs baseline: +4.7%


httppropagationinject - 16/16

✅ ids_only

Time: ✅ 20.345µs (SLO: <30.000µs 📉 -32.2%) vs baseline: +3.4%

Memory: ✅ 35.625MB (SLO: <38.000MB -6.2%) vs baseline: +4.4%


✅ with_all

Time: ✅ 26.268µs (SLO: <40.000µs 📉 -34.3%) vs baseline: -1.0%

Memory: ✅ 35.625MB (SLO: <38.000MB -6.2%) vs baseline: +4.4%


✅ with_dd_origin

Time: ✅ 23.287µs (SLO: <30.000µs 📉 -22.4%) vs baseline: -0.4%

Memory: ✅ 35.684MB (SLO: <38.000MB -6.1%) vs baseline: +4.6%


✅ with_priority_and_origin

Time: ✅ 22.703µs (SLO: <40.000µs 📉 -43.2%) vs baseline: -0.4%

Memory: ✅ 35.743MB (SLO: <38.000MB -5.9%) vs baseline: +4.7%


✅ with_sampling_priority

Time: ✅ 19.552µs (SLO: <30.000µs 📉 -34.8%) vs baseline: -0.6%

Memory: ✅ 35.684MB (SLO: <38.000MB -6.1%) vs baseline: +4.6%


✅ with_tags

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

Memory: ✅ 35.625MB (SLO: <38.000MB -6.2%) vs baseline: +4.1%


✅ with_tags_invalid

Time: ✅ 25.712µs (SLO: <40.000µs 📉 -35.7%) vs baseline: -1.1%

Memory: ✅ 35.586MB (SLO: <38.000MB -6.4%) vs baseline: +4.3%


✅ with_tags_max_size

Time: ✅ 24.763µs (SLO: <40.000µs 📉 -38.1%) vs baseline: -1.7%

Memory: ✅ 35.704MB (SLO: <38.000MB -6.0%) vs baseline: +4.6%


iastaspectssplit - 12/12

✅ rsplit_aspect

Time: ✅ 153.535µs (SLO: <250.000µs 📉 -38.6%) vs baseline: -1.4%

Memory: ✅ 42.566MB (SLO: <46.000MB -7.5%) vs baseline: +4.3%


✅ rsplit_noaspect

Time: ✅ 156.684µs (SLO: <250.000µs 📉 -37.3%) vs baseline: -4.3%

Memory: ✅ 42.664MB (SLO: <46.000MB -7.3%) vs baseline: +4.6%


✅ split_aspect

Time: ✅ 147.951µs (SLO: <250.000µs 📉 -40.8%) vs baseline: -3.7%

Memory: ✅ 42.605MB (SLO: <46.000MB -7.4%) vs baseline: +4.3%


✅ split_noaspect

Time: ✅ 154.051µs (SLO: <250.000µs 📉 -38.4%) vs baseline: -5.9%

Memory: ✅ 42.546MB (SLO: <46.000MB -7.5%) vs baseline: +4.2%


✅ splitlines_aspect

Time: ✅ 145.529µs (SLO: <250.000µs 📉 -41.8%) vs baseline: -6.1%

Memory: ✅ 42.861MB (SLO: <46.000MB -6.8%) vs baseline: +4.9%


✅ splitlines_noaspect

Time: ✅ 151.550µs (SLO: <250.000µs 📉 -39.4%) vs baseline: -4.8%

Memory: ✅ 42.585MB (SLO: <46.000MB -7.4%) vs baseline: +4.5%


iastpropagation - 8/8

✅ no-propagation

Time: ✅ 48.385µs (SLO: <60.000µs 📉 -19.4%) vs baseline: +0.4%

Memory: ✅ 38.987MB (SLO: <42.000MB -7.2%) vs baseline: +4.3%


✅ propagation_enabled

Time: ✅ 136.785µs (SLO: <190.000µs 📉 -28.0%) vs baseline: +1.7%

Memory: ✅ 38.968MB (SLO: <42.000MB -7.2%) vs baseline: +4.4%


✅ propagation_enabled_100

Time: ✅ 1.559ms (SLO: <2.300ms 📉 -32.2%) vs baseline: +0.3%

Memory: ✅ 38.948MB (SLO: <42.000MB -7.3%) vs baseline: +4.4%


✅ propagation_enabled_1000

Time: ✅ 29.082ms (SLO: <34.550ms 📉 -15.8%) vs baseline: +0.5%

Memory: ✅ 39.086MB (SLO: <42.000MB -6.9%) vs baseline: +4.5%


otelsdkspan - 24/24

✅ add-event

Time: ✅ 40.424ms (SLO: <42.000ms -3.8%) vs baseline: +0.1%

Memory: ✅ 37.906MB (SLO: <40.750MB -7.0%) vs baseline: +4.4%


✅ add-link

Time: ✅ 36.337ms (SLO: <38.550ms -5.7%) vs baseline: -0.4%

Memory: ✅ 38.004MB (SLO: <40.750MB -6.7%) vs baseline: +4.3%


✅ add-metrics

Time: ✅ 219.696ms (SLO: <232.000ms -5.3%) vs baseline: +0.5%

Memory: ✅ 38.024MB (SLO: <40.750MB -6.7%) vs baseline: +4.3%


✅ add-tags

Time: ✅ 211.193ms (SLO: <221.600ms -4.7%) vs baseline: -0.1%

Memory: ✅ 38.004MB (SLO: <40.750MB -6.7%) vs baseline: +4.4%


✅ get-context

Time: ✅ 29.106ms (SLO: <31.300ms -7.0%) vs baseline: ~same

Memory: ✅ 37.965MB (SLO: <40.750MB -6.8%) vs baseline: +4.4%


✅ is-recording

Time: ✅ 29.284ms (SLO: <31.000ms -5.5%) vs baseline: +0.3%

Memory: ✅ 38.083MB (SLO: <40.750MB -6.5%) vs baseline: +4.8%


✅ record-exception

Time: ✅ 63.056ms (SLO: <65.850ms -4.2%) vs baseline: +0.1%

Memory: ✅ 37.965MB (SLO: <40.750MB -6.8%) vs baseline: +4.0%


✅ set-status

Time: ✅ 32.133ms (SLO: <34.150ms -5.9%) vs baseline: +0.9%

Memory: ✅ 37.867MB (SLO: <40.750MB -7.1%) vs baseline: +4.2%


✅ start

Time: ✅ 29.517ms (SLO: <30.150ms -2.1%) vs baseline: +2.3%

Memory: ✅ 38.004MB (SLO: <40.750MB -6.7%) vs baseline: +4.5%


✅ start-finish

Time: ✅ 34.088ms (SLO: <35.350ms -3.6%) vs baseline: +0.5%

Memory: ✅ 38.083MB (SLO: <40.750MB -6.5%) vs baseline: +4.6%


✅ start-finish-telemetry

Time: ✅ 33.984ms (SLO: <35.450ms -4.1%) vs baseline: -0.6%

Memory: ✅ 37.906MB (SLO: <40.750MB -7.0%) vs baseline: +4.3%


✅ update-name

Time: ✅ 31.146ms (SLO: <33.400ms -6.7%) vs baseline: +0.9%

Memory: ✅ 38.063MB (SLO: <40.750MB -6.6%) vs baseline: +4.6%


otelspan - 22/22

✅ add-event

Time: ✅ 41.083ms (SLO: <47.150ms 📉 -12.9%) vs baseline: +1.0%

Memory: ✅ 40.569MB (SLO: <47.000MB 📉 -13.7%) vs baseline: +5.0%


✅ add-metrics

Time: ✅ 250.986ms (SLO: <344.800ms 📉 -27.2%) vs baseline: +0.3%

Memory: ✅ 45.009MB (SLO: <47.500MB -5.2%) vs baseline: +4.6%


✅ add-tags

Time: ✅ 311.013ms (SLO: <330.000ms -5.8%) vs baseline: +1.6%

Memory: ✅ 44.969MB (SLO: <47.500MB -5.3%) vs baseline: +4.6%


✅ get-context

Time: ✅ 80.949ms (SLO: <92.350ms 📉 -12.3%) vs baseline: -0.1%

Memory: ✅ 40.894MB (SLO: <46.500MB 📉 -12.1%) vs baseline: +4.6%


✅ is-recording

Time: ✅ 37.030ms (SLO: <44.500ms 📉 -16.8%) vs baseline: +0.4%

Memory: ✅ 40.336MB (SLO: <47.500MB 📉 -15.1%) vs baseline: +4.6%


✅ record-exception

Time: ✅ 59.698ms (SLO: <67.650ms 📉 -11.8%) vs baseline: -0.5%

Memory: ✅ 41.075MB (SLO: <47.000MB 📉 -12.6%) vs baseline: +4.8%


✅ set-status

Time: ✅ 43.787ms (SLO: <50.400ms 📉 -13.1%) vs baseline: +0.7%

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


✅ start

Time: ✅ 38.100ms (SLO: <43.450ms 📉 -12.3%) vs baseline: +5.0%

Memory: ✅ 40.349MB (SLO: <47.000MB 📉 -14.2%) vs baseline: +4.6%


✅ start-finish

Time: ✅ 85.547ms (SLO: <90.000ms -4.9%) vs baseline: +0.3%

Memory: ✅ 38.083MB (SLO: <46.500MB 📉 -18.1%) vs baseline: +4.3%


✅ start-finish-telemetry

Time: ✅ 86.963ms (SLO: <91.000ms -4.4%) vs baseline: +0.2%

Memory: ✅ 38.004MB (SLO: <46.500MB 📉 -18.3%) vs baseline: +4.2%


✅ update-name

Time: ✅ 38.096ms (SLO: <45.150ms 📉 -15.6%) vs baseline: -0.2%

Memory: ✅ 40.385MB (SLO: <47.000MB 📉 -14.1%) vs baseline: +4.6%


packagespackageforrootmodulemapping - 4/4

✅ cache_off

Time: ✅ 344.891ms (SLO: <354.300ms -2.7%) vs baseline: -1.0%

Memory: ✅ 41.287MB (SLO: <46.000MB 📉 -10.2%) vs baseline: +3.4%


✅ cache_on

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

Memory: ✅ 39.970MB (SLO: <46.000MB 📉 -13.1%) vs baseline: +4.6%


rand - 2/2

✅ rand128bits

Time: ✅ 0.192µs (SLO: <21.000µs 📉 -99.1%) vs baseline: +1.8%


✅ rand64bits

Time: ✅ 0.127µs (SLO: <15.000µs 📉 -99.2%) vs baseline: +5.0%


ratelimiter - 12/12

✅ defaults

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

Memory: ✅ 35.527MB (SLO: <38.000MB -6.5%) vs baseline: +4.3%


✅ high_rate_limit

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

Memory: ✅ 35.645MB (SLO: <38.000MB -6.2%) vs baseline: +4.6%


✅ long_window

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

Memory: ✅ 35.586MB (SLO: <38.000MB -6.4%) vs baseline: +4.6%


✅ low_rate_limit

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

Memory: ✅ 35.547MB (SLO: <38.000MB -6.5%) vs baseline: +4.2%


✅ no_rate_limit

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

Memory: ✅ 35.586MB (SLO: <38.000MB -6.4%) vs baseline: +4.5%


✅ short_window

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

Memory: ✅ 35.586MB (SLO: <38.000MB -6.4%) vs baseline: +4.5%


recursivecomputation - 8/8

✅ deep

Time: ✅ 309.528ms (SLO: <320.950ms -3.6%) vs baseline: ~same

Memory: ✅ 36.392MB (SLO: <38.750MB -6.1%) vs baseline: +4.4%


✅ deep-profiled

Time: ✅ 327.310ms (SLO: <359.150ms -8.9%) vs baseline: ~same

Memory: ✅ 42.271MB (SLO: <46.000MB -8.1%) vs baseline: +4.5%


✅ medium

Time: ✅ 7.154ms (SLO: <7.400ms -3.3%) vs baseline: +0.7%

Memory: ✅ 35.566MB (SLO: <38.000MB -6.4%) vs baseline: +4.6%


✅ shallow

Time: ✅ 0.986ms (SLO: <1.050ms -6.1%) vs baseline: +2.5%

Memory: ✅ 35.547MB (SLO: <38.000MB -6.5%) vs baseline: +4.4%


samplingrules - 8/8

✅ average_match

Time: ✅ 147.436µs (SLO: <290.000µs 📉 -49.2%) vs baseline: -2.4%

Memory: ✅ 35.704MB (SLO: <38.000MB -6.0%) vs baseline: +4.7%


✅ high_match

Time: ✅ 193.494µs (SLO: <480.000µs 📉 -59.7%) vs baseline: -4.3%

Memory: ✅ 35.507MB (SLO: <38.000MB -6.6%) vs baseline: +4.2%


✅ low_match

Time: ✅ 100.506µs (SLO: <120.000µs 📉 -16.2%) vs baseline: +0.1%

Memory: ✅ 700.774MB (SLO: <780.000MB 📉 -10.2%) vs baseline: +4.8%


✅ very_low_match

Time: ✅ 2.893ms (SLO: <8.500ms 📉 -66.0%) vs baseline: -1.9%

Memory: ✅ 77.997MB (SLO: <85.000MB -8.2%) vs baseline: +4.6%


sethttpmeta - 32/32

✅ all-disabled

Time: ✅ 10.475µs (SLO: <20.000µs 📉 -47.6%) vs baseline: +0.2%

Memory: ✅ 36.038MB (SLO: <38.750MB -7.0%) vs baseline: +4.5%


✅ all-enabled

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

Memory: ✅ 36.137MB (SLO: <38.750MB -6.7%) vs baseline: +4.5%


✅ collectipvariant_exists

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

Memory: ✅ 36.235MB (SLO: <38.750MB -6.5%) vs baseline: +4.8%


✅ no-collectipvariant

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

Memory: ✅ 35.999MB (SLO: <38.750MB -7.1%) vs baseline: +3.9%


✅ no-useragentvariant

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

Memory: ✅ 35.920MB (SLO: <38.750MB -7.3%) vs baseline: +3.9%


✅ obfuscation-no-query

Time: ✅ 40.504µs (SLO: <50.000µs 📉 -19.0%) vs baseline: -0.3%

Memory: ✅ 35.940MB (SLO: <38.750MB -7.3%) vs baseline: +4.1%


✅ obfuscation-regular-case-explicit-query

Time: ✅ 75.953µs (SLO: <90.000µs 📉 -15.6%) vs baseline: ~same

Memory: ✅ 36.274MB (SLO: <38.750MB -6.4%) vs baseline: +4.0%


✅ obfuscation-regular-case-implicit-query

Time: ✅ 76.794µs (SLO: <90.000µs 📉 -14.7%) vs baseline: +0.4%

Memory: ✅ 36.372MB (SLO: <38.750MB -6.1%) vs baseline: +4.3%


✅ obfuscation-send-querystring-disabled

Time: ✅ 155.190µs (SLO: <170.000µs -8.7%) vs baseline: +0.2%

Memory: ✅ 36.333MB (SLO: <38.750MB -6.2%) vs baseline: +4.1%


✅ obfuscation-worst-case-explicit-query

Time: ✅ 149.584µs (SLO: <160.000µs -6.5%) vs baseline: +0.3%

Memory: ✅ 36.372MB (SLO: <38.750MB -6.1%) vs baseline: +4.2%


✅ obfuscation-worst-case-implicit-query

Time: ✅ 155.708µs (SLO: <170.000µs -8.4%) vs baseline: ~same

Memory: ✅ 36.353MB (SLO: <38.750MB -6.2%) vs baseline: +4.0%


✅ useragentvariant_exists_1

Time: ✅ 39.408µs (SLO: <50.000µs 📉 -21.2%) vs baseline: -0.6%

Memory: ✅ 36.058MB (SLO: <38.750MB -6.9%) vs baseline: +4.2%


✅ useragentvariant_exists_2

Time: ✅ 40.534µs (SLO: <50.000µs 📉 -18.9%) vs baseline: +0.1%

Memory: ✅ 36.176MB (SLO: <38.750MB -6.6%) vs baseline: +4.6%


✅ useragentvariant_exists_3

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

Memory: ✅ 35.861MB (SLO: <38.750MB -7.5%) vs baseline: +2.9%


✅ useragentvariant_not_exists_1

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

Memory: ✅ 36.038MB (SLO: <38.750MB -7.0%) vs baseline: +4.0%


✅ useragentvariant_not_exists_2

Time: ✅ 39.419µs (SLO: <50.000µs 📉 -21.2%) vs baseline: +0.1%

Memory: ✅ 36.078MB (SLO: <38.750MB -6.9%) vs baseline: +4.3%


span - 26/26

✅ add-event

Time: ✅ 18.633ms (SLO: <22.500ms 📉 -17.2%) vs baseline: +0.3%

Memory: ✅ 37.552MB (SLO: <53.000MB 📉 -29.1%) vs baseline: +4.4%


✅ add-metrics

Time: ✅ 88.721ms (SLO: <93.500ms -5.1%) vs baseline: +0.7%

Memory: ✅ 42.251MB (SLO: <53.000MB 📉 -20.3%) vs baseline: +4.4%


✅ add-tags

Time: ✅ 143.991ms (SLO: <155.000ms -7.1%) vs baseline: -0.8%

Memory: ✅ 42.321MB (SLO: <53.000MB 📉 -20.1%) vs baseline: +5.0%


✅ get-context

Time: ✅ 17.071ms (SLO: <20.500ms 📉 -16.7%) vs baseline: +1.0%

Memory: ✅ 37.552MB (SLO: <53.000MB 📉 -29.1%) vs baseline: +4.2%


✅ is-recording

Time: ✅ 17.090ms (SLO: <20.500ms 📉 -16.6%) vs baseline: +1.0%

Memory: ✅ 37.591MB (SLO: <53.000MB 📉 -29.1%) vs baseline: +4.5%


✅ record-exception

Time: ✅ 37.923ms (SLO: <41.000ms -7.5%) vs baseline: +0.6%

Memory: ✅ 38.149MB (SLO: <53.000MB 📉 -28.0%) vs baseline: +4.5%


✅ set-status

Time: ✅ 18.845ms (SLO: <22.000ms 📉 -14.3%) vs baseline: +1.0%

Memory: ✅ 37.572MB (SLO: <53.000MB 📉 -29.1%) vs baseline: +4.6%


✅ start

Time: ✅ 17.967ms (SLO: <20.500ms 📉 -12.4%) vs baseline: +6.6%

Memory: ✅ 37.552MB (SLO: <53.000MB 📉 -29.1%) vs baseline: +4.5%


✅ start-finish

Time: ✅ 53.438ms (SLO: <56.000ms -4.6%) vs baseline: ~same

Memory: ✅ 35.606MB (SLO: <38.000MB -6.3%) vs baseline: +4.2%


✅ start-finish-telemetry

Time: ✅ 54.759ms (SLO: <58.000ms -5.6%) vs baseline: +0.6%

Memory: ✅ 35.468MB (SLO: <38.000MB -6.7%) vs baseline: +4.1%


✅ start-finish-traceid128

Time: ✅ 56.290ms (SLO: <60.000ms -6.2%) vs baseline: +0.3%

Memory: ✅ 35.645MB (SLO: <38.000MB -6.2%) vs baseline: +4.5%


✅ start-traceid128

Time: ✅ 16.913ms (SLO: <22.500ms 📉 -24.8%) vs baseline: +0.4%

Memory: ✅ 37.552MB (SLO: <53.000MB 📉 -29.1%) vs baseline: +4.3%


✅ update-name

Time: ✅ 17.634ms (SLO: <22.000ms 📉 -19.8%) vs baseline: +1.6%

Memory: ✅ 37.591MB (SLO: <53.000MB 📉 -29.1%) vs baseline: +4.4%


telemetryaddmetric - 30/30

✅ 1-count-metric-1-times

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

Memory: ✅ 35.566MB (SLO: <38.000MB -6.4%) vs baseline: +4.1%


✅ 1-count-metrics-100-times

Time: ✅ 149.179µs (SLO: <220.000µs 📉 -32.2%) vs baseline: -0.2%

Memory: ✅ 35.586MB (SLO: <38.000MB -6.4%) vs baseline: +4.5%


✅ 1-distribution-metric-1-times

Time: ✅ 2.498µs (SLO: <20.000µs 📉 -87.5%) vs baseline: +4.0%

Memory: ✅ 35.566MB (SLO: <38.000MB -6.4%) vs baseline: +4.1%


✅ 1-distribution-metrics-100-times

Time: ✅ 162.911µs (SLO: <230.000µs 📉 -29.2%) vs baseline: +0.2%

Memory: ✅ 35.625MB (SLO: <38.000MB -6.2%) vs baseline: +4.3%


✅ 1-gauge-metric-1-times

Time: ✅ 1.968µs (SLO: <20.000µs 📉 -90.2%) vs baseline: -1.9%

Memory: ✅ 35.645MB (SLO: <38.000MB -6.2%) vs baseline: +4.6%


✅ 1-gauge-metrics-100-times

Time: ✅ 135.661µs (SLO: <150.000µs -9.6%) vs baseline: -0.8%

Memory: ✅ 35.527MB (SLO: <38.000MB -6.5%) vs baseline: +4.4%


✅ 1-rate-metric-1-times

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

Memory: ✅ 35.527MB (SLO: <38.000MB -6.5%) vs baseline: +4.2%


✅ 1-rate-metrics-100-times

Time: ✅ 162.033µs (SLO: <250.000µs 📉 -35.2%) vs baseline: ~same

Memory: ✅ 35.606MB (SLO: <38.000MB -6.3%) vs baseline: +4.3%


✅ 100-count-metrics-100-times

Time: ✅ 15.120ms (SLO: <22.000ms 📉 -31.3%) vs baseline: +1.2%

Memory: ✅ 35.645MB (SLO: <38.000MB -6.2%) vs baseline: +4.5%


✅ 100-distribution-metrics-100-times

Time: ✅ 1.728ms (SLO: <2.550ms 📉 -32.2%) vs baseline: +0.5%

Memory: ✅ 35.606MB (SLO: <38.000MB -6.3%) vs baseline: +4.5%


✅ 100-gauge-metrics-100-times

Time: ✅ 1.399ms (SLO: <1.550ms -9.7%) vs baseline: -1.2%

Memory: ✅ 35.684MB (SLO: <38.000MB -6.1%) vs baseline: +4.6%


✅ 100-rate-metrics-100-times

Time: ✅ 1.676ms (SLO: <2.550ms 📉 -34.3%) vs baseline: -0.2%

Memory: ✅ 35.488MB (SLO: <38.000MB -6.6%) vs baseline: +4.1%


✅ flush-1-metric

Time: ✅ 3.539µs (SLO: <20.000µs 📉 -82.3%) vs baseline: -2.0%

Memory: ✅ 35.586MB (SLO: <38.000MB -6.4%) vs baseline: +4.6%


✅ flush-100-metrics

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

Memory: ✅ 35.527MB (SLO: <38.000MB -6.5%) vs baseline: +4.3%


✅ flush-1000-metrics

Time: ✅ 2.187ms (SLO: <2.500ms 📉 -12.5%) vs baseline: +1.4%

Memory: ✅ 36.353MB (SLO: <38.750MB -6.2%) vs baseline: +4.5%

ℹ️ Scenarios Missing SLO Configuration (46 scenarios)

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

  • coreapiscenario-core_dispatch_listeners
  • coreapiscenario-core_dispatch_no_listeners
  • coreapiscenario-core_dispatch_with_results_listeners
  • coreapiscenario-core_dispatch_with_results_no_listeners
  • djangosimple-baseline
  • errortrackingdjangosimple-baseline
  • errortrackingflasksqli-baseline
  • flasksimple-baseline
  • flasksqli-baseline
  • iast_aspects-re_expand_aspect
  • iast_aspects-re_expand_noaspect
  • iast_aspects-re_findall_aspect
  • iast_aspects-re_findall_noaspect
  • iast_aspects-re_finditer_aspect
  • iast_aspects-re_finditer_noaspect
  • iast_aspects-re_fullmatch_aspect
  • iast_aspects-re_fullmatch_noaspect
  • iast_aspects-re_group_aspect
  • iast_aspects-re_group_noaspect
  • iast_aspects-re_groups_aspect
  • iast_aspects-re_groups_noaspect
  • iast_aspects-re_match_aspect
  • iast_aspects-re_match_noaspect
  • iast_aspects-re_search_aspect
  • iast_aspects-re_search_noaspect
  • iast_aspects-re_sub_aspect
  • iast_aspects-re_sub_noaspect
  • iast_aspects-re_subn_aspect
  • iast_aspects-re_subn_noaspect
  • sethttpmeta-obfuscation-disabled
  • startup-baseline
  • startup-baseline_django
  • startup-baseline_flask
  • startup-ddtrace_run
  • startup-ddtrace_run_appsec
  • startup-ddtrace_run_profiling
  • startup-ddtrace_run_runtime_metrics
  • startup-ddtrace_run_send_span
  • startup-ddtrace_run_telemetry_disabled
  • startup-ddtrace_run_telemetry_enabled
  • startup-import_ddtrace
  • startup-import_ddtrace_auto
  • startup-import_ddtrace_auto_django
  • startup-import_ddtrace_auto_flask
  • startup-import_ddtrace_django
  • startup-import_ddtrace_flask

@gary-huang gary-huang marked this pull request as ready for review February 26, 2026 16:35
@gary-huang gary-huang requested a review from a team as a code owner February 26, 2026 16:35
@gary-huang gary-huang added the changelog/no-changelog A changelog entry is not required for this PR. label Feb 27, 2026
@gary-huang
Copy link
Contributor Author

/merge

@gh-worker-devflow-routing-ef8351
Copy link

gh-worker-devflow-routing-ef8351 bot commented Feb 27, 2026

View all feedbacks in Devflow UI.

2026-02-27 15:39:43 UTC ℹ️ Start processing command /merge


2026-02-27 15:39:49 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in main is approximately 4h (p90).


2026-02-27 15:41:56 UTCMergeQueue: This merge request was updated

This PR is rejected because it was updated

@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot merged commit 7e182e4 into main Mar 3, 2026
462 checks passed
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot deleted the gary/fix-typing-tags-canonid branch March 3, 2026 01:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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