Skip to content

Conversation

Yun-Kim
Copy link
Contributor

@Yun-Kim Yun-Kim commented Jul 17, 2025

MLOB-3298

This PR adds support for:

  1. Annotating experiment spans with expected_output
  2. Submitting experiment spans/traces to the LLMObs experiment scope.

Notes:

  • I/O for experiment spans currently are annotated the same way as regular LLMObs spans, i.e. meta.input.value and meta.output.value. It looks like experiments use just meta.input/output. This shouldn't be blocking for now but should be followed up on.
  • We are currently using context baggage to determine when a span is considered an experiment span. We might want to follow the classic span store/request header pattern in the future.

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

@Yun-Kim Yun-Kim added the changelog/no-changelog A changelog entry is not required for this PR. label Jul 17, 2025
Copy link
Contributor

github-actions bot commented Jul 17, 2025

CODEOWNERS have been resolved as:

ddtrace/llmobs/_constants.py                                            @DataDog/ml-observability
ddtrace/llmobs/_experiment.py                                           @DataDog/ml-observability
ddtrace/llmobs/_llmobs.py                                               @DataDog/ml-observability
ddtrace/llmobs/_writer.py                                               @DataDog/ml-observability
tests/llmobs/test_experiments.py                                        @DataDog/ml-observability

@Yun-Kim Yun-Kim marked this pull request as ready for review July 17, 2025 22:50
@Yun-Kim Yun-Kim requested a review from a team as a code owner July 17, 2025 22:50
Copy link
Contributor

github-actions bot commented Jul 17, 2025

Bootstrap import analysis

Comparison of import times between this PR and base.

Summary

The average import time from this PR is: 286 ± 9 ms.

The average import time from base is: 285 ± 7 ms.

The import time difference between this PR and base is: 0.5 ± 0.4 ms.

The difference is not statistically significant (z = 1.51).

Import time breakdown

The following import paths have shrunk:

ddtrace.auto 1.272 ms (0.44%)
ddtrace 0.667 ms (0.23%)
ddtrace.internal._unpatched 0.025 ms (0.01%)
json 0.025 ms (0.01%)
json.decoder 0.025 ms (0.01%)
re 0.025 ms (0.01%)
enum 0.025 ms (0.01%)
types 0.025 ms (0.01%)
ddtrace.bootstrap.sitecustomize 0.604 ms (0.21%)
ddtrace.bootstrap.preload 0.604 ms (0.21%)
ddtrace.internal.remoteconfig.client 0.604 ms (0.21%)

@pr-commenter
Copy link

pr-commenter bot commented Jul 17, 2025

Performance SLOs

Performance SLOs

Benchmark execution time: 2025-07-18 14:12:59

Comparing candidate commit 7f7c91b in branch yunkim/dne-submit-experiment-spans with performance thresholds.

coreapiscenario-context_with_data_listeners

  • (unstable) execution_time seen in benchmark [14.220µs; 15.325µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

coreapiscenario-context_with_data_no_listeners

  • 🟩 execution_time seen in benchmark [4.695µs; 4.725µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

coreapiscenario-context_with_data_only_all_listeners

  • (unstable) execution_time seen in benchmark [14.219µs; 15.317µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

coreapiscenario-get_item_exists

  • 🟩 execution_time seen in benchmark [680.774ns; 684.815ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

coreapiscenario-get_item_missing

  • 🟩 execution_time seen in benchmark [727.521ns; 732.335ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

coreapiscenario-set_item

  • 🟩 execution_time seen in benchmark [28.014µs; 28.123µs]; SLO is < 30.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

djangosimple-appsec

  • 🟩 execution_time seen in benchmark [21.515ms; 21.565ms]; SLO is < 22.300ms
  • 🟩 max_rss_usage seen in benchmark [63.747MB; 63.890MB]; SLO is < 65.500MB

djangosimple-exception-replay-enabled

  • 🟩 execution_time seen in benchmark [1.374ms; 1.376ms]; SLO is < 1.450ms
  • 🟩 max_rss_usage seen in benchmark [63.453MB; 63.635MB]; SLO is < 65.500MB

djangosimple-iast

  • 🟩 execution_time seen in benchmark [21.551ms; 21.607ms]; SLO is < 22.250ms
  • 🟩 max_rss_usage seen in benchmark [63.782MB; 63.935MB]; SLO is < 65.500MB

djangosimple-profiler

  • 🟩 execution_time seen in benchmark [15.821ms; 15.908ms]; SLO is < 16.550ms
  • 🟩 max_rss_usage seen in benchmark [50.788MB; 50.937MB]; SLO is < 53.000MB

djangosimple-span-code-origin

  • 🟩 execution_time seen in benchmark [27.199ms; 27.264ms]; SLO is < 28.200ms
  • 🟩 max_rss_usage seen in benchmark [66.414MB; 66.603MB]; SLO is < 68.000MB

djangosimple-tracer

  • 🟩 execution_time seen in benchmark [21.481ms; 21.548ms]; SLO is < 22.700ms
  • 🟩 max_rss_usage seen in benchmark [63.686MB; 63.834MB]; SLO is < 65.500MB

djangosimple-tracer-and-profiler

  • 🟩 execution_time seen in benchmark [23.979ms; 24.046ms]; SLO is < 24.900ms
  • 🟩 max_rss_usage seen in benchmark [65.273MB; 65.432MB]; SLO is < 67.000MB

djangosimple-tracer-no-caches

  • 🟩 execution_time seen in benchmark [18.928ms; 18.994ms]; SLO is < 19.650ms
  • 🟩 max_rss_usage seen in benchmark [63.700MB; 63.859MB]; SLO is < 65.500MB

djangosimple-tracer-no-databases

  • 🟩 execution_time seen in benchmark [19.405ms; 19.462ms]; SLO is < 20.100ms
  • 🟩 max_rss_usage seen in benchmark [63.704MB; 63.816MB]; SLO is < 65.500MB

djangosimple-tracer-no-middleware

  • 🟩 execution_time seen in benchmark [21.206ms; 21.275ms]; SLO is < 22.500ms
  • 🟩 max_rss_usage seen in benchmark [63.747MB; 63.890MB]; SLO is < 65.500MB

djangosimple-tracer-no-templates

  • 🟩 execution_time seen in benchmark [21.326ms; 21.384ms]; SLO is < 22.250ms
  • 🟩 max_rss_usage seen in benchmark [63.747MB; 63.890MB]; SLO is < 65.500MB

errortrackingdjangosimple-errortracking-enabled-all

  • 🟩 execution_time seen in benchmark [18.758ms; 18.872ms]; SLO is < 19.850ms
  • 🟩 max_rss_usage seen in benchmark [63.694MB; 63.787MB]; SLO is < 65.500MB

errortrackingdjangosimple-errortracking-enabled-user

  • 🟩 execution_time seen in benchmark [18.895ms; 19.000ms]; SLO is < 19.400ms
  • 🟩 max_rss_usage seen in benchmark [63.747MB; 63.890MB]; SLO is < 65.500MB

errortrackingdjangosimple-tracer-enabled

  • 🟩 execution_time seen in benchmark [18.635ms; 18.711ms]; SLO is < 19.450ms
  • 🟩 max_rss_usage seen in benchmark [63.740MB; 63.889MB]; SLO is < 65.500MB

errortrackingflasksqli-errortracking-enabled-all

  • 🟩 execution_time seen in benchmark [2.155ms; 2.160ms]; SLO is < 2.300ms
  • 🟩 max_rss_usage seen in benchmark [51.427MB; 51.635MB]; SLO is < 53.000MB

errortrackingflasksqli-errortracking-enabled-user

  • 🟩 execution_time seen in benchmark [2.184ms; 2.195ms]; SLO is < 2.250ms
  • 🟩 max_rss_usage seen in benchmark [51.671MB; 51.824MB]; SLO is < 53.000MB

errortrackingflasksqli-tracer-enabled

  • 🟩 execution_time seen in benchmark [2.157ms; 2.164ms]; SLO is < 2.300ms
  • 🟩 max_rss_usage seen in benchmark [51.165MB; 51.308MB]; SLO is < 53.000MB

flasksimple-appsec-get

  • 🟩 execution_time seen in benchmark [4.666ms; 4.676ms]; SLO is < 4.750ms
  • 🟩 max_rss_usage seen in benchmark [62.944MB; 63.101MB]; SLO is < 64.000MB

flasksimple-appsec-post

  • 🟩 execution_time seen in benchmark [6.669ms; 6.678ms]; SLO is < 6.750ms
  • 🟩 max_rss_usage seen in benchmark [63.042MB; 63.186MB]; SLO is < 64.000MB

flasksimple-appsec-telemetry

  • 🟩 execution_time seen in benchmark [4.655ms; 4.666ms]; SLO is < 4.750ms
  • 🟩 max_rss_usage seen in benchmark [63.097MB; 63.203MB]; SLO is < 64.000MB

flasksimple-debugger

  • 🟩 execution_time seen in benchmark [1.850ms; 1.853ms]; SLO is < 2.000ms
  • 🟩 max_rss_usage seen in benchmark [42.074MB; 42.074MB]; SLO is < 44.000MB

flasksimple-iast-get

  • 🟩 execution_time seen in benchmark [1.856ms; 1.860ms]; SLO is < 2.000ms
  • 🟩 max_rss_usage seen in benchmark [44.406MB; 44.516MB]; SLO is < 45.000MB

flasksimple-profiler

  • 🟩 execution_time seen in benchmark [1.973ms; 1.977ms]; SLO is < 2.100ms
  • 🟩 max_rss_usage seen in benchmark [43.335MB; 43.487MB]; SLO is < 44.000MB

flasksimple-tracer

  • 🟩 execution_time seen in benchmark [3.423ms; 3.431ms]; SLO is < 3.650ms
  • 🟩 max_rss_usage seen in benchmark [51.458MB; 51.526MB]; SLO is < 53.000MB

flasksqli-appsec-enabled

  • 🟩 execution_time seen in benchmark [4.016ms; 4.025ms]; SLO is < 4.200ms
  • 🟩 max_rss_usage seen in benchmark [63.446MB; 63.602MB]; SLO is < 66.000MB

flasksqli-iast-enabled

  • 🟩 execution_time seen in benchmark [2.606ms; 2.626ms]; SLO is < 2.800ms
  • 🟩 max_rss_usage seen in benchmark [56.623MB; 56.623MB]; SLO is < 58.000MB

flasksqli-tracer-enabled

  • 🟩 execution_time seen in benchmark [2.150ms; 2.156ms]; SLO is < 2.250ms
  • 🟩 max_rss_usage seen in benchmark [51.257MB; 51.412MB]; SLO is < 53.000MB

httppropagationextract-all_styles_all_headers

  • 🟩 execution_time seen in benchmark [62.114µs; 62.588µs]; SLO is < 70.000µs
  • 🟩 max_rss_usage seen in benchmark [29.114MB; 29.239MB]; SLO is < 31.000MB

httppropagationextract-b3_headers

  • 🟩 execution_time seen in benchmark [9.948µs; 9.996µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.101MB; 29.213MB]; SLO is < 31.000MB

httppropagationextract-b3_single_headers

  • 🟩 execution_time seen in benchmark [8.996µs; 9.048µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.114MB; 29.239MB]; SLO is < 31.000MB

httppropagationextract-datadog_tracecontext_tracestate_not_propagated_on_trace_id_no_match

  • 🟩 execution_time seen in benchmark [52.475µs; 52.767µs]; SLO is < 60.000µs
  • 🟩 max_rss_usage seen in benchmark [29.091MB; 29.184MB]; SLO is < 31.000MB

httppropagationextract-datadog_tracecontext_tracestate_propagated_on_trace_id_match

  • 🟩 execution_time seen in benchmark [54.381µs; 54.550µs]; SLO is < 60.000µs
  • 🟩 max_rss_usage seen in benchmark [29.101MB; 29.213MB]; SLO is < 31.000MB

httppropagationextract-empty_headers

  • 🟩 execution_time seen in benchmark [1.598µs; 1.610µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.091MB; 29.184MB]; SLO is < 31.000MB

httppropagationextract-full_t_id_datadog_headers

  • 🟩 execution_time seen in benchmark [17.900µs; 17.987µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.091MB; 29.184MB]; SLO is < 31.000MB

httppropagationextract-invalid_priority_header

  • 🟩 execution_time seen in benchmark [6.564µs; 6.603µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.101MB; 29.213MB]; SLO is < 31.000MB

httppropagationextract-invalid_span_id_header

  • 🟩 execution_time seen in benchmark [6.557µs; 6.610µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.091MB; 29.184MB]; SLO is < 31.000MB

httppropagationextract-invalid_tags_header

  • 🟩 execution_time seen in benchmark [6.556µs; 6.595µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.144MB; 29.287MB]; SLO is < 31.000MB

httppropagationextract-invalid_trace_id_header

  • 🟩 execution_time seen in benchmark [6.520µs; 6.556µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.114MB; 29.239MB]; SLO is < 31.000MB

httppropagationextract-large_header_no_matches

  • 🟩 execution_time seen in benchmark [27.617µs; 27.726µs]; SLO is < 30.000µs
  • 🟩 max_rss_usage seen in benchmark [29.101MB; 29.213MB]; SLO is < 31.000MB

httppropagationextract-large_valid_headers_all

  • 🟩 execution_time seen in benchmark [28.671µs; 28.765µs]; SLO is < 40.000µs
  • 🟩 max_rss_usage seen in benchmark [29.101MB; 29.213MB]; SLO is < 31.000MB

httppropagationextract-medium_header_no_matches

  • 🟩 execution_time seen in benchmark [9.937µs; 10.018µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.101MB; 29.213MB]; SLO is < 31.000MB

httppropagationextract-medium_valid_headers_all

  • 🟩 execution_time seen in benchmark [11.303µs; 11.379µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.084MB; 29.152MB]; SLO is < 31.000MB

httppropagationextract-none_propagation_style

  • 🟩 execution_time seen in benchmark [1.695µs; 1.709µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.114MB; 29.239MB]; SLO is < 31.000MB

httppropagationextract-tracecontext_headers

  • 🟩 execution_time seen in benchmark [27.165µs; 27.319µs]; SLO is < 30.000µs
  • 🟩 max_rss_usage seen in benchmark [29.084MB; 29.152MB]; SLO is < 31.000MB

httppropagationextract-valid_headers_all

  • 🟩 execution_time seen in benchmark [6.532µs; 6.567µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.091MB; 29.184MB]; SLO is < 31.000MB

httppropagationextract-valid_headers_basic

  • 🟩 execution_time seen in benchmark [6.104µs; 6.144µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.101MB; 29.213MB]; SLO is < 31.000MB

httppropagationextract-wsgi_empty_headers

  • 🟩 execution_time seen in benchmark [1.587µs; 1.599µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.144MB; 29.287MB]; SLO is < 31.000MB

httppropagationextract-wsgi_invalid_priority_header

  • 🟩 execution_time seen in benchmark [6.579µs; 6.621µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.091MB; 29.184MB]; SLO is < 31.000MB

httppropagationextract-wsgi_invalid_span_id_header

  • 🟩 execution_time seen in benchmark [1.600µs; 1.616µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.101MB; 29.213MB]; SLO is < 31.000MB

httppropagationextract-wsgi_invalid_tags_header

  • 🟩 execution_time seen in benchmark [6.614µs; 6.662µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.114MB; 29.239MB]; SLO is < 31.000MB

httppropagationextract-wsgi_invalid_trace_id_header

  • 🟩 execution_time seen in benchmark [6.583µs; 6.624µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.084MB; 29.152MB]; SLO is < 31.000MB

httppropagationextract-wsgi_large_header_no_matches

  • 🟩 execution_time seen in benchmark [28.698µs; 28.840µs]; SLO is < 40.000µs
  • 🟩 max_rss_usage seen in benchmark [29.101MB; 29.213MB]; SLO is < 31.000MB

httppropagationextract-wsgi_large_valid_headers_all

  • 🟩 execution_time seen in benchmark [29.875µs; 29.974µs]; SLO is < 40.000µs
  • 🟩 max_rss_usage seen in benchmark [29.114MB; 29.239MB]; SLO is < 31.000MB

httppropagationextract-wsgi_medium_header_no_matches

  • 🟩 execution_time seen in benchmark [10.247µs; 10.311µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.114MB; 29.239MB]; SLO is < 31.000MB

httppropagationextract-wsgi_medium_valid_headers_all

  • 🟩 execution_time seen in benchmark [11.752µs; 11.815µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.091MB; 29.184MB]; SLO is < 31.000MB

httppropagationextract-wsgi_valid_headers_all

  • 🟩 execution_time seen in benchmark [6.553µs; 6.596µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.144MB; 29.287MB]; SLO is < 31.000MB

httppropagationextract-wsgi_valid_headers_basic

  • 🟩 execution_time seen in benchmark [6.113µs; 6.157µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.114MB; 29.239MB]; SLO is < 31.000MB

httppropagationinject-ids_only

  • 🟩 execution_time seen in benchmark [11.916µs; 12.006µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

httppropagationinject-with_all

  • 🟩 execution_time seen in benchmark [24.512µs; 24.696µs]; SLO is < 30.000µs
  • 🟩 max_rss_usage seen in benchmark [29.091MB; 29.184MB]; SLO is < 31.000MB

httppropagationinject-with_dd_origin

  • 🟩 execution_time seen in benchmark [16.902µs; 17.014µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.144MB; 29.287MB]; SLO is < 31.000MB

httppropagationinject-with_priority_and_origin

  • 🟩 execution_time seen in benchmark [18.994µs; 19.059µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.144MB; 29.287MB]; SLO is < 31.000MB

httppropagationinject-with_sampling_priority

  • 🟩 execution_time seen in benchmark [14.000µs; 14.069µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.091MB; 29.184MB]; SLO is < 31.000MB

httppropagationinject-with_tags

  • 🟩 execution_time seen in benchmark [18.262µs; 18.397µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.084MB; 29.152MB]; SLO is < 31.000MB

httppropagationinject-with_tags_invalid

  • 🟩 execution_time seen in benchmark [20.783µs; 20.951µs]; SLO is < 30.000µs
  • 🟩 max_rss_usage seen in benchmark [29.101MB; 29.213MB]; SLO is < 31.000MB

httppropagationinject-with_tags_max_size

  • 🟩 execution_time seen in benchmark [19.289µs; 19.507µs]; SLO is < 30.000µs
  • 🟩 max_rss_usage seen in benchmark [29.114MB; 29.239MB]; SLO is < 31.000MB

iast_aspects-re_expand_aspect

  • 🟩 execution_time seen in benchmark [33.247µs; 33.468µs]; SLO is < 40.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_expand_noaspect

  • 🟩 execution_time seen in benchmark [28.964µs; 29.359µs]; SLO is < 40.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_findall_aspect

  • 🟩 execution_time seen in benchmark [3.807µs; 3.835µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_findall_noaspect

  • 🟩 execution_time seen in benchmark [1.404µs; 1.423µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_finditer_aspect

  • 🟩 execution_time seen in benchmark [5.282µs; 5.327µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.589MB; 34.657MB]; SLO is < 35.000MB

iast_aspects-re_finditer_noaspect

  • 🟩 execution_time seen in benchmark [1.402µs; 1.411µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_fullmatch_aspect

  • 🟩 execution_time seen in benchmark [3.498µs; 3.533µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_fullmatch_noaspect

  • 🟩 execution_time seen in benchmark [1.278µs; 1.285µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_group_aspect

  • 🟩 execution_time seen in benchmark [3.544µs; 3.569µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.589MB; 34.657MB]; SLO is < 35.000MB

iast_aspects-re_group_noaspect

  • 🟩 execution_time seen in benchmark [1.600µs; 1.622µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_groups_aspect

  • 🟩 execution_time seen in benchmark [3.715µs; 3.755µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_groups_noaspect

  • 🟩 execution_time seen in benchmark [1.693µs; 1.715µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_match_aspect

  • 🟩 execution_time seen in benchmark [3.496µs; 3.515µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_match_noaspect

  • 🟩 execution_time seen in benchmark [1.296µs; 1.308µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_search_aspect

  • 🟩 execution_time seen in benchmark [3.386µs; 3.418µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_search_noaspect

  • 🟩 execution_time seen in benchmark [1.191µs; 1.202µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_sub_aspect

  • 🟩 execution_time seen in benchmark [4.880µs; 4.910µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_sub_noaspect

  • 🟩 execution_time seen in benchmark [1.526µs; 1.540µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_subn_aspect

  • 🟩 execution_time seen in benchmark [5.055µs; 5.088µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.500MB

iast_aspects-re_subn_noaspect

  • 🟩 execution_time seen in benchmark [1.641µs; 1.666µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-add_aspect

  • 🟩 execution_time seen in benchmark [325.755ns; 331.074ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-add_inplace_aspect

  • 🟩 execution_time seen in benchmark [333.644ns; 339.529ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-add_inplace_noaspect

  • 🟩 execution_time seen in benchmark [312.035ns; 315.508ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-add_noaspect

  • 🟩 execution_time seen in benchmark [273.919ns; 277.091ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-bytearray_aspect

  • 🟩 execution_time seen in benchmark [1.930µs; 1.947µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.589MB; 34.657MB]; SLO is < 35.000MB

iastaspects-bytearray_extend_aspect

  • 🟩 execution_time seen in benchmark [1.365µs; 1.382µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-bytearray_extend_noaspect

  • 🟩 execution_time seen in benchmark [608.308ns; 613.001ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-bytearray_noaspect

  • 🟩 execution_time seen in benchmark [480.984ns; 486.756ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-bytes_aspect

  • 🟩 execution_time seen in benchmark [1.952µs; 1.964µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-bytes_noaspect

  • 🟩 execution_time seen in benchmark [489.246ns; 493.394ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-bytesio_aspect

  • 🟩 execution_time seen in benchmark [1.981µs; 1.998µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-bytesio_noaspect

  • 🟩 execution_time seen in benchmark [494.170ns; 500.149ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.589MB; 34.657MB]; SLO is < 35.000MB

iastaspects-capitalize_aspect

  • 🟩 execution_time seen in benchmark [729.938ns; 734.196ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-capitalize_noaspect

  • 🟩 execution_time seen in benchmark [432.504ns; 435.020ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-casefold_aspect

  • 🟩 execution_time seen in benchmark [727.763ns; 734.520ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-casefold_noaspect

  • 🟩 execution_time seen in benchmark [366.249ns; 371.039ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-decode_aspect

  • 🟩 execution_time seen in benchmark [716.415ns; 721.341ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-decode_noaspect

  • 🟩 execution_time seen in benchmark [413.535ns; 417.423ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-encode_aspect

  • 🟩 execution_time seen in benchmark [702.669ns; 707.605ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-encode_noaspect

  • 🟩 execution_time seen in benchmark [397.960ns; 401.306ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-format_aspect

  • 🟩 execution_time seen in benchmark [3.461µs; 3.476µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-format_map_aspect

  • 🟩 execution_time seen in benchmark [3.706µs; 3.749µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-format_map_noaspect

  • 🟩 execution_time seen in benchmark [766.855ns; 771.567ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-format_noaspect

  • 🟩 execution_time seen in benchmark [592.775ns; 598.397ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-index_aspect

  • 🟩 execution_time seen in benchmark [337.531ns; 340.879ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-index_noaspect

  • 🟩 execution_time seen in benchmark [275.651ns; 280.032ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-join_aspect

  • 🟩 execution_time seen in benchmark [1.221µs; 1.230µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-join_noaspect

  • 🟩 execution_time seen in benchmark [486.837ns; 490.600ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-ljust_aspect

  • 🟩 execution_time seen in benchmark [10.295µs; 10.332µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [34.649MB; 34.792MB]; SLO is < 35.500MB

iastaspects-ljust_noaspect

  • 🟩 execution_time seen in benchmark [401.670ns; 405.967ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.500MB

iastaspects-lower_aspect

  • 🟩 execution_time seen in benchmark [2.229µs; 2.252µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.500MB

iastaspects-lower_noaspect

  • 🟩 execution_time seen in benchmark [368.662ns; 374.284ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-lstrip_aspect

  • 🟩 execution_time seen in benchmark [10.478µs; 10.561µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [34.784MB; 34.933MB]; SLO is < 35.500MB

iastaspects-lstrip_noaspect

  • 🟩 execution_time seen in benchmark [379.081ns; 384.135ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-modulo_aspect

  • 🟩 execution_time seen in benchmark [574.117ns; 579.949ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-modulo_aspect_for_bytearray_bytearray

  • 🟩 execution_time seen in benchmark [1.297µs; 1.320µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-modulo_aspect_for_bytes

  • 🟩 execution_time seen in benchmark [747.297ns; 753.243ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-modulo_aspect_for_bytes_bytearray

  • 🟩 execution_time seen in benchmark [953.923ns; 966.934ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-modulo_noaspect

  • 🟩 execution_time seen in benchmark [620.805ns; 626.164ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-replace_aspect

  • 🟩 execution_time seen in benchmark [4.758µs; 4.784µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.589MB; 34.657MB]; SLO is < 35.000MB

iastaspects-replace_noaspect

  • 🟩 execution_time seen in benchmark [459.000ns; 463.607ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.500MB

iastaspects-repr_aspect

  • 🟩 execution_time seen in benchmark [901.156ns; 905.419ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-repr_noaspect

  • 🟩 execution_time seen in benchmark [418.583ns; 427.452ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-rstrip_aspect

  • 🟩 execution_time seen in benchmark [10.303µs; 10.345µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [34.666MB; 34.815MB]; SLO is < 35.500MB

iastaspects-rstrip_noaspect

  • 🟩 execution_time seen in benchmark [378.991ns; 384.665ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-slice_aspect

  • 🟩 execution_time seen in benchmark [477.591ns; 482.492ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-slice_noaspect

  • 🟩 execution_time seen in benchmark [441.323ns; 446.022ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-stringio_aspect

  • 🟩 execution_time seen in benchmark [2.287µs; 2.306µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-stringio_noaspect

  • 🟩 execution_time seen in benchmark [710.051ns; 717.241ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-strip_aspect

  • 🟩 execution_time seen in benchmark [11.195µs; 11.251µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [34.666MB; 34.815MB]; SLO is < 35.500MB

iastaspects-strip_noaspect

  • 🟩 execution_time seen in benchmark [382.960ns; 389.679ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-swapcase_aspect

  • 🟩 execution_time seen in benchmark [2.427µs; 2.440µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-swapcase_noaspect

  • 🟩 execution_time seen in benchmark [538.280ns; 543.906ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-title_aspect

  • 🟩 execution_time seen in benchmark [2.376µs; 2.394µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-title_noaspect

  • 🟩 execution_time seen in benchmark [497.566ns; 501.504ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-translate_aspect

  • 🟩 execution_time seen in benchmark [3.292µs; 3.312µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-translate_noaspect

  • 🟩 execution_time seen in benchmark [1.038µs; 1.044µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-upper_aspect

  • 🟩 execution_time seen in benchmark [2.228µs; 2.244µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-upper_noaspect

  • 🟩 execution_time seen in benchmark [367.803ns; 371.251ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectsospath-ospathbasename_aspect

  • 🟩 execution_time seen in benchmark [4.289µs; 4.423µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectsospath-ospathbasename_noaspect

  • 🟩 execution_time seen in benchmark [1.082µs; 1.090µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectsospath-ospathjoin_aspect

  • 🟩 execution_time seen in benchmark [6.105µs; 6.192µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectsospath-ospathjoin_noaspect

  • 🟩 execution_time seen in benchmark [2.277µs; 2.292µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.589MB; 34.657MB]; SLO is < 35.000MB

iastaspectsospath-ospathnormcase_aspect

  • 🟩 execution_time seen in benchmark [3.497µs; 3.534µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectsospath-ospathnormcase_noaspect

  • 🟩 execution_time seen in benchmark [566.852ns; 573.833ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectsospath-ospathsplit_aspect

  • 🟩 execution_time seen in benchmark [4.820µs; 4.860µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectsospath-ospathsplit_noaspect

  • 🟩 execution_time seen in benchmark [1.588µs; 1.602µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectsospath-ospathsplitdrive_aspect

  • 🟩 execution_time seen in benchmark [3.891µs; 4.013µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectsospath-ospathsplitdrive_noaspect

  • 🟩 execution_time seen in benchmark [689.038ns; 694.036ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectsospath-ospathsplitext_aspect

  • 🟩 execution_time seen in benchmark [4.566µs; 4.598µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectsospath-ospathsplitext_noaspect

  • 🟩 execution_time seen in benchmark [1.384µs; 1.395µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectssplit-rsplit_aspect

  • 🟩 execution_time seen in benchmark [1.449µs; 1.464µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectssplit-rsplit_noaspect

  • 🟩 execution_time seen in benchmark [575.281ns; 580.205ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectssplit-split_aspect

  • 🟩 execution_time seen in benchmark [1.446µs; 1.468µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectssplit-split_noaspect

  • 🟩 execution_time seen in benchmark [568.049ns; 572.814ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectssplit-splitlines_aspect

  • 🟩 execution_time seen in benchmark [1.421µs; 1.432µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectssplit-splitlines_noaspect

  • 🟩 execution_time seen in benchmark [581.892ns; 587.127ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastpropagation-no-propagation

  • 🟩 execution_time seen in benchmark [48.709µs; 48.836µs]; SLO is < 60.000µs
  • 🟩 max_rss_usage seen in benchmark [34.596MB; 34.689MB]; SLO is < 35.500MB

iastpropagation-propagation_enabled

  • 🟩 execution_time seen in benchmark [145.035µs; 145.807µs]; SLO is < 160.000µs
  • 🟩 max_rss_usage seen in benchmark [34.606MB; 34.718MB]; SLO is < 35.500MB

iastpropagation-propagation_enabled_100

  • 🟩 execution_time seen in benchmark [1.562ms; 1.576ms]; SLO is < 1.800ms
  • 🟩 max_rss_usage seen in benchmark [34.596MB; 34.689MB]; SLO is < 35.000MB

iastpropagation-propagation_enabled_1000

  • 🟩 execution_time seen in benchmark [29.169ms; 29.306ms]; SLO is < 30.550ms
  • 🟩 max_rss_usage seen in benchmark [34.606MB; 34.718MB]; SLO is < 35.500MB

otelsdkspan-add-event

  • 🟩 execution_time seen in benchmark [40.436ms; 40.651ms]; SLO is < 42.000ms
  • 🟩 max_rss_usage seen in benchmark [31.850MB; 31.850MB]; SLO is < 35.000MB

otelsdkspan-add-link

  • 🟩 execution_time seen in benchmark [36.193ms; 36.452ms]; SLO is < 38.550ms
  • 🟩 max_rss_usage seen in benchmark [31.850MB; 31.850MB]; SLO is < 35.000MB

otelsdkspan-add-metrics

  • 🟩 execution_time seen in benchmark [217.812ms; 219.623ms]; SLO is < 232.000ms
  • 🟩 max_rss_usage seen in benchmark [31.850MB; 31.850MB]; SLO is < 35.000MB

otelsdkspan-add-tags

  • 🟩 execution_time seen in benchmark [209.876ms; 211.594ms]; SLO is < 221.600ms
  • 🟩 max_rss_usage seen in benchmark [31.850MB; 31.850MB]; SLO is < 35.000MB

otelsdkspan-get-context

  • 🟩 execution_time seen in benchmark [29.069ms; 29.284ms]; SLO is < 31.300ms
  • 🟩 max_rss_usage seen in benchmark [31.850MB; 31.850MB]; SLO is < 35.000MB

otelsdkspan-is-recording

  • 🟩 execution_time seen in benchmark [29.164ms; 29.365ms]; SLO is < 31.000ms
  • 🟩 max_rss_usage seen in benchmark [31.850MB; 31.850MB]; SLO is < 35.000MB

otelsdkspan-record-exception

  • 🟩 execution_time seen in benchmark [63.874ms; 64.139ms]; SLO is < 65.850ms
  • 🟩 max_rss_usage seen in benchmark [31.836MB; 31.904MB]; SLO is < 35.000MB

otelsdkspan-set-status

  • 🟩 execution_time seen in benchmark [31.916ms; 32.161ms]; SLO is < 34.150ms
  • 🟩 max_rss_usage seen in benchmark [31.850MB; 31.850MB]; SLO is < 35.000MB

otelsdkspan-start

  • 🟩 execution_time seen in benchmark [28.749ms; 28.978ms]; SLO is < 30.150ms
  • 🟩 max_rss_usage seen in benchmark [31.850MB; 31.850MB]; SLO is < 35.000MB

otelsdkspan-start-finish

  • 🟩 execution_time seen in benchmark [33.977ms; 34.202ms]; SLO is < 35.350ms
  • 🟩 max_rss_usage seen in benchmark [31.850MB; 31.850MB]; SLO is < 35.000MB

otelsdkspan-start-finish-telemetry

  • 🟩 execution_time seen in benchmark [33.937ms; 34.128ms]; SLO is < 35.450ms
  • 🟩 max_rss_usage seen in benchmark [31.850MB; 31.850MB]; SLO is < 35.000MB

otelsdkspan-update-name

  • 🟩 execution_time seen in benchmark [31.061ms; 31.256ms]; SLO is < 33.400ms
  • 🟩 max_rss_usage seen in benchmark [31.850MB; 31.850MB]; SLO is < 35.000MB

otelspan-add-event

  • 🟩 execution_time seen in benchmark [44.429ms; 44.589ms]; SLO is < 47.150ms
  • 🟩 max_rss_usage seen in benchmark [42.017MB; 42.113MB]; SLO is < 42.500MB

otelspan-add-metrics

  • 🟩 execution_time seen in benchmark [318.456ms; 321.410ms]; SLO is < 344.800ms
  • 🟩 max_rss_usage seen in benchmark [559.264MB; 559.264MB]; SLO is < 562.000MB

otelspan-add-tags

  • 🟩 execution_time seen in benchmark [290.754ms; 293.511ms]; SLO is < 314.000ms
  • 🟩 max_rss_usage seen in benchmark [560.284MB; 560.284MB]; SLO is < 563.500MB

otelspan-get-context

  • 🟩 execution_time seen in benchmark [84.924ms; 86.101ms]; SLO is < 92.350ms
  • 🟩 max_rss_usage seen in benchmark [37.094MB; 37.218MB]; SLO is < 38.000MB

otelspan-is-recording

  • 🟩 execution_time seen in benchmark [42.344ms; 42.568ms]; SLO is < 44.500ms
  • 🟩 max_rss_usage seen in benchmark [41.364MB; 41.505MB]; SLO is < 42.000MB

otelspan-record-exception

  • 🟩 execution_time seen in benchmark [61.018ms; 62.065ms]; SLO is < 67.650ms
  • 🟩 max_rss_usage seen in benchmark [37.478MB; 37.627MB]; SLO is < 38.000MB

otelspan-set-status

  • 🟩 execution_time seen in benchmark [48.120ms; 48.310ms]; SLO is < 50.400ms
  • 🟩 max_rss_usage seen in benchmark [41.355MB; 41.488MB]; SLO is < 42.000MB

otelspan-start

  • 🟩 execution_time seen in benchmark [41.521ms; 41.670ms]; SLO is < 43.450ms
  • 🟩 max_rss_usage seen in benchmark [41.336MB; 41.460MB]; SLO is < 42.000MB

otelspan-start-finish

  • 🟩 execution_time seen in benchmark [81.592ms; 81.848ms]; SLO is < 86.000ms
  • 🟩 max_rss_usage seen in benchmark [31.488MB; 31.623MB]; SLO is < 32.000MB

otelspan-start-finish-telemetry

  • 🟩 execution_time seen in benchmark [83.402ms; 83.602ms]; SLO is < 86.000ms
  • 🟩 max_rss_usage seen in benchmark [31.521MB; 31.669MB]; SLO is < 32.000MB

otelspan-update-name

  • 🟩 execution_time seen in benchmark [43.594ms; 43.863ms]; SLO is < 45.150ms
  • 🟩 max_rss_usage seen in benchmark [41.796MB; 41.944MB]; SLO is < 42.500MB

packagespackageforrootmodulemapping-cache_off

  • 🟩 execution_time seen in benchmark [342.503ms; 343.460ms]; SLO is < 354.300ms
  • 🟩 max_rss_usage seen in benchmark [35.826MB; 35.905MB]; SLO is < 38.000MB

packagespackageforrootmodulemapping-cache_on

  • 🟩 execution_time seen in benchmark [385.265ns; 390.377ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.652MB; 34.703MB]; SLO is < 38.000MB

packagesupdateimporteddependencies-import_many

  • 🟩 execution_time seen in benchmark [154.498µs; 155.310µs]; SLO is < 170.000µs
  • 🟩 max_rss_usage seen in benchmark [34.425MB; 34.501MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_many_cached

  • 🟩 execution_time seen in benchmark [121.302µs; 122.196µs]; SLO is < 130.000µs
  • 🟩 max_rss_usage seen in benchmark [34.396MB; 34.472MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_many_stdlib

  • 🟩 execution_time seen in benchmark [1.609ms; 1.631ms]; SLO is < 1.750ms
  • 🟩 max_rss_usage seen in benchmark [34.515MB; 34.600MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_many_stdlib_cached

  • 🟩 execution_time seen in benchmark [955.479µs; 975.809µs]; SLO is < 1.100ms
  • 🟩 max_rss_usage seen in benchmark [34.547MB; 34.630MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_many_unknown

  • 🟩 execution_time seen in benchmark [827.603µs; 833.909µs]; SLO is < 890.000µs
  • 🟩 max_rss_usage seen in benchmark [34.505MB; 34.590MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_many_unknown_cached

  • 🟩 execution_time seen in benchmark [793.206µs; 801.161µs]; SLO is < 870.000µs
  • 🟩 max_rss_usage seen in benchmark [34.515MB; 34.584MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_one

  • 🟩 execution_time seen in benchmark [19.683µs; 19.834µs]; SLO is < 30.000µs
  • 🟩 max_rss_usage seen in benchmark [34.116MB; 34.176MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_one_cache

  • 🟩 execution_time seen in benchmark [6.288µs; 6.352µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.400MB; 34.442MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_one_stdlib

  • 🟩 execution_time seen in benchmark [18.606µs; 18.732µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [34.407MB; 34.445MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_one_stdlib_cache

  • 🟩 execution_time seen in benchmark [6.345µs; 6.410µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.330MB; 34.426MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_one_unknown

  • 🟩 execution_time seen in benchmark [45.132µs; 45.376µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [34.039MB; 34.098MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_one_unknown_cache

  • 🟩 execution_time seen in benchmark [6.375µs; 6.462µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.386MB; 34.442MB]; SLO is < 35.500MB

ratelimiter-defaults

  • 🟩 execution_time seen in benchmark [2.371µs; 2.383µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [28.705MB; 28.705MB]; SLO is < 31.000MB

ratelimiter-high_rate_limit

  • 🟩 execution_time seen in benchmark [2.418µs; 2.437µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [28.697MB; 28.791MB]; SLO is < 31.000MB

ratelimiter-long_window

  • 🟩 execution_time seen in benchmark [2.369µs; 2.384µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [28.690MB; 28.758MB]; SLO is < 31.000MB

ratelimiter-low_rate_limit

  • 🟩 execution_time seen in benchmark [2.384µs; 2.403µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [28.665MB; 28.784MB]; SLO is < 31.000MB

ratelimiter-no_rate_limit

  • 🟩 execution_time seen in benchmark [827.631ns; 837.127ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [28.705MB; 28.705MB]; SLO is < 31.000MB

ratelimiter-short_window

  • 🟩 execution_time seen in benchmark [2.477µs; 2.493µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [28.705MB; 28.705MB]; SLO is < 31.000MB

recursivecomputation-deep

  • 🟩 execution_time seen in benchmark [309.846ms; 310.542ms]; SLO is < 320.950ms
  • 🟩 max_rss_usage seen in benchmark [30.278MB; 30.278MB]; SLO is < 31.000MB

recursivecomputation-deep-profiled

  • 🟩 execution_time seen in benchmark [343.536ms; 344.395ms]; SLO is < 359.150ms
  • 🟩 max_rss_usage seen in benchmark [34.455MB; 34.633MB]; SLO is < 35.500MB

recursivecomputation-medium

  • 🟩 execution_time seen in benchmark [7.085ms; 7.108ms]; SLO is < 7.400ms
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

recursivecomputation-shallow

  • 🟩 execution_time seen in benchmark [956.650µs; 962.695µs]; SLO is < 1.050ms
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

samplingrules-average_match

  • 🟩 execution_time seen in benchmark [331.692µs; 333.553µs]; SLO is < 350.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

samplingrules-high_match

  • 🟩 execution_time seen in benchmark [500.108µs; 503.474µs]; SLO is < 550.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

samplingrules-low_match

  • 🟩 execution_time seen in benchmark [168.479µs; 169.535µs]; SLO is < 190.000µs
  • 🟩 max_rss_usage seen in benchmark [431.402MB; 431.449MB]; SLO is < 432.500MB

samplingrules-very_low_match

  • 🟩 execution_time seen in benchmark [8.571ms; 8.605ms]; SLO is < 9.150ms
  • 🟩 max_rss_usage seen in benchmark [54.891MB; 54.932MB]; SLO is < 55.000MB

sethttpmeta-all-disabled

  • 🟩 execution_time seen in benchmark [12.251µs; 12.335µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.477MB; 29.545MB]; SLO is < 31.000MB

sethttpmeta-all-enabled

  • 🟩 execution_time seen in benchmark [42.230µs; 42.441µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [29.507MB; 29.632MB]; SLO is < 31.000MB

sethttpmeta-collectipvariant_exists

  • 🟩 execution_time seen in benchmark [42.818µs; 42.991µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [29.484MB; 29.577MB]; SLO is < 31.000MB

sethttpmeta-no-collectipvariant

  • 🟩 execution_time seen in benchmark [42.002µs; 42.219µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [29.494MB; 29.606MB]; SLO is < 31.000MB

sethttpmeta-no-useragentvariant

  • 🟩 execution_time seen in benchmark [40.803µs; 40.956µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [29.477MB; 29.545MB]; SLO is < 31.000MB

sethttpmeta-obfuscation-no-query

  • 🟩 execution_time seen in benchmark [42.457µs; 42.618µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [29.484MB; 29.577MB]; SLO is < 31.000MB

sethttpmeta-obfuscation-regular-case-explicit-query

  • 🟩 execution_time seen in benchmark [78.940µs; 79.268µs]; SLO is < 90.000µs
  • 🟩 max_rss_usage seen in benchmark [29.877MB; 29.971MB]; SLO is < 31.000MB

sethttpmeta-obfuscation-regular-case-implicit-query

  • 🟩 execution_time seen in benchmark [79.671µs; 79.992µs]; SLO is < 90.000µs
  • 🟩 max_rss_usage seen in benchmark [29.870MB; 29.938MB]; SLO is < 31.000MB

sethttpmeta-obfuscation-send-querystring-disabled

  • 🟩 execution_time seen in benchmark [157.016µs; 157.288µs]; SLO is < 170.000µs
  • 🟩 max_rss_usage seen in benchmark [29.870MB; 29.938MB]; SLO is < 31.000MB

sethttpmeta-obfuscation-worst-case-explicit-query

  • 🟩 execution_time seen in benchmark [151.362µs; 151.695µs]; SLO is < 160.000µs
  • 🟩 max_rss_usage seen in benchmark [29.884MB; 29.884MB]; SLO is < 31.000MB

sethttpmeta-obfuscation-worst-case-implicit-query

  • 🟩 execution_time seen in benchmark [157.622µs; 157.847µs]; SLO is < 170.000µs
  • 🟩 max_rss_usage seen in benchmark [29.884MB; 29.884MB]; SLO is < 31.000MB

sethttpmeta-useragentvariant_exists_1

  • 🟩 execution_time seen in benchmark [41.701µs; 41.935µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [29.484MB; 29.577MB]; SLO is < 31.000MB

sethttpmeta-useragentvariant_exists_2

  • 🟩 execution_time seen in benchmark [42.629µs; 42.796µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [29.477MB; 29.545MB]; SLO is < 31.000MB

sethttpmeta-useragentvariant_exists_3

  • 🟩 execution_time seen in benchmark [42.058µs; 42.367µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [29.494MB; 29.606MB]; SLO is < 31.000MB

sethttpmeta-useragentvariant_not_exists_1

  • 🟩 execution_time seen in benchmark [41.394µs; 41.566µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [29.491MB; 29.491MB]; SLO is < 31.000MB

sethttpmeta-useragentvariant_not_exists_2

  • 🟩 execution_time seen in benchmark [41.587µs; 41.772µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [29.484MB; 29.577MB]; SLO is < 31.000MB

span-add-event

  • 🟩 execution_time seen in benchmark [23.238ms; 23.717ms]; SLO is < 26.200ms
  • 🟩 max_rss_usage seen in benchmark [48.487MB; 48.491MB]; SLO is < 49.000MB

span-add-metrics

  • 🟩 execution_time seen in benchmark [90.342ms; 91.552ms]; SLO is < 98.350ms
  • 🟩 max_rss_usage seen in benchmark [614.746MB; 614.816MB]; SLO is < 961.000MB

span-add-tags

  • 🟩 execution_time seen in benchmark [148.777ms; 150.723ms]; SLO is < 168.550ms
  • 🟩 max_rss_usage seen in benchmark [613.975MB; 614.121MB]; SLO is < 962.500MB

span-get-context

  • 🟩 execution_time seen in benchmark [21.877ms; 22.178ms]; SLO is < 23.700ms
  • 🟩 max_rss_usage seen in benchmark [47.296MB; 47.315MB]; SLO is < 47.500MB

span-is-recording

  • 🟩 execution_time seen in benchmark [21.942ms; 22.344ms]; SLO is < 23.900ms
  • 🟩 max_rss_usage seen in benchmark [47.272MB; 47.300MB]; SLO is < 47.500MB

span-record-exception

  • 🟩 execution_time seen in benchmark [41.716ms; 41.901ms]; SLO is < 44.500ms
  • 🟩 max_rss_usage seen in benchmark [40.331MB; 40.333MB]; SLO is < 40.500MB

span-set-status

  • 🟩 execution_time seen in benchmark [23.701ms; 24.090ms]; SLO is < 26.000ms
  • 🟩 max_rss_usage seen in benchmark [47.269MB; 47.308MB]; SLO is < 47.500MB

span-start

  • 🟩 execution_time seen in benchmark [21.546ms; 21.920ms]; SLO is < 23.500ms
  • 🟩 max_rss_usage seen in benchmark [47.280MB; 47.305MB]; SLO is < 47.500MB

span-start-finish

  • 🟩 execution_time seen in benchmark [50.842ms; 51.264ms]; SLO is < 52.500ms
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

span-start-finish-telemetry

  • 🟩 execution_time seen in benchmark [52.554ms; 52.874ms]; SLO is < 55.300ms
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

span-start-finish-traceid128

  • 🟩 execution_time seen in benchmark [54.297ms; 54.526ms]; SLO is < 56.050ms
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

span-start-traceid128

  • 🟩 execution_time seen in benchmark [22.060ms; 22.432ms]; SLO is < 24.600ms
  • 🟩 max_rss_usage seen in benchmark [47.297MB; 47.320MB]; SLO is < 47.500MB

span-update-name

  • 🟩 execution_time seen in benchmark [22.481ms; 22.846ms]; SLO is < 24.100ms
  • 🟩 max_rss_usage seen in benchmark [47.805MB; 47.808MB]; SLO is < 48.000MB

telemetryaddmetric-1-count-metric-1-times

  • 🟩 execution_time seen in benchmark [3.279µs; 3.328µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

telemetryaddmetric-1-count-metrics-100-times

  • 🟩 execution_time seen in benchmark [216.129µs; 217.351µs]; SLO is < 240.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

telemetryaddmetric-1-distribution-metric-1-times

  • 🟩 execution_time seen in benchmark [2.944µs; 2.956µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

telemetryaddmetric-1-distribution-metrics-100-times

  • 🟩 execution_time seen in benchmark [191.494µs; 192.405µs]; SLO is < 210.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

telemetryaddmetric-1-gauge-metric-1-times

  • 🟩 execution_time seen in benchmark [2.182µs; 2.217µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

telemetryaddmetric-1-gauge-metrics-100-times

  • 🟩 execution_time seen in benchmark [124.736µs; 125.292µs]; SLO is < 140.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

telemetryaddmetric-1-rate-metric-1-times

  • 🟩 execution_time seen in benchmark [3.234µs; 3.280µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

telemetryaddmetric-1-rate-metrics-100-times

  • 🟩 execution_time seen in benchmark [214.754µs; 215.845µs]; SLO is < 230.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

telemetryaddmetric-100-count-metrics-100-times

  • 🟩 execution_time seen in benchmark [21.511ms; 21.600ms]; SLO is < 22.500ms
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

telemetryaddmetric-100-distribution-metrics-100-times

  • 🟩 execution_time seen in benchmark [1.981ms; 1.998ms]; SLO is < 2.100ms
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

telemetryaddmetric-100-gauge-metrics-100-times

  • 🟩 execution_time seen in benchmark [1.283ms; 1.290ms]; SLO is < 1.400ms
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

telemetryaddmetric-100-rate-metrics-100-times

  • 🟩 execution_time seen in benchmark [2.214ms; 2.223ms]; SLO is < 2.400ms
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

telemetryaddmetric-flush-1-metric

  • 🟩 execution_time seen in benchmark [4.131µs; 4.174µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

telemetryaddmetric-flush-100-metrics

  • 🟩 execution_time seen in benchmark [179.186µs; 180.125µs]; SLO is < 200.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

telemetryaddmetric-flush-1000-metrics

  • 🟩 execution_time seen in benchmark [2.175ms; 2.184ms]; SLO is < 2.350ms
  • 🟩 max_rss_usage seen in benchmark [30.278MB; 30.278MB]; SLO is < 31.000MB

tracer-large

  • 🟩 execution_time seen in benchmark [30.566ms; 30.894ms]; SLO is < 32.950ms
  • 🟩 max_rss_usage seen in benchmark [30.278MB; 30.278MB]; SLO is < 31.000MB

tracer-medium

  • 🟩 execution_time seen in benchmark [3.010ms; 3.035ms]; SLO is < 3.200ms
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

tracer-small

  • 🟩 execution_time seen in benchmark [341.926µs; 343.584µs]; SLO is < 370.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

Legend:

  • 🟩 pass
  • 🟥 breach
  • 🟨 warning
  • (unstable) unstable

Note: All comparisons are against the mean unless a different statistic (e.g., p95) is explicitly shown.

@Yun-Kim Yun-Kim enabled auto-merge (squash) July 18, 2025 13:32
@Yun-Kim Yun-Kim merged commit c28da61 into main Jul 18, 2025
468 checks passed
@Yun-Kim Yun-Kim deleted the yunkim/dne-submit-experiment-spans branch July 18, 2025 14:22
alyshawang pushed a commit that referenced this pull request Jul 25, 2025
[MLOB-3298]

This PR adds support for:
1. Annotating experiment  spans with `expected_output`
2. Submitting experiment spans/traces to the LLMObs experiment scope.

Notes:
- I/O for experiment spans currently are annotated the same way as
regular LLMObs spans, i.e. `meta.input.value` and `meta.output.value`.
It looks like experiments use just `meta.input/output`. This shouldn't
be blocking for now but should be followed up on.
- We are currently using context baggage to determine when a span is
considered an experiment span. We might want to follow the classic span
store/request header pattern in the future.

## Checklist
- [x] 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](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
- The change includes or references documentation updates if necessary
- Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))

## Reviewer Checklist
- [x] 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](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
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](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)


[MLOB-3298]:
https://datadoghq.atlassian.net/browse/MLOB-3298?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
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.

2 participants