-
Notifications
You must be signed in to change notification settings - Fork 468
chore(django): make minimal tracing the default #15216
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(django): make minimal tracing the default #15216
Conversation
|
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 245 ± 6 ms. The average import time from base is: 246 ± 5 ms. The import time difference between this PR and base is: -0.9 ± 0.3 ms. Import time breakdownThe following import paths have shrunk:
|
|
|
Performance SLOsComparing candidate brettlangdon/4.0-django-defaults (95a49ee) with baseline 4.0-breaking-changes (75d837c) ❌ Test Failures (1 suite)❌ telemetryaddmetric - 29/30✅ 1-count-metric-1-timesTime: ✅ 3.093µs (SLO: <20.000µs 📉 -84.5%) vs baseline: +2.3% Memory: ✅ 31.477MB (SLO: <34.000MB -7.4%) vs baseline: +4.5% ✅ 1-count-metrics-100-timesTime: ✅ 204.573µs (SLO: <220.000µs -7.0%) vs baseline: +0.2% Memory: ✅ 31.536MB (SLO: <34.000MB -7.2%) vs baseline: +4.8% ✅ 1-distribution-metric-1-timesTime: ✅ 3.405µs (SLO: <20.000µs 📉 -83.0%) vs baseline: +1.0% Memory: ✅ 31.615MB (SLO: <34.000MB -7.0%) vs baseline: +5.2% ✅ 1-distribution-metrics-100-timesTime: ✅ 218.495µs (SLO: <220.000µs 🟡 -0.7%) vs baseline: +0.2% Memory: ✅ 31.497MB (SLO: <34.000MB -7.4%) vs baseline: +4.9% ✅ 1-gauge-metric-1-timesTime: ✅ 2.231µs (SLO: <20.000µs 📉 -88.8%) vs baseline: +0.5% Memory: ✅ 31.536MB (SLO: <34.000MB -7.2%) vs baseline: +4.8% ✅ 1-gauge-metrics-100-timesTime: ✅ 136.613µs (SLO: <150.000µs -8.9%) vs baseline: +0.9% Memory: ✅ 31.516MB (SLO: <34.000MB -7.3%) vs baseline: +4.8% ✅ 1-rate-metric-1-timesTime: ✅ 3.175µs (SLO: <20.000µs 📉 -84.1%) vs baseline: +0.6% Memory: ✅ 31.516MB (SLO: <34.000MB -7.3%) vs baseline: +4.9% ✅ 1-rate-metrics-100-timesTime: ✅ 218.775µs (SLO: <250.000µs 📉 -12.5%) vs baseline: ~same Memory: ✅ 31.556MB (SLO: <34.000MB -7.2%) vs baseline: +4.9% ✅ 100-count-metrics-100-timesTime: ✅ 20.749ms (SLO: <22.000ms -5.7%) vs baseline: +0.2% Memory: ✅ 31.536MB (SLO: <34.000MB -7.2%) vs baseline: +4.8% ❌ 100-distribution-metrics-100-timesTime: ❌ 2.309ms (SLO: <2.300ms +0.4%) vs baseline: +1.0% Memory: ✅ 31.497MB (SLO: <34.000MB -7.4%) vs baseline: +4.9% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.409ms (SLO: <1.550ms -9.1%) vs baseline: +0.4% Memory: ✅ 31.556MB (SLO: <34.000MB -7.2%) vs baseline: +5.0% ✅ 100-rate-metrics-100-timesTime: ✅ 2.271ms (SLO: <2.550ms 📉 -11.0%) vs baseline: +1.4% Memory: ✅ 31.516MB (SLO: <34.000MB -7.3%) vs baseline: +4.7% ✅ flush-1-metricTime: ✅ 4.599µs (SLO: <20.000µs 📉 -77.0%) vs baseline: -0.4% Memory: ✅ 31.516MB (SLO: <34.000MB -7.3%) vs baseline: +4.1% ✅ flush-100-metricsTime: ✅ 175.377µs (SLO: <250.000µs 📉 -29.8%) vs baseline: -0.5% Memory: ✅ 31.949MB (SLO: <34.000MB -6.0%) vs baseline: +5.1% ✅ flush-1000-metricsTime: ✅ 2.144ms (SLO: <2.500ms 📉 -14.2%) vs baseline: +0.6% Memory: ✅ 32.735MB (SLO: <34.500MB -5.1%) vs baseline: +4.7% 📈 Performance Regressions (1 suite)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 0.404µs (SLO: <10.000µs 📉 -96.0%) vs baseline: +0.3% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.2% ✅ add_inplace_aspectTime: ✅ 0.406µs (SLO: <10.000µs 📉 -95.9%) vs baseline: -1.4% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ add_inplace_noaspectTime: ✅ 0.316µs (SLO: <10.000µs 📉 -96.8%) vs baseline: ~same Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ add_noaspectTime: ✅ 0.279µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +0.5% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ bytearray_aspectTime: ✅ 1.335µs (SLO: <10.000µs 📉 -86.7%) vs baseline: +0.3% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.0% ✅ bytearray_extend_aspectTime: ✅ 1.490µs (SLO: <10.000µs 📉 -85.1%) vs baseline: +1.1% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.0% ✅ bytearray_extend_noaspectTime: ✅ 0.611µs (SLO: <10.000µs 📉 -93.9%) vs baseline: -1.1% Memory: ✅ 37.316MB (SLO: <39.000MB -4.3%) vs baseline: +4.9% ✅ bytearray_noaspectTime: ✅ 0.482µs (SLO: <10.000µs 📉 -95.2%) vs baseline: ~same Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +5.0% ✅ bytes_aspectTime: ✅ 1.294µs (SLO: <10.000µs 📉 -87.1%) vs baseline: +0.3% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.6% ✅ bytes_noaspectTime: ✅ 0.492µs (SLO: <10.000µs 📉 -95.1%) vs baseline: +0.4% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ bytesio_aspectTime: ✅ 1.345µs (SLO: <10.000µs 📉 -86.6%) vs baseline: -1.0% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ bytesio_noaspectTime: ✅ 0.495µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +0.3% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +5.0% ✅ capitalize_aspectTime: ✅ 0.733µs (SLO: <10.000µs 📉 -92.7%) vs baseline: ~same Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ capitalize_noaspectTime: ✅ 0.438µs (SLO: <10.000µs 📉 -95.6%) vs baseline: +1.4% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.6% ✅ casefold_aspectTime: ✅ 0.740µs (SLO: <10.000µs 📉 -92.6%) vs baseline: +0.3% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.8% ✅ casefold_noaspectTime: ✅ 0.370µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +0.7% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.6% ✅ decode_aspectTime: ✅ 0.723µs (SLO: <10.000µs 📉 -92.8%) vs baseline: -0.6% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.1% ✅ decode_noaspectTime: ✅ 0.421µs (SLO: <10.000µs 📉 -95.8%) vs baseline: -0.6% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ encode_aspectTime: ✅ 0.710µs (SLO: <10.000µs 📉 -92.9%) vs baseline: +0.1% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.5% ✅ encode_noaspectTime: ✅ 0.405µs (SLO: <10.000µs 📉 -96.0%) vs baseline: +1.2% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ format_aspectTime: ✅ 3.378µs (SLO: <10.000µs 📉 -66.2%) vs baseline: -1.5% Memory: ✅ 37.316MB (SLO: <39.000MB -4.3%) vs baseline: +5.2% ✅ format_map_aspectTime: ✅ 4.111µs (SLO: <10.000µs 📉 -58.9%) vs baseline: 📈 +12.0% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.8% ✅ format_map_noaspectTime: ✅ 0.778µs (SLO: <10.000µs 📉 -92.2%) vs baseline: +1.1% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ format_noaspectTime: ✅ 0.595µs (SLO: <10.000µs 📉 -94.1%) vs baseline: -2.6% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.1% ✅ index_aspectTime: ✅ 0.357µs (SLO: <10.000µs 📉 -96.4%) vs baseline: -0.7% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ index_noaspectTime: ✅ 0.282µs (SLO: <10.000µs 📉 -97.2%) vs baseline: ~same Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.5% ✅ join_aspectTime: ✅ 1.350µs (SLO: <10.000µs 📉 -86.5%) vs baseline: ~same Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ join_noaspectTime: ✅ 0.488µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.4% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +5.2% ✅ ljust_aspectTime: ✅ 2.727µs (SLO: <20.000µs 📉 -86.4%) vs baseline: +5.1% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.5% ✅ ljust_noaspectTime: ✅ 0.405µs (SLO: <10.000µs 📉 -96.0%) vs baseline: ~same Memory: ✅ 37.336MB (SLO: <39.000MB -4.3%) vs baseline: +5.0% ✅ lower_aspectTime: ✅ 2.343µs (SLO: <10.000µs 📉 -76.6%) vs baseline: +6.7% Memory: ✅ 37.356MB (SLO: <39.000MB -4.2%) vs baseline: +5.2% ✅ lower_noaspectTime: ✅ 0.366µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.7% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ lstrip_aspectTime: ✅ 2.213µs (SLO: <20.000µs 📉 -88.9%) vs baseline: +0.5% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ lstrip_noaspectTime: ✅ 0.380µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -1.3% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.9% ✅ modulo_aspectTime: ✅ 0.993µs (SLO: <10.000µs 📉 -90.1%) vs baseline: -0.4% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 1.545µs (SLO: <10.000µs 📉 -84.5%) vs baseline: +0.5% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.6% ✅ modulo_aspect_for_bytesTime: ✅ 0.977µs (SLO: <10.000µs 📉 -90.2%) vs baseline: +0.2% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 1.214µs (SLO: <10.000µs 📉 -87.9%) vs baseline: +0.4% Memory: ✅ 37.316MB (SLO: <39.000MB -4.3%) vs baseline: +5.4% ✅ modulo_noaspectTime: ✅ 0.628µs (SLO: <10.000µs 📉 -93.7%) vs baseline: -1.9% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.8% ✅ replace_aspectTime: ✅ 4.936µs (SLO: <10.000µs 📉 -50.6%) vs baseline: +1.0% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ replace_noaspectTime: ✅ 0.459µs (SLO: <10.000µs 📉 -95.4%) vs baseline: ~same Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ repr_aspectTime: ✅ 0.904µs (SLO: <10.000µs 📉 -91.0%) vs baseline: -0.8% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ repr_noaspectTime: ✅ 0.413µs (SLO: <10.000µs 📉 -95.9%) vs baseline: -1.7% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ rstrip_aspectTime: ✅ 1.905µs (SLO: <20.000µs 📉 -90.5%) vs baseline: +0.4% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +4.8% ✅ rstrip_noaspectTime: ✅ 0.378µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -1.6% Memory: ✅ 37.316MB (SLO: <39.000MB -4.3%) vs baseline: +5.1% ✅ slice_aspectTime: ✅ 0.492µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.8% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.0% ✅ slice_noaspectTime: ✅ 0.448µs (SLO: <10.000µs 📉 -95.5%) vs baseline: -0.3% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ stringio_aspectTime: ✅ 1.718µs (SLO: <10.000µs 📉 -82.8%) vs baseline: +9.9% Memory: ✅ 37.316MB (SLO: <39.000MB -4.3%) vs baseline: +5.1% ✅ stringio_noaspectTime: ✅ 0.719µs (SLO: <10.000µs 📉 -92.8%) vs baseline: +0.5% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ strip_aspectTime: ✅ 2.238µs (SLO: <20.000µs 📉 -88.8%) vs baseline: +2.0% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.0% ✅ strip_noaspectTime: ✅ 0.385µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -1.2% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ swapcase_aspectTime: ✅ 2.409µs (SLO: <10.000µs 📉 -75.9%) vs baseline: +0.1% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.8% ✅ swapcase_noaspectTime: ✅ 0.532µs (SLO: <10.000µs 📉 -94.7%) vs baseline: ~same Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +4.7% ✅ title_aspectTime: ✅ 2.328µs (SLO: <10.000µs 📉 -76.7%) vs baseline: -0.3% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.8% ✅ title_noaspectTime: ✅ 0.496µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +0.4% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.6% ✅ translate_aspectTime: ✅ 3.481µs (SLO: <10.000µs 📉 -65.2%) vs baseline: +6.7% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.8% ✅ translate_noaspectTime: ✅ 1.036µs (SLO: <10.000µs 📉 -89.6%) vs baseline: -0.7% Memory: ✅ 37.316MB (SLO: <39.000MB -4.3%) vs baseline: +5.0% ✅ upper_aspectTime: ✅ 2.364µs (SLO: <10.000µs 📉 -76.4%) vs baseline: +8.2% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ upper_noaspectTime: ✅ 0.367µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.3% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +4.7% 🟡 Near SLO Breach (4 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 19.244ms (SLO: <22.300ms 📉 -13.7%) vs baseline: -6.0% Memory: ✅ 65.984MB (SLO: <67.000MB 🟡 -1.5%) vs baseline: +4.8% ✅ exception-replay-enabledTime: ✅ 1.339ms (SLO: <1.450ms -7.7%) vs baseline: -0.5% Memory: ✅ 64.035MB (SLO: <67.000MB -4.4%) vs baseline: +4.7% ✅ iastTime: ✅ 19.266ms (SLO: <22.250ms 📉 -13.4%) vs baseline: -5.5% Memory: ✅ 65.974MB (SLO: <67.000MB 🟡 -1.5%) vs baseline: +4.8% ✅ profilerTime: ✅ 15.350ms (SLO: <16.550ms -7.3%) vs baseline: -0.4% Memory: ✅ 53.635MB (SLO: <54.500MB 🟡 -1.6%) vs baseline: +4.8% ✅ resource-renamingTime: ✅ 19.372ms (SLO: <21.750ms 📉 -10.9%) vs baseline: -5.6% Memory: ✅ 65.976MB (SLO: <67.000MB 🟡 -1.5%) vs baseline: +4.8% ✅ span-code-originTime: ✅ 22.822ms (SLO: <28.200ms 📉 -19.1%) vs baseline: 📉 -10.1% Memory: ✅ 67.108MB (SLO: <69.500MB -3.4%) vs baseline: +4.7% ✅ tracerTime: ✅ 19.252ms (SLO: <21.750ms 📉 -11.5%) vs baseline: -5.7% Memory: ✅ 65.996MB (SLO: <67.000MB 🟡 -1.5%) vs baseline: +4.7% ✅ tracer-and-profilerTime: ✅ 21.159ms (SLO: <23.500ms -10.0%) vs baseline: -5.7% Memory: ✅ 67.598MB (SLO: <68.000MB 🟡 -0.6%) vs baseline: +4.6% ✅ tracer-dont-create-db-spansTime: ✅ 19.193ms (SLO: <21.500ms 📉 -10.7%) vs baseline: -0.8% Memory: ✅ 65.980MB (SLO: <67.000MB 🟡 -1.5%) vs baseline: +4.8% ✅ tracer-minimalTime: ✅ 16.647ms (SLO: <17.500ms -4.9%) vs baseline: -0.2% Memory: ✅ 65.885MB (SLO: <67.000MB 🟡 -1.7%) vs baseline: +4.9% ✅ tracer-nativeTime: ✅ 19.300ms (SLO: <21.750ms 📉 -11.3%) vs baseline: -5.5% Memory: ✅ 67.506MB (SLO: <72.500MB -6.9%) vs baseline: +4.8% ✅ tracer-no-cachesTime: ✅ 17.337ms (SLO: <19.650ms 📉 -11.8%) vs baseline: -6.2% Memory: ✅ 65.960MB (SLO: <67.000MB 🟡 -1.6%) vs baseline: +4.7% ✅ tracer-no-databasesTime: ✅ 18.819ms (SLO: <20.100ms -6.4%) vs baseline: +0.4% Memory: ✅ 65.890MB (SLO: <67.000MB 🟡 -1.7%) vs baseline: +4.7% ✅ tracer-no-middlewareTime: ✅ 18.928ms (SLO: <21.500ms 📉 -12.0%) vs baseline: -5.7% Memory: ✅ 65.949MB (SLO: <67.000MB 🟡 -1.6%) vs baseline: +4.9% ✅ tracer-no-templatesTime: ✅ 19.130ms (SLO: <22.000ms 📉 -13.0%) vs baseline: -5.4% Memory: ✅ 65.955MB (SLO: <67.000MB 🟡 -1.6%) vs baseline: +4.8% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 16.308ms (SLO: <19.850ms 📉 -17.8%) vs baseline: -9.7% Memory: ✅ 65.805MB (SLO: <66.500MB 🟡 -1.0%) vs baseline: +4.7% ✅ errortracking-enabled-userTime: ✅ 16.297ms (SLO: <19.400ms 📉 -16.0%) vs baseline: -9.8% Memory: ✅ 65.686MB (SLO: <66.500MB 🟡 -1.2%) vs baseline: +4.4% ✅ tracer-enabledTime: ✅ 16.364ms (SLO: <19.450ms 📉 -15.9%) vs baseline: -9.5% Memory: ✅ 65.582MB (SLO: <66.500MB 🟡 -1.4%) vs baseline: +4.8% 🟡 errortrackingflasksqli - 6/6✅ errortracking-enabled-allTime: ✅ 2.066ms (SLO: <2.300ms 📉 -10.2%) vs baseline: ~same Memory: ✅ 52.491MB (SLO: <53.500MB 🟡 -1.9%) vs baseline: +4.5% ✅ errortracking-enabled-userTime: ✅ 2.067ms (SLO: <2.250ms -8.2%) vs baseline: -0.1% Memory: ✅ 52.464MB (SLO: <53.500MB 🟡 -1.9%) vs baseline: +4.4% ✅ tracer-enabledTime: ✅ 2.092ms (SLO: <2.300ms -9.1%) vs baseline: +1.2% Memory: ✅ 52.395MB (SLO: <53.500MB -2.1%) vs baseline: +4.5% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.590ms (SLO: <4.750ms -3.4%) vs baseline: ~same Memory: ✅ 62.014MB (SLO: <65.000MB -4.6%) vs baseline: +4.8% ✅ appsec-postTime: ✅ 6.602ms (SLO: <6.750ms -2.2%) vs baseline: -0.3% Memory: ✅ 62.210MB (SLO: <65.000MB -4.3%) vs baseline: +5.0% ✅ appsec-telemetryTime: ✅ 4.587ms (SLO: <4.750ms -3.4%) vs baseline: ~same Memory: ✅ 61.964MB (SLO: <65.000MB -4.7%) vs baseline: +4.7% ✅ debuggerTime: ✅ 1.857ms (SLO: <2.000ms -7.2%) vs baseline: -0.2% Memory: ✅ 45.185MB (SLO: <47.000MB -3.9%) vs baseline: +4.7% ✅ iast-getTime: ✅ 1.857ms (SLO: <2.000ms -7.1%) vs baseline: ~same Memory: ✅ 42.233MB (SLO: <49.000MB 📉 -13.8%) vs baseline: +5.0% ✅ profilerTime: ✅ 1.908ms (SLO: <2.100ms -9.1%) vs baseline: +0.2% Memory: ✅ 46.426MB (SLO: <47.000MB 🟡 -1.2%) vs baseline: +4.8% ✅ resource-renamingTime: ✅ 3.373ms (SLO: <3.650ms -7.6%) vs baseline: ~same Memory: ✅ 52.650MB (SLO: <53.500MB 🟡 -1.6%) vs baseline: +5.4% ✅ tracerTime: ✅ 3.352ms (SLO: <3.650ms -8.2%) vs baseline: -0.3% Memory: ✅ 52.459MB (SLO: <53.500MB 🟡 -1.9%) vs baseline: +5.2% ✅ tracer-nativeTime: ✅ 3.355ms (SLO: <3.650ms -8.1%) vs baseline: ~same Memory: ✅ 54.001MB (SLO: <60.000MB -10.0%) vs baseline: +4.8%
|
Description
This change updates the default Django instrumentation experience to use
DD_DJANGO_TRACING_MINIMAL=true.While this is a significant shift, it simplifies the default tracing behavior and improves performance by removing redundant spans.
Summary of Changes
1. Remove default instrumentation for Django ORM, cache, and template layers
Previously, Django’s database, cache, and template operations were instrumented even when their underlying libraries (e.g., psycopg, mysql, redis, memcached, jinja2) were already instrumented.
This resulted in duplicate spans for each operation, with nearly identical metadata.
Originally, these Django-level spans were added as a safeguard—ensuring coverage even if the underlying libraries weren’t instrumented. However, this extra layer now adds measurable overhead and no longer provides meaningful value in most cases.
To restore the previous behavior, you can either:
DD_DJANGO_TRACING_MINIMAL=falseDD_DJANGO_INSTRUMENT_DATABASES=trueDD_DJANGO_INSTRUMENT_CACHES=trueDD_DJANGO_INSTRUMENT_TEMPLATES=true2. Adjusted behavior when
DD_DJANGO_INSTRUMENT_DATABASES=trueWhen database instrumentation is enabled, Django will now merge its database spans into those from the underlying driver (psycopg, mysql, sqlite3, etc.) if one is detected.
A standalone Django span will only be created if:
This ensures that enabling Django database instrumentation no longer produces redundant spans and maintains consistent behavior across drivers.
Motivation
This change reduces tracing overhead, improves clarity in trace visualizations, and improves the default performance overhead experienced when tracing Django applications.