feat(tracing): resource renaming#14580
Conversation
0768898 to
a1a885d
Compare
|
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 274 ± 4 ms. The average import time from base is: 276 ± 4 ms. The import time difference between this PR and base is: -2.0 ± 0.2 ms. Import time breakdownThe following import paths have appeared:
|
b0126e8 to
cdfa633
Compare
Performance SLOsComparing candidate florentin.labelle/APPSEC-58892/resource-renaming (88ab56a) with baseline main (e806495) 📈 Performance Regressions (1 suite)📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 4.467µs (SLO: <10.000µs 📉 -55.3%) vs baseline: +2.2% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ ospathbasename_noaspectTime: ✅ 1.080µs (SLO: <10.000µs 📉 -89.2%) vs baseline: +0.3% Memory: ✅ 37.749MB (SLO: <39.000MB -3.2%) vs baseline: +5.0% ✅ ospathjoin_aspectTime: ✅ 7.036µs (SLO: <10.000µs 📉 -29.6%) vs baseline: 📈 +16.6% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.6% ✅ ospathjoin_noaspectTime: ✅ 2.290µs (SLO: <10.000µs 📉 -77.1%) vs baseline: -0.1% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ ospathnormcase_aspectTime: ✅ 3.935µs (SLO: <10.000µs 📉 -60.7%) vs baseline: 📈 +13.4% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ ospathnormcase_noaspectTime: ✅ 0.570µs (SLO: <10.000µs 📉 -94.3%) vs baseline: +0.3% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ ospathsplit_aspectTime: ✅ 4.962µs (SLO: <10.000µs 📉 -50.4%) vs baseline: ~same Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ ospathsplit_noaspectTime: ✅ 1.592µs (SLO: <10.000µs 📉 -84.1%) vs baseline: +0.2% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +4.8% ✅ ospathsplitdrive_aspectTime: ✅ 3.709µs (SLO: <10.000µs 📉 -62.9%) vs baseline: -0.8% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ ospathsplitdrive_noaspectTime: ✅ 0.707µs (SLO: <10.000µs 📉 -92.9%) vs baseline: +2.1% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% ✅ ospathsplitext_aspectTime: ✅ 4.610µs (SLO: <10.000µs 📉 -53.9%) vs baseline: +0.4% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ ospathsplitext_noaspectTime: ✅ 1.406µs (SLO: <10.000µs 📉 -85.9%) vs baseline: +1.7% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% 🟡 Near SLO Breach (2 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.548ms (SLO: <22.300ms -7.9%) vs baseline: ~same Memory: ✅ 65.235MB (SLO: <67.000MB -2.6%) vs baseline: +4.7% ✅ exception-replay-enabledTime: ✅ 1.346ms (SLO: <1.450ms -7.2%) vs baseline: ~same Memory: ✅ 64.085MB (SLO: <67.000MB -4.4%) vs baseline: +4.8% ✅ iastTime: ✅ 20.492ms (SLO: <22.250ms -7.9%) vs baseline: ~same Memory: ✅ 65.237MB (SLO: <67.000MB -2.6%) vs baseline: +4.9% ✅ profilerTime: ✅ 15.258ms (SLO: <16.550ms -7.8%) vs baseline: +0.2% Memory: ✅ 53.477MB (SLO: <54.500MB 🟡 -1.9%) vs baseline: +5.0% ✅ resource-renamingTime: ✅ 20.617ms (SLO: <21.750ms -5.2%) vs baseline: +0.6% Memory: ✅ 65.315MB (SLO: <67.000MB -2.5%) vs baseline: +4.9% ✅ span-code-originTime: ✅ 26.051ms (SLO: <28.200ms -7.6%) vs baseline: -0.4% Memory: ✅ 67.511MB (SLO: <69.500MB -2.9%) vs baseline: +5.2% ✅ tracerTime: ✅ 20.488ms (SLO: <21.750ms -5.8%) vs baseline: ~same Memory: ✅ 65.225MB (SLO: <67.000MB -2.6%) vs baseline: +4.9% ✅ tracer-and-profilerTime: ✅ 22.093ms (SLO: <23.500ms -6.0%) vs baseline: ~same Memory: ✅ 66.316MB (SLO: <67.500MB 🟡 -1.8%) vs baseline: +4.7% ✅ tracer-dont-create-db-spansTime: ✅ 19.355ms (SLO: <21.500ms -10.0%) vs baseline: -0.2% Memory: ✅ 65.269MB (SLO: <66.000MB 🟡 -1.1%) vs baseline: +4.8% ✅ tracer-minimalTime: ✅ 16.693ms (SLO: <17.500ms -4.6%) vs baseline: +0.3% Memory: ✅ 64.853MB (SLO: <66.000MB 🟡 -1.7%) vs baseline: +4.9% ✅ tracer-nativeTime: ✅ 20.538ms (SLO: <21.750ms -5.6%) vs baseline: ~same Memory: ✅ 70.992MB (SLO: <72.500MB -2.1%) vs baseline: +4.7% ✅ tracer-no-cachesTime: ✅ 18.449ms (SLO: <19.650ms -6.1%) vs baseline: +0.2% Memory: ✅ 65.284MB (SLO: <67.000MB -2.6%) vs baseline: +4.9% ✅ tracer-no-databasesTime: ✅ 18.805ms (SLO: <20.100ms -6.4%) vs baseline: ~same Memory: ✅ 64.837MB (SLO: <67.000MB -3.2%) vs baseline: +4.7% ✅ tracer-no-middlewareTime: ✅ 20.177ms (SLO: <21.500ms -6.2%) vs baseline: -0.2% Memory: ✅ 65.340MB (SLO: <67.000MB -2.5%) vs baseline: +5.0% ✅ tracer-no-templatesTime: ✅ 20.308ms (SLO: <22.000ms -7.7%) vs baseline: -0.2% Memory: ✅ 65.284MB (SLO: <67.000MB -2.6%) vs baseline: +4.8% 🟡 otelspan - 22/22✅ add-eventTime: ✅ 45.172ms (SLO: <47.150ms -4.2%) vs baseline: ~same Memory: ✅ 45.078MB (SLO: <47.000MB -4.1%) vs baseline: +4.8% ✅ add-metricsTime: ✅ 320.126ms (SLO: <344.800ms -7.2%) vs baseline: -1.0% Memory: ✅ 553.628MB (SLO: <562.000MB 🟡 -1.5%) vs baseline: +4.6% ✅ add-tagsTime: ✅ 293.615ms (SLO: <314.000ms -6.5%) vs baseline: +1.3% Memory: ✅ 554.742MB (SLO: <563.500MB 🟡 -1.6%) vs baseline: +4.7% ✅ get-contextTime: ✅ 82.359ms (SLO: <92.350ms 📉 -10.8%) vs baseline: -0.5% Memory: ✅ 40.192MB (SLO: <46.500MB 📉 -13.6%) vs baseline: +4.9% ✅ is-recordingTime: ✅ 42.979ms (SLO: <44.500ms -3.4%) vs baseline: ~same Memory: ✅ 44.463MB (SLO: <47.500MB -6.4%) vs baseline: +4.8% ✅ record-exceptionTime: ✅ 61.507ms (SLO: <67.650ms -9.1%) vs baseline: -0.2% Memory: ✅ 40.443MB (SLO: <47.000MB 📉 -14.0%) vs baseline: +4.9% ✅ set-statusTime: ✅ 48.603ms (SLO: <50.400ms -3.6%) vs baseline: ~same Memory: ✅ 44.437MB (SLO: <47.000MB -5.5%) vs baseline: +4.7% ✅ startTime: ✅ 42.325ms (SLO: <43.450ms -2.6%) vs baseline: +0.2% Memory: ✅ 44.448MB (SLO: <47.000MB -5.4%) vs baseline: +4.8% ✅ start-finishTime: ✅ 83.356ms (SLO: <88.000ms -5.3%) vs baseline: +0.6% Memory: ✅ 34.564MB (SLO: <46.500MB 📉 -25.7%) vs baseline: +4.8% ✅ start-finish-telemetryTime: ✅ 84.854ms (SLO: <89.000ms -4.7%) vs baseline: +0.6% Memory: ✅ 34.524MB (SLO: <46.500MB 📉 -25.8%) vs baseline: +4.9% ✅ update-nameTime: ✅ 44.213ms (SLO: <45.150ms -2.1%) vs baseline: +0.3% Memory: ✅ 44.697MB (SLO: <47.000MB -4.9%) vs baseline: +4.9%
|
cdfa633 to
0870b87
Compare
0817401 to
6067107
Compare
brettlangdon
left a comment
There was a problem hiding this comment.
can we add a scenario to flask_simple and django_simple benchmarks for this feature? would be good to know the performance trade off of enabling it.
629f064 to
39939c9
Compare
5d6de1a to
01d4016
Compare
BenchmarksBenchmark execution time: 2025-09-19 14:58:11 Comparing candidate commit 629f064 in PR branch Found 0 performance improvements and 2 performance regressions! Performance is the same for 553 metrics, 9 unstable metrics. scenario:iastaspectsospath-ospathsplit_aspect
scenario:telemetryaddmetric-1-distribution-metric-1-times
|
01d4016 to
e61c3ad
Compare
|
nice, now that we have the benchmark scenarios, we should add an SLO to |
32542ff to
3e5f198
Compare
Co-authored-by: Brett Langdon <[email protected]>
30dd75b to
88ab56a
Compare
Description
This PR implements the resource renaming feature specified in RFC-1051. This contains the following changes:
http.endpointtag whenhttp.routeis not reported by an integration. Its value is a "simplified endpoint" representation of the url path.The feature is turned off by default behind the env var: "DD_TRACE_RESOURCE_RENAMING_ENABLED"
APPSEC-58892
Notes
Added the TRACING_CONFIG_NONDEFAULT_3 scenario to the CI. It contains the system tests for this feature.
Checklist
Reviewer Checklist