-
Notifications
You must be signed in to change notification settings - Fork 470
fix: ensure connection is reset if from_http_response raises an exception #15559
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
Signed-off-by: Juanjo Alvarez <[email protected]>
Signed-off-by: Juanjo Alvarez <[email protected]>
|
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 247 ± 2 ms. The average import time from base is: 250 ± 2 ms. The import time difference between this PR and base is: -2.3 ± 0.1 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate juanjux/http-writer-ensure-reset (7fea613) with baseline main (ddecdc2) 📈 Performance Regressions (2 suites)📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 5.065µs (SLO: <10.000µs 📉 -49.3%) vs baseline: 📈 +20.7% Memory: ✅ 38.437MB (SLO: <41.000MB -6.3%) vs baseline: +4.8% ✅ ospathbasename_noaspectTime: ✅ 1.089µs (SLO: <10.000µs 📉 -89.1%) vs baseline: ~same Memory: ✅ 38.614MB (SLO: <41.000MB -5.8%) vs baseline: +5.1% ✅ ospathjoin_aspectTime: ✅ 6.050µs (SLO: <10.000µs 📉 -39.5%) vs baseline: +1.1% Memory: ✅ 38.574MB (SLO: <41.000MB -5.9%) vs baseline: +4.6% ✅ ospathjoin_noaspectTime: ✅ 2.298µs (SLO: <10.000µs 📉 -77.0%) vs baseline: +0.9% Memory: ✅ 38.574MB (SLO: <41.000MB -5.9%) vs baseline: +4.6% ✅ ospathnormcase_aspectTime: ✅ 3.457µs (SLO: <10.000µs 📉 -65.4%) vs baseline: -0.3% Memory: ✅ 38.535MB (SLO: <41.000MB -6.0%) vs baseline: +4.9% ✅ ospathnormcase_noaspectTime: ✅ 0.576µs (SLO: <10.000µs 📉 -94.2%) vs baseline: +0.2% Memory: ✅ 38.574MB (SLO: <41.000MB -5.9%) vs baseline: +4.6% ✅ ospathsplit_aspectTime: ✅ 4.845µs (SLO: <10.000µs 📉 -51.5%) vs baseline: +0.8% Memory: ✅ 38.496MB (SLO: <41.000MB -6.1%) vs baseline: +4.8% ✅ ospathsplit_noaspectTime: ✅ 1.587µs (SLO: <10.000µs 📉 -84.1%) vs baseline: +0.3% Memory: ✅ 38.653MB (SLO: <41.000MB -5.7%) vs baseline: +5.3% ✅ ospathsplitdrive_aspectTime: ✅ 3.676µs (SLO: <10.000µs 📉 -63.2%) vs baseline: +0.2% Memory: ✅ 38.614MB (SLO: <41.000MB -5.8%) vs baseline: +5.0% ✅ ospathsplitdrive_noaspectTime: ✅ 0.707µs (SLO: <10.000µs 📉 -92.9%) vs baseline: +0.4% Memory: ✅ 38.594MB (SLO: <41.000MB -5.9%) vs baseline: +4.9% ✅ ospathsplitext_aspectTime: ✅ 4.577µs (SLO: <10.000µs 📉 -54.2%) vs baseline: +0.9% Memory: ✅ 38.496MB (SLO: <41.000MB -6.1%) vs baseline: +4.4% ✅ ospathsplitext_noaspectTime: ✅ 1.386µs (SLO: <10.000µs 📉 -86.1%) vs baseline: +0.2% Memory: ✅ 38.535MB (SLO: <41.000MB -6.0%) vs baseline: +4.8% 📈 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 3.356µs (SLO: <20.000µs 📉 -83.2%) vs baseline: 📈 +15.9% Memory: ✅ 34.996MB (SLO: <35.500MB 🟡 -1.4%) vs baseline: +4.5% ✅ 1-count-metrics-100-timesTime: ✅ 198.860µs (SLO: <220.000µs -9.6%) vs baseline: -1.3% Memory: ✅ 34.898MB (SLO: <35.500MB 🟡 -1.7%) vs baseline: +4.2% ✅ 1-distribution-metric-1-timesTime: ✅ 3.200µs (SLO: <20.000µs 📉 -84.0%) vs baseline: -0.7% Memory: ✅ 34.937MB (SLO: <35.500MB 🟡 -1.6%) vs baseline: +4.6% ✅ 1-distribution-metrics-100-timesTime: ✅ 212.974µs (SLO: <230.000µs -7.4%) vs baseline: -1.5% Memory: ✅ 35.036MB (SLO: <35.500MB 🟡 -1.3%) vs baseline: +4.9% ✅ 1-gauge-metric-1-timesTime: ✅ 2.195µs (SLO: <20.000µs 📉 -89.0%) vs baseline: ~same Memory: ✅ 34.957MB (SLO: <35.500MB 🟡 -1.5%) vs baseline: +4.5% ✅ 1-gauge-metrics-100-timesTime: ✅ 139.328µs (SLO: <150.000µs -7.1%) vs baseline: +0.8% Memory: ✅ 34.898MB (SLO: <35.500MB 🟡 -1.7%) vs baseline: +4.5% ✅ 1-rate-metric-1-timesTime: ✅ 3.068µs (SLO: <20.000µs 📉 -84.7%) vs baseline: +0.9% Memory: ✅ 35.036MB (SLO: <35.500MB 🟡 -1.3%) vs baseline: +5.6% ✅ 1-rate-metrics-100-timesTime: ✅ 213.237µs (SLO: <250.000µs 📉 -14.7%) vs baseline: +0.4% Memory: ✅ 35.055MB (SLO: <35.500MB 🟡 -1.3%) vs baseline: +4.8% ✅ 100-count-metrics-100-timesTime: ✅ 20.145ms (SLO: <22.000ms -8.4%) vs baseline: ~same Memory: ✅ 34.701MB (SLO: <35.500MB -2.2%) vs baseline: +4.7% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.266ms (SLO: <2.550ms 📉 -11.1%) vs baseline: +0.8% Memory: ✅ 34.780MB (SLO: <35.500MB -2.0%) vs baseline: +4.0% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.438ms (SLO: <1.550ms -7.2%) vs baseline: +0.4% Memory: ✅ 34.741MB (SLO: <35.500MB -2.1%) vs baseline: +5.0% ✅ 100-rate-metrics-100-timesTime: ✅ 2.204ms (SLO: <2.550ms 📉 -13.5%) vs baseline: +0.6% Memory: ✅ 34.721MB (SLO: <35.500MB -2.2%) vs baseline: +4.8% ✅ flush-1-metricTime: ✅ 4.486µs (SLO: <20.000µs 📉 -77.6%) vs baseline: ~same Memory: ✅ 35.055MB (SLO: <35.500MB 🟡 -1.3%) vs baseline: +4.8% ✅ flush-100-metricsTime: ✅ 174.611µs (SLO: <250.000µs 📉 -30.2%) vs baseline: +0.6% Memory: ✅ 35.173MB (SLO: <35.500MB 🟡 -0.9%) vs baseline: +5.0% ✅ flush-1000-metricsTime: ✅ 2.163ms (SLO: <2.500ms 📉 -13.5%) vs baseline: -0.8% Memory: ✅ 35.861MB (SLO: <36.500MB 🟡 -1.7%) vs baseline: +4.7% 🟡 Near SLO Breach (12 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 19.638ms (SLO: <22.300ms 📉 -11.9%) vs baseline: ~same Memory: ✅ 68.144MB (SLO: <70.500MB -3.3%) vs baseline: +4.8% ✅ exception-replay-enabledTime: ✅ 1.360ms (SLO: <1.450ms -6.2%) vs baseline: ~same Memory: ✅ 66.315MB (SLO: <67.500MB 🟡 -1.8%) vs baseline: +4.9% ✅ iastTime: ✅ 19.640ms (SLO: <22.250ms 📉 -11.7%) vs baseline: +0.4% Memory: ✅ 68.243MB (SLO: <70.000MB -2.5%) vs baseline: +5.1% ✅ profilerTime: ✅ 15.500ms (SLO: <16.550ms -6.3%) vs baseline: ~same Memory: ✅ 56.319MB (SLO: <57.500MB -2.1%) vs baseline: +4.6% ✅ resource-renamingTime: ✅ 19.505ms (SLO: <21.750ms 📉 -10.3%) vs baseline: ~same Memory: ✅ 68.144MB (SLO: <70.500MB -3.3%) vs baseline: +4.8% ✅ span-code-originTime: ✅ 19.882ms (SLO: <28.200ms 📉 -29.5%) vs baseline: +0.7% Memory: ✅ 68.178MB (SLO: <71.000MB -4.0%) vs baseline: +5.0% ✅ tracerTime: ✅ 19.589ms (SLO: <21.750ms -9.9%) vs baseline: +0.3% Memory: ✅ 68.203MB (SLO: <70.000MB -2.6%) vs baseline: +4.8% ✅ tracer-and-profilerTime: ✅ 21.712ms (SLO: <23.500ms -7.6%) vs baseline: ~same Memory: ✅ 69.255MB (SLO: <71.000MB -2.5%) vs baseline: +4.8% ✅ tracer-dont-create-db-spansTime: ✅ 19.682ms (SLO: <21.500ms -8.5%) vs baseline: -0.1% Memory: ✅ 68.223MB (SLO: <70.000MB -2.5%) vs baseline: +5.0% ✅ tracer-minimalTime: ✅ 16.824ms (SLO: <17.500ms -3.9%) vs baseline: +0.4% Memory: ✅ 67.790MB (SLO: <70.000MB -3.2%) vs baseline: +4.7% ✅ tracer-nativeTime: ✅ 19.476ms (SLO: <21.750ms 📉 -10.5%) vs baseline: -0.4% Memory: ✅ 68.223MB (SLO: <72.500MB -5.9%) vs baseline: +4.9% ✅ tracer-no-cachesTime: ✅ 17.695ms (SLO: <19.650ms -10.0%) vs baseline: +0.8% Memory: ✅ 67.948MB (SLO: <70.000MB -2.9%) vs baseline: +4.5% ✅ tracer-no-databasesTime: ✅ 19.121ms (SLO: <20.100ms -4.9%) vs baseline: +0.2% Memory: ✅ 67.889MB (SLO: <70.000MB -3.0%) vs baseline: +5.0% ✅ tracer-no-middlewareTime: ✅ 19.335ms (SLO: <21.500ms 📉 -10.1%) vs baseline: +0.7% Memory: ✅ 68.164MB (SLO: <70.000MB -2.6%) vs baseline: +4.8% ✅ tracer-no-templatesTime: ✅ 19.578ms (SLO: <22.000ms 📉 -11.0%) vs baseline: +1.1% Memory: ✅ 68.203MB (SLO: <70.500MB -3.3%) vs baseline: +4.9% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 16.306ms (SLO: <19.850ms 📉 -17.9%) vs baseline: ~same Memory: ✅ 69.868MB (SLO: <70.000MB 🟡 -0.2%) vs baseline: +4.9% ✅ errortracking-enabled-userTime: ✅ 16.306ms (SLO: <19.400ms 📉 -15.9%) vs baseline: ~same Memory: ✅ 69.776MB (SLO: <70.000MB 🟡 -0.3%) vs baseline: +4.8% ✅ tracer-enabledTime: ✅ 16.424ms (SLO: <19.450ms 📉 -15.6%) vs baseline: +0.3% Memory: ✅ 69.855MB (SLO: <70.000MB 🟡 -0.2%) vs baseline: +5.0% 🟡 errortrackingflasksqli - 6/6✅ errortracking-enabled-allTime: ✅ 2.066ms (SLO: <2.300ms 📉 -10.2%) vs baseline: ~same Memory: ✅ 55.738MB (SLO: <56.500MB 🟡 -1.3%) vs baseline: +4.9% ✅ errortracking-enabled-userTime: ✅ 2.074ms (SLO: <2.250ms -7.8%) vs baseline: -0.2% Memory: ✅ 55.778MB (SLO: <56.500MB 🟡 -1.3%) vs baseline: +5.0% ✅ tracer-enabledTime: ✅ 2.066ms (SLO: <2.300ms 📉 -10.2%) vs baseline: ~same Memory: ✅ 55.778MB (SLO: <56.500MB 🟡 -1.3%) vs baseline: +4.9% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 3.368ms (SLO: <4.750ms 📉 -29.1%) vs baseline: -0.4% Memory: ✅ 55.386MB (SLO: <66.500MB 📉 -16.7%) vs baseline: +4.8% ✅ appsec-postTime: ✅ 2.858ms (SLO: <6.750ms 📉 -57.7%) vs baseline: +0.2% Memory: ✅ 55.740MB (SLO: <66.500MB 📉 -16.2%) vs baseline: +4.8% ✅ appsec-telemetryTime: ✅ 3.395ms (SLO: <4.750ms 📉 -28.5%) vs baseline: +0.7% Memory: ✅ 55.472MB (SLO: <66.500MB 📉 -16.6%) vs baseline: +5.0% ✅ debuggerTime: ✅ 1.869ms (SLO: <2.000ms -6.5%) vs baseline: +0.1% Memory: ✅ 47.918MB (SLO: <49.500MB -3.2%) vs baseline: +5.0% ✅ iast-getTime: ✅ 1.855ms (SLO: <2.000ms -7.2%) vs baseline: ~same Memory: ✅ 44.517MB (SLO: <49.000MB -9.1%) vs baseline: +4.7% ✅ profilerTime: ✅ 1.906ms (SLO: <2.100ms -9.2%) vs baseline: ~same Memory: ✅ 48.782MB (SLO: <50.000MB -2.4%) vs baseline: +4.7% ✅ resource-renamingTime: ✅ 3.360ms (SLO: <3.650ms -7.9%) vs baseline: +0.4% Memory: ✅ 55.353MB (SLO: <56.000MB 🟡 -1.2%) vs baseline: +4.7% ✅ tracerTime: ✅ 3.373ms (SLO: <3.650ms -7.6%) vs baseline: ~same Memory: ✅ 55.449MB (SLO: <56.500MB 🟡 -1.9%) vs baseline: +5.0% ✅ tracer-nativeTime: ✅ 3.370ms (SLO: <3.650ms -7.7%) vs baseline: ~same Memory: ✅ 55.404MB (SLO: <60.000MB -7.7%) vs baseline: +4.7% 🟡 flasksqli - 6/6✅ appsec-enabledTime: ✅ 2.059ms (SLO: <4.200ms 📉 -51.0%) vs baseline: +0.1% Memory: ✅ 55.758MB (SLO: <66.000MB 📉 -15.5%) vs baseline: +4.9% ✅ iast-enabledTime: ✅ 2.070ms (SLO: <2.800ms 📉 -26.1%) vs baseline: +0.2% Memory: ✅ 55.778MB (SLO: <62.500MB 📉 -10.8%) vs baseline: +4.8% ✅ tracer-enabledTime: ✅ 2.058ms (SLO: <2.250ms -8.5%) vs baseline: ~same Memory: ✅ 55.778MB (SLO: <56.500MB 🟡 -1.3%) vs baseline: +4.8% 🟡 httppropagationextract - 60/60✅ all_styles_all_headersTime: ✅ 81.149µs (SLO: <100.000µs 📉 -18.9%) vs baseline: -0.6% Memory: ✅ 34.760MB (SLO: <35.500MB -2.1%) vs baseline: +4.4% ✅ b3_headersTime: ✅ 14.164µs (SLO: <20.000µs 📉 -29.2%) vs baseline: +0.3% Memory: ✅ 34.819MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.6% ✅ b3_single_headersTime: ✅ 13.247µs (SLO: <20.000µs 📉 -33.8%) vs baseline: -0.4% Memory: ✅ 34.859MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +4.9% ✅ datadog_tracecontext_tracestate_not_propagated_on_trace_id_no_matchTime: ✅ 63.851µs (SLO: <80.000µs 📉 -20.2%) vs baseline: +0.3% Memory: ✅ 34.839MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.8% ✅ datadog_tracecontext_tracestate_propagated_on_trace_id_matchTime: ✅ 66.265µs (SLO: <80.000µs 📉 -17.2%) vs baseline: +0.7% Memory: ✅ 34.839MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +5.0% ✅ empty_headersTime: ✅ 1.630µs (SLO: <10.000µs 📉 -83.7%) vs baseline: +1.5% Memory: ✅ 34.780MB (SLO: <35.500MB -2.0%) vs baseline: +4.3% ✅ full_t_id_datadog_headersTime: ✅ 22.549µs (SLO: <30.000µs 📉 -24.8%) vs baseline: +0.2% Memory: ✅ 34.800MB (SLO: <35.500MB 🟡 -2.0%) vs baseline: +4.7% ✅ invalid_priority_headerTime: ✅ 6.528µs (SLO: <10.000µs 📉 -34.7%) vs baseline: +0.2% Memory: ✅ 34.800MB (SLO: <35.500MB 🟡 -2.0%) vs baseline: +4.7% ✅ invalid_span_id_headerTime: ✅ 6.542µs (SLO: <10.000µs 📉 -34.6%) vs baseline: +0.8% Memory: ✅ 34.839MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.7% ✅ invalid_tags_headerTime: ✅ 6.516µs (SLO: <10.000µs 📉 -34.8%) vs baseline: ~same Memory: ✅ 34.859MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +5.0% ✅ invalid_trace_id_headerTime: ✅ 6.531µs (SLO: <10.000µs 📉 -34.7%) vs baseline: +0.5% Memory: ✅ 34.800MB (SLO: <35.500MB 🟡 -2.0%) vs baseline: +4.7% ✅ large_header_no_matchesTime: ✅ 27.667µs (SLO: <30.000µs -7.8%) vs baseline: -0.2% Memory: ✅ 34.859MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +4.8% ✅ large_valid_headers_allTime: ✅ 28.718µs (SLO: <40.000µs 📉 -28.2%) vs baseline: -0.4% Memory: ✅ 34.760MB (SLO: <35.500MB -2.1%) vs baseline: +4.7% ✅ medium_header_no_matchesTime: ✅ 9.886µs (SLO: <20.000µs 📉 -50.6%) vs baseline: -0.3% Memory: ✅ 34.957MB (SLO: <35.500MB 🟡 -1.5%) vs baseline: +5.2% ✅ medium_valid_headers_allTime: ✅ 11.364µs (SLO: <20.000µs 📉 -43.2%) vs baseline: +0.6% Memory: ✅ 34.741MB (SLO: <35.500MB -2.1%) vs baseline: +4.0% ✅ none_propagation_styleTime: ✅ 1.743µs (SLO: <10.000µs 📉 -82.6%) vs baseline: +2.0% Memory: ✅ 34.839MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.9% ✅ tracecontext_headersTime: ✅ 34.850µs (SLO: <40.000µs 📉 -12.9%) vs baseline: +0.2% Memory: ✅ 34.839MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.7% ✅ valid_headers_allTime: ✅ 6.539µs (SLO: <10.000µs 📉 -34.6%) vs baseline: +0.7% Memory: ✅ 34.741MB (SLO: <35.500MB -2.1%) vs baseline: +4.7% ✅ valid_headers_basicTime: ✅ 6.079µs (SLO: <10.000µs 📉 -39.2%) vs baseline: -0.4% Memory: ✅ 34.760MB (SLO: <35.500MB -2.1%) vs baseline: +4.6% ✅ wsgi_empty_headersTime: ✅ 1.611µs (SLO: <10.000µs 📉 -83.9%) vs baseline: -0.4% Memory: ✅ 34.839MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +5.0% ✅ wsgi_invalid_priority_headerTime: ✅ 6.585µs (SLO: <10.000µs 📉 -34.1%) vs baseline: +0.2% Memory: ✅ 34.819MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.9% ✅ wsgi_invalid_span_id_headerTime: ✅ 1.614µs (SLO: <10.000µs 📉 -83.9%) vs baseline: +0.4% Memory: ✅ 34.878MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +5.0% ✅ wsgi_invalid_tags_headerTime: ✅ 6.554µs (SLO: <10.000µs 📉 -34.5%) vs baseline: -0.5% Memory: ✅ 34.780MB (SLO: <35.500MB -2.0%) vs baseline: +4.7% ✅ wsgi_invalid_trace_id_headerTime: ✅ 6.623µs (SLO: <10.000µs 📉 -33.8%) vs baseline: +1.9% Memory: ✅ 34.780MB (SLO: <35.500MB -2.0%) vs baseline: +4.3% ✅ wsgi_large_header_no_matchesTime: ✅ 28.753µs (SLO: <40.000µs 📉 -28.1%) vs baseline: -0.3% Memory: ✅ 35.016MB (SLO: <35.500MB 🟡 -1.4%) vs baseline: +5.6% ✅ wsgi_large_valid_headers_allTime: ✅ 29.871µs (SLO: <40.000µs 📉 -25.3%) vs baseline: +0.3% Memory: ✅ 34.957MB (SLO: <35.500MB 🟡 -1.5%) vs baseline: +5.2% ✅ wsgi_medium_header_no_matchesTime: ✅ 10.158µs (SLO: <20.000µs 📉 -49.2%) vs baseline: -0.5% Memory: ✅ 34.918MB (SLO: <35.500MB 🟡 -1.6%) vs baseline: +5.2% ✅ wsgi_medium_valid_headers_allTime: ✅ 11.651µs (SLO: <20.000µs 📉 -41.7%) vs baseline: -0.7% Memory: ✅ 34.780MB (SLO: <35.500MB -2.0%) vs baseline: +4.6% ✅ wsgi_valid_headers_allTime: ✅ 6.531µs (SLO: <10.000µs 📉 -34.7%) vs baseline: -0.7% Memory: ✅ 34.819MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.5% ✅ wsgi_valid_headers_basicTime: ✅ 6.138µs (SLO: <10.000µs 📉 -38.6%) vs baseline: +0.4% Memory: ✅ 34.819MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.9% 🟡 httppropagationinject - 16/16✅ ids_onlyTime: ✅ 22.163µs (SLO: <30.000µs 📉 -26.1%) vs baseline: +5.4% Memory: ✅ 34.859MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +5.0% ✅ with_allTime: ✅ 27.801µs (SLO: <40.000µs 📉 -30.5%) vs baseline: ~same Memory: ✅ 34.800MB (SLO: <35.500MB 🟡 -2.0%) vs baseline: +4.8% ✅ with_dd_originTime: ✅ 24.730µs (SLO: <30.000µs 📉 -17.6%) vs baseline: +0.3% Memory: ✅ 34.800MB (SLO: <35.500MB 🟡 -2.0%) vs baseline: +4.9% ✅ with_priority_and_originTime: ✅ 24.072µs (SLO: <40.000µs 📉 -39.8%) vs baseline: +0.6% Memory: ✅ 34.780MB (SLO: <35.500MB -2.0%) vs baseline: +4.6% ✅ with_sampling_priorityTime: ✅ 21.073µs (SLO: <30.000µs 📉 -29.8%) vs baseline: +1.6% Memory: ✅ 35.016MB (SLO: <35.500MB 🟡 -1.4%) vs baseline: +5.7% ✅ with_tagsTime: ✅ 25.988µs (SLO: <40.000µs 📉 -35.0%) vs baseline: +0.2% Memory: ✅ 34.898MB (SLO: <35.500MB 🟡 -1.7%) vs baseline: +5.3% ✅ with_tags_invalidTime: ✅ 27.267µs (SLO: <40.000µs 📉 -31.8%) vs baseline: -0.7% Memory: ✅ 34.780MB (SLO: <35.500MB -2.0%) vs baseline: +4.7% ✅ with_tags_max_sizeTime: ✅ 26.379µs (SLO: <40.000µs 📉 -34.1%) vs baseline: ~same Memory: ✅ 34.859MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +4.7% 🟡 otelspan - 22/22✅ add-eventTime: ✅ 40.340ms (SLO: <47.150ms 📉 -14.4%) vs baseline: +0.2% Memory: ✅ 39.425MB (SLO: <47.000MB 📉 -16.1%) vs baseline: +4.8% ✅ add-metricsTime: ✅ 260.196ms (SLO: <344.800ms 📉 -24.5%) vs baseline: -0.6% Memory: ✅ 43.875MB (SLO: <47.500MB -7.6%) vs baseline: +4.7% ✅ add-tagsTime: ✅ 316.536ms (SLO: <321.000ms 🟡 -1.4%) vs baseline: -1.0% Memory: ✅ 43.717MB (SLO: <47.500MB -8.0%) vs baseline: +5.2% ✅ get-contextTime: ✅ 80.400ms (SLO: <92.350ms 📉 -12.9%) vs baseline: ~same Memory: ✅ 39.838MB (SLO: <46.500MB 📉 -14.3%) vs baseline: +4.9% ✅ is-recordingTime: ✅ 37.985ms (SLO: <44.500ms 📉 -14.6%) vs baseline: ~same Memory: ✅ 39.494MB (SLO: <47.500MB 📉 -16.9%) vs baseline: +5.0% ✅ record-exceptionTime: ✅ 59.107ms (SLO: <67.650ms 📉 -12.6%) vs baseline: +0.3% Memory: ✅ 40.029MB (SLO: <47.000MB 📉 -14.8%) vs baseline: +4.8% ✅ set-statusTime: ✅ 44.357ms (SLO: <50.400ms 📉 -12.0%) vs baseline: +0.6% Memory: ✅ 39.480MB (SLO: <47.000MB 📉 -16.0%) vs baseline: +5.1% ✅ startTime: ✅ 38.244ms (SLO: <43.450ms 📉 -12.0%) vs baseline: +2.7% Memory: ✅ 39.504MB (SLO: <47.000MB 📉 -15.9%) vs baseline: +4.8% ✅ start-finishTime: ✅ 82.977ms (SLO: <88.000ms -5.7%) vs baseline: +0.3% Memory: ✅ 37.336MB (SLO: <46.500MB 📉 -19.7%) vs baseline: +5.0% ✅ start-finish-telemetryTime: ✅ 84.262ms (SLO: <89.000ms -5.3%) vs baseline: -0.3% Memory: ✅ 37.316MB (SLO: <46.500MB 📉 -19.8%) vs baseline: +4.6% ✅ update-nameTime: ✅ 38.616ms (SLO: <45.150ms 📉 -14.5%) vs baseline: -0.3% Memory: ✅ 39.601MB (SLO: <47.000MB 📉 -15.7%) vs baseline: +4.8% 🟡 ratelimiter - 12/12✅ defaultsTime: ✅ 2.362µs (SLO: <10.000µs 📉 -76.4%) vs baseline: +1.0% Memory: ✅ 35.036MB (SLO: <35.500MB 🟡 -1.3%) vs baseline: +4.6% ✅ high_rate_limitTime: ✅ 2.430µs (SLO: <10.000µs 📉 -75.7%) vs baseline: +0.2% Memory: ✅ 35.173MB (SLO: <35.500MB 🟡 -0.9%) vs baseline: +4.9% ✅ long_windowTime: ✅ 2.344µs (SLO: <10.000µs 📉 -76.6%) vs baseline: -1.4% Memory: ✅ 35.075MB (SLO: <35.500MB 🟡 -1.2%) vs baseline: +4.6% ✅ low_rate_limitTime: ✅ 2.356µs (SLO: <10.000µs 📉 -76.4%) vs baseline: -0.2% Memory: ✅ 35.036MB (SLO: <35.500MB 🟡 -1.3%) vs baseline: +4.6% ✅ no_rate_limitTime: ✅ 0.826µs (SLO: <10.000µs 📉 -91.7%) vs baseline: ~same Memory: ✅ 35.095MB (SLO: <35.500MB 🟡 -1.1%) vs baseline: +4.9% ✅ short_windowTime: ✅ 2.513µs (SLO: <10.000µs 📉 -74.9%) vs baseline: +0.2% Memory: ✅ 34.878MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +4.1% 🟡 recursivecomputation - 8/8✅ deepTime: ✅ 309.074ms (SLO: <320.950ms -3.7%) vs baseline: +0.2% Memory: ✅ 35.940MB (SLO: <36.500MB 🟡 -1.5%) vs baseline: +4.9% ✅ deep-profiledTime: ✅ 328.200ms (SLO: <359.150ms -8.6%) vs baseline: ~same Memory: ✅ 39.813MB (SLO: <40.500MB 🟡 -1.7%) vs baseline: +5.0% ✅ mediumTime: ✅ 7.014ms (SLO: <7.400ms -5.2%) vs baseline: +0.2% Memory: ✅ 34.701MB (SLO: <35.500MB -2.2%) vs baseline: +4.6% ✅ shallowTime: ✅ 0.947ms (SLO: <1.050ms -9.8%) vs baseline: +1.3% Memory: ✅ 34.721MB (SLO: <35.500MB -2.2%) vs baseline: +4.6% 🟡 sethttpmeta - 32/32✅ all-disabledTime: ✅ 10.587µs (SLO: <20.000µs 📉 -47.1%) vs baseline: +0.8% Memory: ✅ 35.684MB (SLO: <36.000MB 🟡 -0.9%) vs baseline: +4.7% ✅ all-enabledTime: ✅ 40.986µs (SLO: <50.000µs 📉 -18.0%) vs baseline: +1.9% Memory: ✅ 35.665MB (SLO: <36.000MB 🟡 -0.9%) vs baseline: +5.2% ✅ collectipvariant_existsTime: ✅ 40.952µs (SLO: <50.000µs 📉 -18.1%) vs baseline: ~same Memory: ✅ 35.743MB (SLO: <36.000MB 🟡 -0.7%) vs baseline: +5.1% ✅ no-collectipvariantTime: ✅ 40.150µs (SLO: <50.000µs 📉 -19.7%) vs baseline: +0.4% Memory: ✅ 35.645MB (SLO: <36.000MB 🟡 -1.0%) vs baseline: +4.9% ✅ no-useragentvariantTime: ✅ 38.988µs (SLO: <50.000µs 📉 -22.0%) vs baseline: +0.1% Memory: ✅ 35.586MB (SLO: <36.000MB 🟡 -1.1%) vs baseline: +4.8% ✅ obfuscation-no-queryTime: ✅ 40.636µs (SLO: <50.000µs 📉 -18.7%) vs baseline: -0.2% Memory: ✅ 35.743MB (SLO: <36.000MB 🟡 -0.7%) vs baseline: +5.1% ✅ obfuscation-regular-case-explicit-queryTime: ✅ 76.088µs (SLO: <90.000µs 📉 -15.5%) vs baseline: +0.4% Memory: ✅ 35.586MB (SLO: <36.500MB -2.5%) vs baseline: +4.9% ✅ obfuscation-regular-case-implicit-queryTime: ✅ 76.543µs (SLO: <90.000µs 📉 -15.0%) vs baseline: +0.2% Memory: ✅ 35.684MB (SLO: <36.500MB -2.2%) vs baseline: +4.9% ✅ obfuscation-send-querystring-disabledTime: ✅ 154.493µs (SLO: <170.000µs -9.1%) vs baseline: ~same Memory: ✅ 35.684MB (SLO: <36.500MB -2.2%) vs baseline: +4.6% ✅ obfuscation-worst-case-explicit-queryTime: ✅ 149.033µs (SLO: <160.000µs -6.9%) vs baseline: ~same Memory: ✅ 35.645MB (SLO: <36.500MB -2.3%) vs baseline: +5.1% ✅ obfuscation-worst-case-implicit-queryTime: ✅ 155.287µs (SLO: <170.000µs -8.7%) vs baseline: +0.2% Memory: ✅ 35.625MB (SLO: <36.500MB -2.4%) vs baseline: +4.7% ✅ useragentvariant_exists_1Time: ✅ 39.629µs (SLO: <50.000µs 📉 -20.7%) vs baseline: ~same Memory: ✅ 35.743MB (SLO: <36.000MB 🟡 -0.7%) vs baseline: +5.0% ✅ useragentvariant_exists_2Time: ✅ 40.796µs (SLO: <50.000µs 📉 -18.4%) vs baseline: +0.5% Memory: ✅ 35.271MB (SLO: <36.000MB -2.0%) vs baseline: +3.8% ✅ useragentvariant_exists_3Time: ✅ 40.280µs (SLO: <50.000µs 📉 -19.4%) vs baseline: -0.2% Memory: ✅ 35.586MB (SLO: <36.000MB 🟡 -1.1%) vs baseline: +4.3% ✅ useragentvariant_not_exists_1Time: ✅ 39.744µs (SLO: <50.000µs 📉 -20.5%) vs baseline: +0.6% Memory: ✅ 35.783MB (SLO: <36.000MB 🟡 -0.6%) vs baseline: +5.1% ✅ useragentvariant_not_exists_2Time: ✅ 39.671µs (SLO: <50.000µs 📉 -20.7%) vs baseline: +0.1% Memory: ✅ 35.684MB (SLO: <36.000MB 🟡 -0.9%) vs baseline: +4.7% 🟡 tracer - 6/6✅ largeTime: ✅ 29.042ms (SLO: <32.950ms 📉 -11.9%) vs baseline: -0.4% Memory: ✅ 36.038MB (SLO: <36.500MB 🟡 -1.3%) vs baseline: +5.2% ✅ mediumTime: ✅ 2.877ms (SLO: <3.200ms 📉 -10.1%) vs baseline: -0.2% Memory: ✅ 34.780MB (SLO: <35.500MB -2.0%) vs baseline: +4.9% ✅ smallTime: ✅ 331.911µs (SLO: <370.000µs 📉 -10.3%) vs baseline: +1.7% Memory: ✅ 34.760MB (SLO: <35.500MB -2.1%) vs baseline: +4.7%
|
Signed-off-by: Juanjo Alvarez <[email protected]>
…/DataDog/dd-trace-py into juanjux/http-writer-ensure-reset
Signed-off-by: Juanjo Alvarez <[email protected]>
…/DataDog/dd-trace-py into juanjux/http-writer-ensure-reset
emmettbutler
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is such a common code path that I'm surprised this bug could stick around so long.
…tion (#15559) ## Description Previously, the http writer was calling `from_http_response` in the `else` block of the exception handler that does the request, set's the log level, et cetera. However this could have the problem of `from_http_response` itself raising an exception (e.g. `http.client.IncompleteRead` as seen on dogweb staging recently) outside of the `Exception` handler, which would leave the `HTTPWriter` object in need of a call to `_reset`; the `finally` would call `_reset` but only if `reuse_connection` aka `DD_TRACE_WRITER_REUSE_CONNECTIONS` was enabled, which is not the default. ## Testing New tests have been added. ## Risks <!-- Note any risks associated with this change, or "None" if no risks --> ## Additional Notes <!-- Any other information that would be helpful for reviewers --> --------- Signed-off-by: Juanjo Alvarez <[email protected]> Co-authored-by: Quinna Halim <[email protected]> (cherry picked from commit be6ff63)
Description
Previously, the http writer was calling
from_http_responsein theelseblock of the exception handler that does the request, set's the log level, et cetera. However this could have the problem offrom_http_responseitself raising an exception (e.g.http.client.IncompleteReadas seen on dogweb staging recently) outside of theExceptionhandler, which would leave theHTTPWriterobject in need of a call to_reset; thefinallywould call_resetbut only ifreuse_connectionakaDD_TRACE_WRITER_REUSE_CONNECTIONSwas enabled, which is not the default.Testing
New tests have been added.
Risks
Additional Notes