Skip to content

Conversation

brettlangdon
Copy link
Member

@brettlangdon brettlangdon commented Jul 16, 2025

Avoiding accessing the Span.trace_id_64bits computed per-span, when the value is the same for every encoded trace.

This change accesses the trace id once and passes along to every pack_span call.

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

@brettlangdon brettlangdon requested a review from a team as a code owner July 16, 2025 19:38
@brettlangdon brettlangdon requested a review from juanjux July 16, 2025 19:38
@brettlangdon brettlangdon added the changelog/no-changelog A changelog entry is not required for this PR. label Jul 16, 2025
Copy link
Contributor

github-actions bot commented Jul 16, 2025

CODEOWNERS have been resolved as:

ddtrace/internal/_encoding.pyx                                          @DataDog/apm-core-python
tests/tracer/test_encoders.py                                           @DataDog/apm-sdk-api-python

@brettlangdon brettlangdon marked this pull request as draft July 16, 2025 19:46
Copy link
Contributor

github-actions bot commented Jul 16, 2025

Bootstrap import analysis

Comparison of import times between this PR and base.

Summary

The average import time from this PR is: 274 ± 2 ms.

The average import time from base is: 276 ± 2 ms.

The import time difference between this PR and base is: -2.2 ± 0.08 ms.

Import time breakdown

The following import paths have shrunk:

ddtrace.auto 2.012 ms (0.74%)
ddtrace.bootstrap.sitecustomize 1.337 ms (0.49%)
ddtrace.bootstrap.preload 1.337 ms (0.49%)
ddtrace.internal.remoteconfig.client 0.643 ms (0.24%)
ddtrace 0.675 ms (0.25%)
ddtrace.internal._unpatched 0.030 ms (0.01%)
json 0.030 ms (0.01%)
json.decoder 0.030 ms (0.01%)
re 0.030 ms (0.01%)
enum 0.030 ms (0.01%)
types 0.030 ms (0.01%)

Kyle-Verhoog and others added 10 commits July 17, 2025 19:51
Adds support for modifying and deleting dataset record rows.
Some threats tests were run multiple times due to useless additional
matrices in riot definition.

## 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)
We were using manual reject and keep for traces without security event
in standalone appsec mode.
This was not a bug, but to align with other tracers, this PR now is
using auto reject and keep instead.

related to DataDog/system-tests#4957

APPSEC-57830

## 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)
…un (#14036)

In the past, `freezegun` would cause span durations and telemetry data
to be wrongly computed due to the patching of functions imported from
the `time` module. PR #11406 introduced a `freezegun` integration that
modified `freezegun`'s list of ignored modules to include `ddtrace`. The
problem with this approach is that `freezegun` looks up the whole call
stack to check if it's being called from an ignored module, which means
that anything that is wrapped by a `ddtrace` function ends up being
ignored as well, including our own `unittest` wrappers.

This PR introduces a `Time` class that saves references to the builtin
time functions that won't be touched by `freezegun`, and changes the
methods used by spans and telemetry to use time functions from that
class. In this way, those methods are protected from the effects of
`freezegun` even if the integration is not enabled.

In a subsequent PR (#14037), the integration will be removed, thus
solving the problem with `unittest`.

## 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)
This change attempts to validate that setting a tag on the current span
is an operation supported by the ddtrace_api integration.

## 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)
Remove potentially sensitive i/o data from apm spans. This way, prompt
and completion data will only appear on the llm obs spans, which
are/will be subject to data access controls.

Mostly, this just removes io tag sets. A few things (mostly metrics)
have llmobs tags dependent on span tags, so there is a bit more
refactoring there.

Let me know if I removed anything that should really stay, or if I
missed something that should be restricted.

This one does a lot that the others don't. I've left things like audio
transcript and image/file retrieval that we don't duplicate.

## 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)

---------

Co-authored-by: Yun Kim <[email protected]>
PR #14036 made the tracer
report correct span durations in the presence of ddtrace even without
this integration, so it can be deprecated (and fully removed in the next
major version). This fixes the issues with freezegun ignoring calls from
functions wrapped by ddtrace, such as unittest wrappers.

## 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)
The main reasoning behind this PR was to check whether we have any stale
packages that results in flaky test_gunicorn.py in
.riot/requirements/1eded52.txt suite. gevent and gunicorn are up to date
on it, but I guess this can still be checked in.

## 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)
@pr-commenter
Copy link

pr-commenter bot commented Jul 18, 2025

Performance SLOs

Performance SLOs

Benchmark execution time: 2025-07-18 11:19:22

Comparing candidate commit c12ac43 in branch LANGPLAT-642/trace_id_64bits with performance thresholds.

coreapiscenario-context_with_data_listeners

  • (unstable) execution_time seen in benchmark [14.089µs; 15.189µ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.644µs; 4.686µ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.109µs; 15.210µ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 [683.577ns; 689.003ns]; 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 [729.521ns; 738.332ns]; 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.101µs; 28.189µ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.527ms; 21.619ms]; SLO is < 22.300ms
  • 🟩 max_rss_usage seen in benchmark [63.717MB; 63.842MB]; SLO is < 65.500MB

djangosimple-exception-replay-enabled

  • 🟩 execution_time seen in benchmark [1.375ms; 1.377ms]; SLO is < 1.450ms
  • 🟩 max_rss_usage seen in benchmark [63.594MB; 63.730MB]; SLO is < 65.500MB

djangosimple-iast

  • 🟩 execution_time seen in benchmark [21.567ms; 21.631ms]; SLO is < 22.250ms
  • 🟩 max_rss_usage seen in benchmark [63.717MB; 63.842MB]; SLO is < 65.500MB

djangosimple-profiler

  • 🟩 execution_time seen in benchmark [15.845ms; 15.912ms]; SLO is < 16.550ms
  • 🟩 max_rss_usage seen in benchmark [50.692MB; 50.804MB]; SLO is < 53.000MB

djangosimple-span-code-origin

  • 🟩 execution_time seen in benchmark [27.281ms; 27.407ms]; SLO is < 28.200ms
  • 🟩 max_rss_usage seen in benchmark [65.984MB; 66.114MB]; SLO is < 68.000MB

djangosimple-tracer

  • 🟩 execution_time seen in benchmark [21.533ms; 21.608ms]; SLO is < 22.700ms
  • 🟩 max_rss_usage seen in benchmark [63.694MB; 63.787MB]; SLO is < 65.500MB

djangosimple-tracer-and-profiler

  • 🟩 execution_time seen in benchmark [23.966ms; 24.043ms]; SLO is < 24.900ms
  • 🟩 max_rss_usage seen in benchmark [65.164MB; 65.384MB]; SLO is < 67.000MB

djangosimple-tracer-no-caches

  • 🟩 execution_time seen in benchmark [19.007ms; 19.062ms]; SLO is < 19.650ms
  • 🟩 max_rss_usage seen in benchmark [63.732MB; 63.867MB]; SLO is < 65.500MB

djangosimple-tracer-no-databases

  • 🟩 execution_time seen in benchmark [19.333ms; 19.422ms]; SLO is < 20.100ms
  • 🟩 max_rss_usage seen in benchmark [63.686MB; 63.834MB]; SLO is < 65.500MB

djangosimple-tracer-no-middleware

  • 🟩 execution_time seen in benchmark [21.298ms; 21.381ms]; SLO is < 22.500ms
  • 🟩 max_rss_usage seen in benchmark [63.700MB; 63.859MB]; SLO is < 65.500MB

djangosimple-tracer-no-templates

  • 🟩 execution_time seen in benchmark [21.384ms; 21.446ms]; SLO is < 22.250ms
  • 🟩 max_rss_usage seen in benchmark [63.687MB; 63.755MB]; SLO is < 65.500MB

errortrackingdjangosimple-errortracking-enabled-all

  • 🟩 execution_time seen in benchmark [18.652ms; 18.748ms]; SLO is < 19.850ms
  • 🟩 max_rss_usage seen in benchmark [63.764MB; 63.913MB]; SLO is < 65.500MB

errortrackingdjangosimple-errortracking-enabled-user

  • 🟩 execution_time seen in benchmark [18.546ms; 18.614ms]; SLO is < 19.400ms
  • 🟩 max_rss_usage seen in benchmark [63.782MB; 63.935MB]; SLO is < 65.500MB

errortrackingdjangosimple-tracer-enabled

  • 🟩 execution_time seen in benchmark [18.648ms; 18.761ms]; SLO is < 19.450ms
  • 🟩 max_rss_usage seen in benchmark [63.695MB; 63.820MB]; SLO is < 65.500MB

errortrackingflasksqli-errortracking-enabled-all

  • 🟩 execution_time seen in benchmark [2.155ms; 2.163ms]; SLO is < 2.300ms
  • 🟩 max_rss_usage seen in benchmark [51.293MB; 51.493MB]; SLO is < 53.000MB

errortrackingflasksqli-errortracking-enabled-user

  • 🟩 execution_time seen in benchmark [2.157ms; 2.164ms]; SLO is < 2.250ms
  • 🟩 max_rss_usage seen in benchmark [51.739MB; 51.874MB]; SLO is < 53.000MB

errortrackingflasksqli-tracer-enabled

  • 🟩 execution_time seen in benchmark [2.152ms; 2.161ms]; SLO is < 2.300ms
  • 🟩 max_rss_usage seen in benchmark [51.237MB; 51.392MB]; SLO is < 53.000MB

flasksimple-appsec-get

  • 🟩 execution_time seen in benchmark [4.653ms; 4.664ms]; SLO is < 4.750ms
  • 🟩 max_rss_usage seen in benchmark [63.069MB; 63.190MB]; SLO is < 64.000MB

flasksimple-appsec-post

  • 🟩 execution_time seen in benchmark [6.662ms; 6.674ms]; SLO is < 6.750ms
  • 🟩 max_rss_usage seen in benchmark [63.067MB; 63.194MB]; SLO is < 64.000MB

flasksimple-appsec-telemetry

  • 🟩 execution_time seen in benchmark [4.652ms; 4.663ms]; SLO is < 4.750ms
  • 🟩 max_rss_usage seen in benchmark [63.067MB; 63.193MB]; SLO is < 64.000MB

flasksimple-debugger

  • 🟩 execution_time seen in benchmark [1.848ms; 1.851ms]; 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.859ms; 1.862ms]; SLO is < 2.000ms
  • 🟩 max_rss_usage seen in benchmark [44.396MB; 44.490MB]; SLO is < 45.000MB

flasksimple-profiler

  • 🟩 execution_time seen in benchmark [1.975ms; 1.979ms]; SLO is < 2.100ms
  • 🟩 max_rss_usage seen in benchmark [43.285MB; 43.420MB]; SLO is < 44.000MB

flasksimple-tracer

  • 🟩 execution_time seen in benchmark [3.423ms; 3.430ms]; SLO is < 3.650ms
  • 🟩 max_rss_usage seen in benchmark [51.397MB; 51.508MB]; SLO is < 53.000MB

flasksqli-appsec-enabled

  • 🟩 execution_time seen in benchmark [4.009ms; 4.020ms]; SLO is < 4.200ms
  • 🟩 max_rss_usage seen in benchmark [63.535MB; 63.670MB]; SLO is < 66.000MB

flasksqli-iast-enabled

  • 🟩 execution_time seen in benchmark [2.593ms; 2.617ms]; SLO is < 2.800ms
  • 🟩 max_rss_usage seen in benchmark [56.434MB; 56.577MB]; SLO is < 58.000MB

flasksqli-tracer-enabled

  • 🟩 execution_time seen in benchmark [2.140ms; 2.145ms]; SLO is < 2.250ms
  • 🟩 max_rss_usage seen in benchmark [51.299MB; 51.448MB]; SLO is < 53.000MB

httppropagationextract-all_styles_all_headers

  • 🟩 execution_time seen in benchmark [61.338µs; 61.733µs]; SLO is < 70.000µs
  • 🟩 max_rss_usage seen in benchmark [29.091MB; 29.184MB]; SLO is < 31.000MB

httppropagationextract-b3_headers

  • 🟩 execution_time seen in benchmark [10.023µs; 10.091µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.129MB; 29.264MB]; SLO is < 31.000MB

httppropagationextract-b3_single_headers

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

httppropagationextract-datadog_tracecontext_tracestate_not_propagated_on_trace_id_no_match

  • 🟩 execution_time seen in benchmark [53.474µs; 53.906µs]; SLO is < 60.000µs
  • 🟩 max_rss_usage seen in benchmark [29.084MB; 29.152MB]; SLO is < 31.000MB

httppropagationextract-datadog_tracecontext_tracestate_propagated_on_trace_id_match

  • 🟩 execution_time seen in benchmark [54.741µs; 55.222µs]; SLO is < 60.000µs
  • 🟩 max_rss_usage seen in benchmark [29.084MB; 29.152MB]; SLO is < 31.000MB

httppropagationextract-empty_headers

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

httppropagationextract-full_t_id_datadog_headers

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

httppropagationextract-invalid_priority_header

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

httppropagationextract-invalid_span_id_header

  • 🟩 execution_time seen in benchmark [6.526µs; 6.561µ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.522µs; 6.558µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.098MB; 29.098MB]; SLO is < 31.000MB

httppropagationextract-invalid_trace_id_header

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

httppropagationextract-large_header_no_matches

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

httppropagationextract-large_valid_headers_all

  • 🟩 execution_time seen in benchmark [28.741µs; 28.879µs]; SLO is < 40.000µs
  • 🟩 max_rss_usage seen in benchmark [29.084MB; 29.152MB]; SLO is < 31.000MB

httppropagationextract-medium_header_no_matches

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

httppropagationextract-medium_valid_headers_all

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

httppropagationextract-none_propagation_style

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

httppropagationextract-tracecontext_headers

  • 🟩 execution_time seen in benchmark [27.306µs; 27.467µ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.522µs; 6.553µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.084MB; 29.152MB]; SLO is < 31.000MB

httppropagationextract-valid_headers_basic

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

httppropagationextract-wsgi_empty_headers

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

httppropagationextract-wsgi_invalid_priority_header

  • 🟩 execution_time seen in benchmark [6.597µs; 6.639µ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.590µs; 1.602µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.084MB; 29.152MB]; SLO is < 31.000MB

httppropagationextract-wsgi_invalid_tags_header

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

httppropagationextract-wsgi_invalid_trace_id_header

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

httppropagationextract-wsgi_large_header_no_matches

  • 🟩 execution_time seen in benchmark [28.684µs; 28.810µ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.802µs; 29.916µs]; SLO is < 40.000µs
  • 🟩 max_rss_usage seen in benchmark [29.101MB; 29.213MB]; SLO is < 31.000MB

httppropagationextract-wsgi_medium_header_no_matches

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

httppropagationextract-wsgi_medium_valid_headers_all

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

httppropagationextract-wsgi_valid_headers_all

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

httppropagationextract-wsgi_valid_headers_basic

  • 🟩 execution_time seen in benchmark [6.093µs; 6.129µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.129MB; 29.264MB]; SLO is < 31.000MB

httppropagationinject-ids_only

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

httppropagationinject-with_all

  • 🟩 execution_time seen in benchmark [24.483µs; 24.710µ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 [17.023µs; 17.161µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [29.101MB; 29.213MB]; SLO is < 31.000MB

httppropagationinject-with_priority_and_origin

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

httppropagationinject-with_sampling_priority

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

httppropagationinject-with_tags

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

httppropagationinject-with_tags_invalid

  • 🟩 execution_time seen in benchmark [20.843µs; 21.021µ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 [18.653µs; 18.831µs]; SLO is < 30.000µs
  • 🟩 max_rss_usage seen in benchmark [29.084MB; 29.152MB]; SLO is < 31.000MB

iast_aspects-re_expand_aspect

  • 🟩 execution_time seen in benchmark [33.257µs; 33.486µ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.398µs; 28.665µ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.834µs; 3.869µ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.411µ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.268µs; 5.307µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_finditer_noaspect

  • 🟩 execution_time seen in benchmark [1.411µs; 1.420µ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.467µs; 3.489µ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.282µs; 1.293µ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.581µs; 3.624µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iast_aspects-re_group_noaspect

  • 🟩 execution_time seen in benchmark [1.616µs; 1.641µ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.681µs; 3.705µ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.701µs; 1.722µ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.475µs; 3.504µ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.304µs; 1.318µ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.385µs; 3.406µ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.186µs; 1.196µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.549MB; 34.617MB]; SLO is < 35.000MB

iast_aspects-re_sub_aspect

  • 🟩 execution_time seen in benchmark [4.879µs; 4.917µ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.546µs; 1.567µ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.073µs; 5.110µ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.621µs; 1.646µ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 [327.321ns; 334.405ns]; 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 [329.463ns; 334.428ns]; 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.330ns; 316.020ns]; 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 [274.705ns; 277.358ns]; 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.942µs; 1.958µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-bytearray_extend_aspect

  • 🟩 execution_time seen in benchmark [1.374µs; 1.387µ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 [605.789ns; 610.486ns]; 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 [476.125ns; 479.310ns]; 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.937µs; 1.952µ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 [492.872ns; 497.579ns]; 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.984µ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 [492.808ns; 497.602ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspects-capitalize_aspect

  • 🟩 execution_time seen in benchmark [728.668ns; 734.806ns]; 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 [429.092ns; 433.287ns]; 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 [732.089ns; 738.834ns]; 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 [365.996ns; 369.773ns]; 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 [720.845ns; 726.945ns]; 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 [415.380ns; 421.307ns]; 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 [707.439ns; 713.284ns]; 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 [400.777ns; 403.301ns]; 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.436µs; 3.456µ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.205µs; 3.230µ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 [768.787ns; 774.307ns]; 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 [591.775ns; 598.711ns]; 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 [340.844ns; 345.466ns]; 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 [274.937ns; 277.923ns]; 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.222µs; 1.231µ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 [489.385ns; 493.782ns]; 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.294µs; 10.339µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [34.589MB; 34.657MB]; SLO is < 35.500MB

iastaspects-ljust_noaspect

  • 🟩 execution_time seen in benchmark [400.408ns; 405.190ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.589MB; 34.657MB]; SLO is < 35.500MB

iastaspects-lower_aspect

  • 🟩 execution_time seen in benchmark [2.207µs; 2.223µ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 [362.317ns; 365.353ns]; 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.415µs; 10.462µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [34.589MB; 34.657MB]; SLO is < 35.500MB

iastaspects-lstrip_noaspect

  • 🟩 execution_time seen in benchmark [379.592ns; 382.406ns]; 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 [575.161ns; 580.545ns]; 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.241µs; 1.248µ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 [751.015ns; 757.544ns]; 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 [950.522ns; 961.269ns]; 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 [623.796ns; 629.674ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.589MB; 34.657MB]; SLO is < 35.000MB

iastaspects-replace_aspect

  • 🟩 execution_time seen in benchmark [4.737µs; 4.776µ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 [460.114ns; 464.640ns]; 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 [905.946ns; 913.215ns]; 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 [415.538ns; 421.758ns]; 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.310µs; 10.353µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [34.634MB; 34.769MB]; SLO is < 35.500MB

iastaspects-rstrip_noaspect

  • 🟩 execution_time seen in benchmark [376.394ns; 380.727ns]; 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 [481.319ns; 486.907ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.589MB; 34.657MB]; SLO is < 35.000MB

iastaspects-slice_noaspect

  • 🟩 execution_time seen in benchmark [441.150ns; 444.479ns]; 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.292µs; 2.309µ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 [709.426ns; 715.706ns]; 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 [10.423µs; 10.463µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [34.596MB; 34.689MB]; SLO is < 35.500MB

iastaspects-strip_noaspect

  • 🟩 execution_time seen in benchmark [382.857ns; 387.814ns]; 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.436µs; 2.452µ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 [533.077ns; 538.739ns]; 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.380µs; 2.399µ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 [498.301ns; 503.679ns]; 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.297µs; 3.319µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.549MB; 34.617MB]; SLO is < 35.000MB

iastaspects-translate_noaspect

  • 🟩 execution_time seen in benchmark [1.045µs; 1.053µ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.214µs; 2.232µ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.005ns; 371.397ns]; 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.295µs; 4.329µ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.078µs; 1.087µ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.139µs; 6.175µ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.292µs; 2.310µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.000MB

iastaspectsospath-ospathnormcase_aspect

  • 🟩 execution_time seen in benchmark [3.536µs; 3.560µ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 [563.801ns; 569.294ns]; 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.954µs; 5.058µ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.599µs; 1.614µ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.705µs; 3.764µ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 [690.036ns; 695.594ns]; 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.577µs; 4.659µ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.392µs; 1.400µ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.459µs; 1.479µ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.950ns; 582.360ns]; 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.447µs; 1.457µ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 [565.771ns; 568.855ns]; 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.413µs; 1.428µ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 [577.099ns; 580.135ns]; 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.763µs; 48.919µs]; SLO is < 60.000µs
  • 🟩 max_rss_usage seen in benchmark [34.603MB; 34.603MB]; SLO is < 35.500MB

iastpropagation-propagation_enabled

  • 🟩 execution_time seen in benchmark [146.431µs; 147.469µs]; SLO is < 160.000µs
  • 🟩 max_rss_usage seen in benchmark [34.549MB; 34.617MB]; SLO is < 35.500MB

iastpropagation-propagation_enabled_100

  • 🟩 execution_time seen in benchmark [1.562ms; 1.581ms]; SLO is < 1.800ms
  • 🟩 max_rss_usage seen in benchmark [34.589MB; 34.657MB]; SLO is < 35.000MB

iastpropagation-propagation_enabled_1000

  • 🟩 execution_time seen in benchmark [29.828ms; 29.951ms]; 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.695ms; 40.870ms]; 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.442ms; 36.628ms]; 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 [216.484ms; 218.117ms]; 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 [210.821ms; 212.367ms]; SLO is < 221.600ms
  • 🟩 max_rss_usage seen in benchmark [31.836MB; 31.904MB]; SLO is < 35.000MB

otelsdkspan-get-context

  • 🟩 execution_time seen in benchmark [29.034ms; 29.267ms]; SLO is < 31.300ms
  • 🟩 max_rss_usage seen in benchmark [31.836MB; 31.904MB]; SLO is < 35.000MB

otelsdkspan-is-recording

  • 🟩 execution_time seen in benchmark [29.195ms; 29.410ms]; 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.850ms; 64.194ms]; SLO is < 65.850ms
  • 🟩 max_rss_usage seen in benchmark [31.850MB; 31.850MB]; SLO is < 35.000MB

otelsdkspan-set-status

  • 🟩 execution_time seen in benchmark [31.944ms; 32.128ms]; SLO is < 34.150ms
  • 🟩 max_rss_usage seen in benchmark [31.836MB; 31.904MB]; SLO is < 35.000MB

otelsdkspan-start

  • 🟩 execution_time seen in benchmark [28.763ms; 28.918ms]; 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.819ms; 33.981ms]; SLO is < 35.350ms
  • 🟩 max_rss_usage seen in benchmark [31.836MB; 31.904MB]; SLO is < 35.000MB

otelsdkspan-start-finish-telemetry

  • 🟩 execution_time seen in benchmark [33.880ms; 34.178ms]; 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 [30.918ms; 31.089ms]; SLO is < 33.400ms
  • 🟩 max_rss_usage seen in benchmark [31.801MB; 31.900MB]; SLO is < 35.000MB

otelspan-add-event

  • 🟩 execution_time seen in benchmark [45.159ms; 45.363ms]; SLO is < 47.150ms
  • 🟩 max_rss_usage seen in benchmark [42.004MB; 42.146MB]; SLO is < 42.500MB

otelspan-add-metrics

  • 🟩 execution_time seen in benchmark [318.400ms; 321.620ms]; SLO is < 344.800ms
  • 🟩 max_rss_usage seen in benchmark [558.875MB; 558.875MB]; SLO is < 562.000MB

otelspan-add-tags

  • 🟩 execution_time seen in benchmark [290.233ms; 293.054ms]; SLO is < 314.000ms
  • 🟩 max_rss_usage seen in benchmark [560.800MB; 560.800MB]; SLO is < 563.500MB

otelspan-get-context

  • 🟩 execution_time seen in benchmark [85.190ms; 86.418ms]; SLO is < 92.350ms
  • 🟩 max_rss_usage seen in benchmark [37.103MB; 37.227MB]; SLO is < 38.000MB

otelspan-is-recording

  • 🟩 execution_time seen in benchmark [42.793ms; 43.049ms]; SLO is < 44.500ms
  • 🟩 max_rss_usage seen in benchmark [41.377MB; 41.540MB]; SLO is < 42.000MB

otelspan-record-exception

  • 🟩 execution_time seen in benchmark [61.103ms; 62.258ms]; SLO is < 67.650ms
  • 🟩 max_rss_usage seen in benchmark [37.473MB; 37.608MB]; SLO is < 38.000MB

otelspan-set-status

  • 🟩 execution_time seen in benchmark [48.290ms; 48.488ms]; SLO is < 50.400ms
  • 🟩 max_rss_usage seen in benchmark [41.416MB; 41.575MB]; SLO is < 42.000MB

otelspan-start

  • 🟩 execution_time seen in benchmark [41.603ms; 41.780ms]; SLO is < 43.450ms
  • 🟩 max_rss_usage seen in benchmark [41.389MB; 41.521MB]; SLO is < 42.000MB

otelspan-start-finish

  • 🟩 execution_time seen in benchmark [82.928ms; 83.213ms]; SLO is < 86.000ms
  • 🟩 max_rss_usage seen in benchmark [31.504MB; 31.647MB]; SLO is < 32.000MB

otelspan-start-finish-telemetry

  • 🟩 execution_time seen in benchmark [83.398ms; 83.645ms]; SLO is < 86.000ms
  • 🟩 max_rss_usage seen in benchmark [31.457MB; 31.457MB]; SLO is < 32.000MB

otelspan-update-name

  • 🟩 execution_time seen in benchmark [43.889ms; 44.114ms]; SLO is < 45.150ms
  • 🟩 max_rss_usage seen in benchmark [41.673MB; 41.767MB]; SLO is < 42.500MB

packagespackageforrootmodulemapping-cache_off

  • 🟩 execution_time seen in benchmark [342.781ms; 344.599ms]; SLO is < 354.300ms
  • 🟩 max_rss_usage seen in benchmark [34.647MB; 34.753MB]; SLO is < 38.000MB

packagespackageforrootmodulemapping-cache_on

  • 🟩 execution_time seen in benchmark [382.581ns; 386.960ns]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.078MB; 34.168MB]; SLO is < 38.000MB

packagesupdateimporteddependencies-import_many

  • 🟩 execution_time seen in benchmark [154.800µs; 156.168µs]; SLO is < 170.000µs
  • 🟩 max_rss_usage seen in benchmark [34.412MB; 34.451MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_many_cached

  • 🟩 execution_time seen in benchmark [120.700µs; 121.482µs]; SLO is < 130.000µs
  • 🟩 max_rss_usage seen in benchmark [34.431MB; 34.446MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_many_stdlib

  • 🟩 execution_time seen in benchmark [1.617ms; 1.641ms]; SLO is < 1.750ms
  • 🟩 max_rss_usage seen in benchmark [34.577MB; 34.601MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_many_stdlib_cached

  • 🟩 execution_time seen in benchmark [956.125µs; 976.583µs]; SLO is < 1.100ms
  • 🟩 max_rss_usage seen in benchmark [34.615MB; 34.722MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_many_unknown

  • 🟩 execution_time seen in benchmark [829.978µs; 837.069µs]; SLO is < 890.000µs
  • 🟩 max_rss_usage seen in benchmark [34.308MB; 34.382MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_many_unknown_cached

  • 🟩 execution_time seen in benchmark [788.508µs; 797.563µs]; SLO is < 870.000µs
  • 🟩 max_rss_usage seen in benchmark [34.357MB; 34.376MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_one

  • 🟩 execution_time seen in benchmark [19.763µs; 19.895µs]; SLO is < 30.000µs
  • 🟩 max_rss_usage seen in benchmark [34.489MB; 34.526MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_one_cache

  • 🟩 execution_time seen in benchmark [6.265µs; 6.304µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.384MB; 34.485MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_one_stdlib

  • 🟩 execution_time seen in benchmark [18.576µs; 18.703µs]; SLO is < 20.000µs
  • 🟩 max_rss_usage seen in benchmark [34.471MB; 34.528MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_one_stdlib_cache

  • 🟩 execution_time seen in benchmark [6.302µs; 6.365µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.549MB; 34.609MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_one_unknown

  • 🟩 execution_time seen in benchmark [45.357µs; 45.687µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [34.399MB; 34.517MB]; SLO is < 35.500MB

packagesupdateimporteddependencies-import_one_unknown_cache

  • 🟩 execution_time seen in benchmark [6.293µs; 6.354µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [34.556MB; 34.609MB]; SLO is < 35.500MB

ratelimiter-defaults

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

ratelimiter-high_rate_limit

  • 🟩 execution_time seen in benchmark [2.419µs; 2.440µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [28.651MB; 28.719MB]; SLO is < 31.000MB

ratelimiter-long_window

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

ratelimiter-low_rate_limit

  • 🟩 execution_time seen in benchmark [2.390µs; 2.413µ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 [823.703ns; 829.281ns]; 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.500µs; 2.521µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [28.665MB; 28.784MB]; SLO is < 31.000MB

recursivecomputation-deep

  • 🟩 execution_time seen in benchmark [308.584ms; 309.341ms]; SLO is < 320.950ms
  • 🟩 max_rss_usage seen in benchmark [30.224MB; 30.292MB]; SLO is < 31.000MB

recursivecomputation-deep-profiled

  • 🟩 execution_time seen in benchmark [344.122ms; 345.077ms]; SLO is < 359.150ms
  • 🟩 max_rss_usage seen in benchmark [34.496MB; 34.632MB]; SLO is < 35.500MB

recursivecomputation-medium

  • 🟩 execution_time seen in benchmark [7.074ms; 7.104ms]; 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 [958.374µs; 964.465µ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.323µs; 333.124µ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 [497.166µs; 500.397µ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 [167.901µs; 168.839µs]; SLO is < 190.000µs
  • 🟩 max_rss_usage seen in benchmark [431.415MB; 431.449MB]; SLO is < 432.500MB

samplingrules-very_low_match

  • 🟩 execution_time seen in benchmark [8.618ms; 8.689ms]; SLO is < 9.150ms
  • 🟩 max_rss_usage seen in benchmark [54.893MB; 54.935MB]; SLO is < 55.000MB

sethttpmeta-all-disabled

  • 🟩 execution_time seen in benchmark [11.934µs; 11.991µ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.269µs; 42.510µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [29.477MB; 29.545MB]; SLO is < 31.000MB

sethttpmeta-collectipvariant_exists

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

sethttpmeta-no-collectipvariant

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

sethttpmeta-no-useragentvariant

  • 🟩 execution_time seen in benchmark [40.860µs; 41.084µ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.592µs; 42.800µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [29.477MB; 29.545MB]; SLO is < 31.000MB

sethttpmeta-obfuscation-regular-case-explicit-query

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

sethttpmeta-obfuscation-regular-case-implicit-query

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

sethttpmeta-obfuscation-send-querystring-disabled

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

sethttpmeta-obfuscation-worst-case-explicit-query

  • 🟩 execution_time seen in benchmark [151.383µs; 151.672µs]; SLO is < 160.000µs
  • 🟩 max_rss_usage seen in benchmark [29.870MB; 29.938MB]; SLO is < 31.000MB

sethttpmeta-obfuscation-worst-case-implicit-query

  • 🟩 execution_time seen in benchmark [157.523µs; 157.812µ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.633µs; 41.813µ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.762µs; 42.955µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [29.491MB; 29.491MB]; SLO is < 31.000MB

sethttpmeta-useragentvariant_exists_3

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

sethttpmeta-useragentvariant_not_exists_1

  • 🟩 execution_time seen in benchmark [41.574µs; 41.794µ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.903µs; 42.174µs]; SLO is < 50.000µs
  • 🟩 max_rss_usage seen in benchmark [29.494MB; 29.606MB]; SLO is < 31.000MB

span-add-event

  • 🟩 execution_time seen in benchmark [23.543ms; 23.950ms]; SLO is < 26.200ms
  • 🟩 max_rss_usage seen in benchmark [48.485MB; 48.487MB]; SLO is < 49.000MB

span-add-metrics

  • 🟩 execution_time seen in benchmark [90.236ms; 91.501ms]; SLO is < 98.350ms
  • 🟩 max_rss_usage seen in benchmark [614.606MB; 614.680MB]; SLO is < 961.000MB

span-add-tags

  • 🟩 execution_time seen in benchmark [148.808ms; 150.983ms]; SLO is < 168.550ms
  • 🟩 max_rss_usage seen in benchmark [615.425MB; 615.571MB]; SLO is < 962.500MB

span-get-context

  • 🟩 execution_time seen in benchmark [21.850ms; 22.176ms]; SLO is < 23.700ms
  • 🟩 max_rss_usage seen in benchmark [47.262MB; 47.292MB]; SLO is < 47.500MB

span-is-recording

  • 🟩 execution_time seen in benchmark [22.102ms; 22.462ms]; SLO is < 23.900ms
  • 🟩 max_rss_usage seen in benchmark [47.265MB; 47.303MB]; SLO is < 47.500MB

span-record-exception

  • 🟩 execution_time seen in benchmark [42.386ms; 42.714ms]; SLO is < 44.500ms
  • 🟩 max_rss_usage seen in benchmark [40.317MB; 40.340MB]; SLO is < 40.500MB

span-set-status

  • 🟩 execution_time seen in benchmark [23.546ms; 23.872ms]; SLO is < 26.000ms
  • 🟩 max_rss_usage seen in benchmark [47.293MB; 47.314MB]; SLO is < 47.500MB

span-start

  • 🟩 execution_time seen in benchmark [21.629ms; 22.002ms]; SLO is < 23.500ms
  • 🟩 max_rss_usage seen in benchmark [47.274MB; 47.299MB]; SLO is < 47.500MB

span-start-finish

  • 🟩 execution_time seen in benchmark [50.474ms; 50.660ms]; 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.072ms; 52.418ms]; 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 [53.864ms; 54.045ms]; 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.164ms; 22.567ms]; SLO is < 24.600ms
  • 🟩 max_rss_usage seen in benchmark [47.305MB; 47.327MB]; SLO is < 47.500MB

span-update-name

  • 🟩 execution_time seen in benchmark [22.474ms; 22.808ms]; SLO is < 24.100ms
  • 🟩 max_rss_usage seen in benchmark [47.812MB; 47.851MB]; SLO is < 48.000MB

telemetryaddmetric-1-count-metric-1-times

  • 🟩 execution_time seen in benchmark [3.255µs; 3.310µ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 [212.534µs; 213.378µ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.895µs; 2.929µ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 [193.738µs; 195.013µs]; SLO is < 210.000µs
  • 🟩 max_rss_usage seen in benchmark [29.055MB; 29.101MB]; SLO is < 31.000MB

telemetryaddmetric-1-gauge-metric-1-times

  • 🟩 execution_time seen in benchmark [2.123µs; 2.161µ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 [122.596µs; 123.008µ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.139µs; 3.177µ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 [215.056µs; 216.292µ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.525ms; 21.641ms]; 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.962ms; 1.968ms]; SLO is < 2.100ms
  • 🟩 max_rss_usage seen in benchmark [29.055MB; 29.101MB]; SLO is < 31.000MB

telemetryaddmetric-100-gauge-metrics-100-times

  • 🟩 execution_time seen in benchmark [1.281ms; 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.195ms; 2.204ms]; 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.457µs; 4.519µs]; SLO is < 10.000µs
  • 🟩 max_rss_usage seen in benchmark [29.055MB; 29.101MB]; SLO is < 31.000MB

telemetryaddmetric-flush-100-metrics

  • 🟩 execution_time seen in benchmark [178.764µs; 179.344µ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.190ms]; 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.568ms; 30.916ms]; 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.006ms; 3.026ms]; 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 [342.281µs; 344.189µs]; SLO is < 370.000µs
  • 🟩 max_rss_usage seen in benchmark [29.044MB; 29.112MB]; 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.

@brettlangdon brettlangdon marked this pull request as ready for review July 18, 2025 11:55
@brettlangdon brettlangdon requested a review from a team as a code owner July 18, 2025 11:55
@brettlangdon brettlangdon requested a review from ZStriker19 July 18, 2025 11:55
@brettlangdon brettlangdon enabled auto-merge (squash) July 18, 2025 11:56
@brettlangdon brettlangdon merged commit 41b04a4 into main Jul 21, 2025
829 of 830 checks passed
@brettlangdon brettlangdon deleted the LANGPLAT-642/trace_id_64bits branch July 21, 2025 21:30
brettlangdon added a commit that referenced this pull request Jul 22, 2025
Avoiding accessing the `Span.trace_id_64bits` computed per-span, when
the value is the same for every encoded trace.

This change accesses the trace id once and passes along to every
`pack_span` call.

## 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
- [ ] 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)

---------

Co-authored-by: kyle <[email protected]>
Co-authored-by: Christophe Papazian <[email protected]>
Co-authored-by: Vítor De Araújo <[email protected]>
Co-authored-by: Emmett Butler <[email protected]>
Co-authored-by: jsimpher <[email protected]>
Co-authored-by: Yun Kim <[email protected]>
Co-authored-by: Taegyun Kim <[email protected]>
alyshawang pushed a commit that referenced this pull request Jul 25, 2025
Avoiding accessing the `Span.trace_id_64bits` computed per-span, when
the value is the same for every encoded trace.

This change accesses the trace id once and passes along to every
`pack_span` call.

## 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
- [ ] 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)

---------

Co-authored-by: kyle <[email protected]>
Co-authored-by: Christophe Papazian <[email protected]>
Co-authored-by: Vítor De Araújo <[email protected]>
Co-authored-by: Emmett Butler <[email protected]>
Co-authored-by: jsimpher <[email protected]>
Co-authored-by: Yun Kim <[email protected]>
Co-authored-by: Taegyun Kim <[email protected]>
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.

8 participants