-
Notifications
You must be signed in to change notification settings - Fork 467
fix: modify error tracking exceptions [backport 3.18] #15168
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
Conversation
|
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 241 ± 4 ms. The average import time from base is: 242 ± 4 ms. The import time difference between this PR and base is: -1.0 ± 0.2 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate backport-15148-to-3.18 (52ce251) with baseline 3.18 (6ba96f2) 📈 Performance Regressions (1 suite)📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 5.263µs (SLO: <10.000µs 📉 -47.4%) vs baseline: 📈 +23.1% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.8% ✅ ospathbasename_noaspectTime: ✅ 1.082µs (SLO: <10.000µs 📉 -89.2%) vs baseline: -1.3% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ ospathjoin_aspectTime: ✅ 7.145µs (SLO: <10.000µs 📉 -28.6%) vs baseline: 📈 +15.4% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.8% ✅ ospathjoin_noaspectTime: ✅ 2.333µs (SLO: <10.000µs 📉 -76.7%) vs baseline: +1.9% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +5.0% ✅ ospathnormcase_aspectTime: ✅ 3.493µs (SLO: <10.000µs 📉 -65.1%) vs baseline: +0.3% Memory: ✅ 37.375MB (SLO: <39.000MB -4.2%) vs baseline: +4.9% ✅ ospathnormcase_noaspectTime: ✅ 0.579µs (SLO: <10.000µs 📉 -94.2%) vs baseline: +0.7% Memory: ✅ 37.375MB (SLO: <39.000MB -4.2%) vs baseline: +4.7% ✅ ospathsplit_aspectTime: ✅ 4.861µs (SLO: <10.000µs 📉 -51.4%) vs baseline: +0.9% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.8% ✅ ospathsplit_noaspectTime: ✅ 1.593µs (SLO: <10.000µs 📉 -84.1%) vs baseline: ~same Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ ospathsplitdrive_aspectTime: ✅ 3.683µs (SLO: <10.000µs 📉 -63.2%) vs baseline: ~same Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ ospathsplitdrive_noaspectTime: ✅ 0.708µs (SLO: <10.000µs 📉 -92.9%) vs baseline: +1.2% Memory: ✅ 37.375MB (SLO: <39.000MB -4.2%) vs baseline: +4.6% ✅ ospathsplitext_aspectTime: ✅ 5.310µs (SLO: <10.000µs 📉 -46.9%) vs baseline: 📈 +16.6% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.7% ✅ ospathsplitext_noaspectTime: ✅ 1.372µs (SLO: <10.000µs 📉 -86.3%) vs baseline: -0.8% Memory: ✅ 37.356MB (SLO: <39.000MB -4.2%) vs baseline: +4.8% 🟡 Near SLO Breach (6 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.498ms (SLO: <22.300ms -8.1%) vs baseline: ~same Memory: ✅ 66.050MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +4.9% ✅ exception-replay-enabledTime: ✅ 1.343ms (SLO: <1.450ms -7.4%) vs baseline: +0.2% Memory: ✅ 64.119MB (SLO: <67.000MB -4.3%) vs baseline: +4.9% ✅ iastTime: ✅ 20.461ms (SLO: <22.250ms -8.0%) vs baseline: ~same Memory: ✅ 66.033MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +5.0% ✅ profilerTime: ✅ 15.411ms (SLO: <16.550ms -6.9%) vs baseline: -0.4% Memory: ✅ 53.757MB (SLO: <54.500MB 🟡 -1.4%) vs baseline: +5.0% ✅ resource-renamingTime: ✅ 20.497ms (SLO: <21.750ms -5.8%) vs baseline: -0.4% Memory: ✅ 66.041MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +4.8% ✅ span-code-originTime: ✅ 25.316ms (SLO: <28.200ms 📉 -10.2%) vs baseline: ~same Memory: ✅ 66.950MB (SLO: <69.500MB -3.7%) vs baseline: +4.8% ✅ tracerTime: ✅ 20.449ms (SLO: <21.750ms -6.0%) vs baseline: -0.1% Memory: ✅ 66.100MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +5.0% ✅ tracer-and-profilerTime: ✅ 22.657ms (SLO: <23.500ms -3.6%) vs baseline: -0.3% Memory: ✅ 67.525MB (SLO: <68.000MB 🟡 -0.7%) vs baseline: +4.8% ✅ tracer-dont-create-db-spansTime: ✅ 19.341ms (SLO: <21.500ms 📉 -10.0%) vs baseline: ~same Memory: ✅ 66.040MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +5.0% ✅ tracer-minimalTime: ✅ 16.658ms (SLO: <17.500ms -4.8%) vs baseline: ~same Memory: ✅ 65.746MB (SLO: <67.000MB 🟡 -1.9%) vs baseline: +4.7% ✅ tracer-nativeTime: ✅ 20.455ms (SLO: <21.750ms -6.0%) vs baseline: -0.2% Memory: ✅ 67.633MB (SLO: <72.500MB -6.7%) vs baseline: +4.9% ✅ tracer-no-cachesTime: ✅ 18.473ms (SLO: <19.650ms -6.0%) vs baseline: -0.1% Memory: ✅ 66.001MB (SLO: <67.000MB 🟡 -1.5%) vs baseline: +4.9% ✅ tracer-no-databasesTime: ✅ 18.775ms (SLO: <20.100ms -6.6%) vs baseline: +0.4% Memory: ✅ 65.697MB (SLO: <67.000MB 🟡 -1.9%) vs baseline: +4.7% ✅ tracer-no-middlewareTime: ✅ 20.237ms (SLO: <21.500ms -5.9%) vs baseline: ~same Memory: ✅ 66.050MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +5.0% ✅ tracer-no-templatesTime: ✅ 20.301ms (SLO: <22.000ms -7.7%) vs baseline: -0.3% Memory: ✅ 66.050MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +4.9% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.014ms (SLO: <19.850ms -9.2%) vs baseline: ~same Memory: ✅ 66.021MB (SLO: <66.500MB 🟡 -0.7%) vs baseline: +4.8% ✅ errortracking-enabled-userTime: ✅ 18.238ms (SLO: <19.400ms -6.0%) vs baseline: +1.6% Memory: ✅ 66.021MB (SLO: <66.500MB 🟡 -0.7%) vs baseline: +4.8% ✅ tracer-enabledTime: ✅ 18.129ms (SLO: <19.450ms -6.8%) vs baseline: +0.2% Memory: ✅ 65.647MB (SLO: <66.500MB 🟡 -1.3%) vs baseline: +4.9% 🟡 errortrackingflasksqli - 6/6✅ errortracking-enabled-allTime: ✅ 2.062ms (SLO: <2.300ms 📉 -10.3%) vs baseline: ~same Memory: ✅ 52.435MB (SLO: <53.500MB 🟡 -2.0%) vs baseline: +4.7% ✅ errortracking-enabled-userTime: ✅ 2.099ms (SLO: <2.250ms -6.7%) vs baseline: +1.2% Memory: ✅ 52.435MB (SLO: <53.500MB 🟡 -2.0%) vs baseline: +4.7% ✅ tracer-enabledTime: ✅ 2.065ms (SLO: <2.300ms 📉 -10.2%) vs baseline: -0.2% Memory: ✅ 52.396MB (SLO: <53.500MB -2.1%) vs baseline: +4.8% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.591ms (SLO: <4.750ms -3.3%) vs baseline: +0.3% Memory: ✅ 62.079MB (SLO: <65.000MB -4.5%) vs baseline: +4.6% ✅ appsec-postTime: ✅ 6.617ms (SLO: <6.750ms 🟡 -2.0%) vs baseline: ~same Memory: ✅ 62.214MB (SLO: <65.000MB -4.3%) vs baseline: +4.8% ✅ appsec-telemetryTime: ✅ 4.579ms (SLO: <4.750ms -3.6%) vs baseline: -0.4% Memory: ✅ 62.188MB (SLO: <65.000MB -4.3%) vs baseline: +4.9% ✅ debuggerTime: ✅ 1.852ms (SLO: <2.000ms -7.4%) vs baseline: -0.2% Memory: ✅ 45.295MB (SLO: <47.000MB -3.6%) vs baseline: +5.0% ✅ iast-getTime: ✅ 1.853ms (SLO: <2.000ms -7.4%) vs baseline: -0.2% Memory: ✅ 41.948MB (SLO: <49.000MB 📉 -14.4%) vs baseline: +4.7% ✅ profilerTime: ✅ 1.917ms (SLO: <2.100ms -8.7%) vs baseline: ~same Memory: ✅ 46.488MB (SLO: <47.000MB 🟡 -1.1%) vs baseline: +4.7% ✅ resource-renamingTime: ✅ 3.366ms (SLO: <3.650ms -7.8%) vs baseline: ~same Memory: ✅ 52.494MB (SLO: <53.500MB 🟡 -1.9%) vs baseline: +4.8% ✅ tracerTime: ✅ 3.349ms (SLO: <3.650ms -8.2%) vs baseline: -0.2% Memory: ✅ 52.540MB (SLO: <53.500MB 🟡 -1.8%) vs baseline: +4.9% ✅ tracer-nativeTime: ✅ 3.348ms (SLO: <3.650ms -8.3%) vs baseline: -0.2% Memory: ✅ 54.007MB (SLO: <60.000MB -10.0%) vs baseline: +4.8% 🟡 flasksqli - 6/6✅ appsec-enabledTime: ✅ 3.971ms (SLO: <4.200ms -5.4%) vs baseline: +0.3% Memory: ✅ 62.207MB (SLO: <66.000MB -5.7%) vs baseline: +4.8% ✅ iast-enabledTime: ✅ 2.434ms (SLO: <2.800ms 📉 -13.1%) vs baseline: +0.2% Memory: ✅ 59.179MB (SLO: <60.000MB 🟡 -1.4%) vs baseline: +5.1% ✅ tracer-enabledTime: ✅ 2.060ms (SLO: <2.250ms -8.5%) vs baseline: +0.2% Memory: ✅ 52.455MB (SLO: <54.500MB -3.8%) vs baseline: +4.8% 🟡 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 2.983µs (SLO: <20.000µs 📉 -85.1%) vs baseline: -0.9% Memory: ✅ 31.850MB (SLO: <34.000MB -6.3%) vs baseline: +4.9% ✅ 1-count-metrics-100-timesTime: ✅ 209.599µs (SLO: <220.000µs -4.7%) vs baseline: +1.3% Memory: ✅ 31.850MB (SLO: <34.000MB -6.3%) vs baseline: +4.9% ✅ 1-distribution-metric-1-timesTime: ✅ 3.378µs (SLO: <20.000µs 📉 -83.1%) vs baseline: +1.3% Memory: ✅ 31.831MB (SLO: <34.000MB -6.4%) vs baseline: +4.8% ✅ 1-distribution-metrics-100-timesTime: ✅ 216.516µs (SLO: <220.000µs 🟡 -1.6%) vs baseline: -0.4% Memory: ✅ 31.850MB (SLO: <34.000MB -6.3%) vs baseline: +4.9% ✅ 1-gauge-metric-1-timesTime: ✅ 2.221µs (SLO: <20.000µs 📉 -88.9%) vs baseline: +0.8% Memory: ✅ 31.850MB (SLO: <34.000MB -6.3%) vs baseline: +4.9% ✅ 1-gauge-metrics-100-timesTime: ✅ 136.340µs (SLO: <150.000µs -9.1%) vs baseline: ~same Memory: ✅ 31.831MB (SLO: <34.000MB -6.4%) vs baseline: +4.8% ✅ 1-rate-metric-1-timesTime: ✅ 3.119µs (SLO: <20.000µs 📉 -84.4%) vs baseline: -0.9% Memory: ✅ 31.831MB (SLO: <34.000MB -6.4%) vs baseline: +4.8% ✅ 1-rate-metrics-100-timesTime: ✅ 220.350µs (SLO: <250.000µs 📉 -11.9%) vs baseline: +0.7% Memory: ✅ 31.850MB (SLO: <34.000MB -6.3%) vs baseline: +4.9% ✅ 100-count-metrics-100-timesTime: ✅ 21.168ms (SLO: <22.000ms -3.8%) vs baseline: +2.1% Memory: ✅ 31.850MB (SLO: <34.000MB -6.3%) vs baseline: +4.9% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.245ms (SLO: <2.300ms -2.4%) vs baseline: -0.6% Memory: ✅ 31.831MB (SLO: <34.000MB -6.4%) vs baseline: +4.8% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.410ms (SLO: <1.550ms -9.0%) vs baseline: +0.8% Memory: ✅ 31.850MB (SLO: <34.000MB -6.3%) vs baseline: +4.9% ✅ 100-rate-metrics-100-timesTime: ✅ 2.257ms (SLO: <2.550ms 📉 -11.5%) vs baseline: +1.1% Memory: ✅ 31.850MB (SLO: <34.000MB -6.3%) vs baseline: +4.9% ✅ flush-1-metricTime: ✅ 4.526µs (SLO: <20.000µs 📉 -77.4%) vs baseline: +0.4% Memory: ✅ 31.850MB (SLO: <34.000MB -6.3%) vs baseline: +4.9% ✅ flush-100-metricsTime: ✅ 175.778µs (SLO: <250.000µs 📉 -29.7%) vs baseline: +0.4% Memory: ✅ 31.850MB (SLO: <34.000MB -6.3%) vs baseline: +4.9% ✅ flush-1000-metricsTime: ✅ 2.129ms (SLO: <2.500ms 📉 -14.9%) vs baseline: ~same Memory: ✅ 32.637MB (SLO: <34.500MB -5.4%) vs baseline: +4.9%
|
## Description <!-- Provide an overview of the change and motivation for the change --> For [APMS-17683](https://datadoghq.atlassian.net/browse/APMS-17683) customer was having an issue where their custom exception object was unhashable, resulting in a `TypeError` when trying to use the object as a key. This fix changes so that we store the exception object id, not the exception object. ## Testing <!-- Describe your testing strategy or note what tests are included --> ## Risks <!-- Note any risks associated with this change, or "None" if no risks --> ## Additional Notes <!-- Any other information that would be helpful for reviewers --> [APMS-17683]: https://datadoghq.atlassian.net/browse/APMS-17683?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ (cherry picked from commit 84db0e6)
a58173b to
434875e
Compare
Backport 84db0e6 from #15148 to 3.18.
Description
For APMS-17683 customer was having an issue where their custom exception object was unhashable, resulting in a
TypeErrorwhen trying to use the object as a key. This fix changes so that we store the exception object id, not the exception object.Testing
Risks
Additional Notes