-
Notifications
You must be signed in to change notification settings - Fork 461
chore: refactor tracer partial flushing logic #14860
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
base: main
Are you sure you want to change the base?
Conversation
|
itr:noskip This simplify the code and removes the edge case where we tag a complete trace chunk with unncessary partial flush tag
188ba8a
to
441d093
Compare
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 244 ± 3 ms. The average import time from base is: 246 ± 4 ms. The import time difference between this PR and base is: -1.5 ± 0.2 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate APMLP-474/refactor.partial.flushing (6d3db30) with baseline main (3b0136e) 📈 Performance Regressions (2 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 0.405µs (SLO: <10.000µs 📉 -95.9%) vs baseline: -1.5% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +3.8% ✅ add_inplace_aspectTime: ✅ 0.409µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +1.1% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.8% ✅ add_inplace_noaspectTime: ✅ 0.320µs (SLO: <10.000µs 📉 -96.8%) vs baseline: +0.7% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +3.9% ✅ add_noaspectTime: ✅ 0.281µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +2.0% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ bytearray_aspectTime: ✅ 1.323µs (SLO: <10.000µs 📉 -86.8%) vs baseline: -0.1% Memory: ✅ 38.004MB (SLO: <39.000MB -2.6%) vs baseline: +4.6% ✅ bytearray_extend_aspectTime: ✅ 1.464µs (SLO: <10.000µs 📉 -85.4%) vs baseline: +0.4% Memory: ✅ 37.926MB (SLO: <39.000MB -2.8%) vs baseline: +4.3% ✅ bytearray_extend_noaspectTime: ✅ 0.616µs (SLO: <10.000µs 📉 -93.8%) vs baseline: -0.2% Memory: ✅ 37.808MB (SLO: <39.000MB -3.1%) vs baseline: +4.3% ✅ bytearray_noaspectTime: ✅ 0.481µs (SLO: <10.000µs 📉 -95.2%) vs baseline: ~same Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +3.9% ✅ bytes_aspectTime: ✅ 1.292µs (SLO: <10.000µs 📉 -87.1%) vs baseline: +1.4% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +3.8% ✅ bytes_noaspectTime: ✅ 0.494µs (SLO: <10.000µs 📉 -95.1%) vs baseline: ~same Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ bytesio_aspectTime: ✅ 1.371µs (SLO: <10.000µs 📉 -86.3%) vs baseline: ~same Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ bytesio_noaspectTime: ✅ 0.501µs (SLO: <10.000µs 📉 -95.0%) vs baseline: -1.0% Memory: ✅ 38.004MB (SLO: <39.000MB -2.6%) vs baseline: +4.7% ✅ capitalize_aspectTime: ✅ 0.734µs (SLO: <10.000µs 📉 -92.7%) vs baseline: -0.9% Memory: ✅ 37.847MB (SLO: <39.000MB -3.0%) vs baseline: +4.2% ✅ capitalize_noaspectTime: ✅ 0.441µs (SLO: <10.000µs 📉 -95.6%) vs baseline: +0.5% Memory: ✅ 37.749MB (SLO: <39.000MB -3.2%) vs baseline: +3.9% ✅ casefold_aspectTime: ✅ 0.744µs (SLO: <10.000µs 📉 -92.6%) vs baseline: +0.9% Memory: ✅ 38.024MB (SLO: <39.000MB -2.5%) vs baseline: +4.9% ✅ casefold_noaspectTime: ✅ 0.372µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.4% Memory: ✅ 37.945MB (SLO: <39.000MB -2.7%) vs baseline: +4.4% ✅ decode_aspectTime: ✅ 0.725µs (SLO: <10.000µs 📉 -92.7%) vs baseline: +0.7% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +4.0% ✅ decode_noaspectTime: ✅ 0.429µs (SLO: <10.000µs 📉 -95.7%) vs baseline: +2.9% Memory: ✅ 38.024MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ encode_aspectTime: ✅ 0.707µs (SLO: <10.000µs 📉 -92.9%) vs baseline: -0.5% Memory: ✅ 37.768MB (SLO: <39.000MB -3.2%) vs baseline: +3.9% ✅ encode_noaspectTime: ✅ 0.401µs (SLO: <10.000µs 📉 -96.0%) vs baseline: +0.2% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +5.0% ✅ format_aspectTime: ✅ 3.432µs (SLO: <10.000µs 📉 -65.7%) vs baseline: +2.2% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +3.7% ✅ format_map_aspectTime: ✅ 3.673µs (SLO: <10.000µs 📉 -63.3%) vs baseline: +1.1% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +3.9% ✅ format_map_noaspectTime: ✅ 0.774µs (SLO: <10.000µs 📉 -92.3%) vs baseline: +0.2% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +3.8% ✅ format_noaspectTime: ✅ 0.592µs (SLO: <10.000µs 📉 -94.1%) vs baseline: -1.2% Memory: ✅ 37.965MB (SLO: <39.000MB -2.7%) vs baseline: +4.5% ✅ index_aspectTime: ✅ 0.357µs (SLO: <10.000µs 📉 -96.4%) vs baseline: -1.0% Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +3.7% ✅ index_noaspectTime: ✅ 0.278µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +0.6% Memory: ✅ 38.024MB (SLO: <39.000MB -2.5%) vs baseline: +4.6% ✅ join_aspectTime: ✅ 1.391µs (SLO: <10.000µs 📉 -86.1%) vs baseline: -0.4% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +3.7% ✅ join_noaspectTime: ✅ 0.493µs (SLO: <10.000µs 📉 -95.1%) vs baseline: ~same Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.9% ✅ ljust_aspectTime: ✅ 2.518µs (SLO: <20.000µs 📉 -87.4%) vs baseline: +2.2% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.6% ✅ ljust_noaspectTime: ✅ 0.406µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.5% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +5.1% ✅ lower_aspectTime: ✅ 2.338µs (SLO: <10.000µs 📉 -76.6%) vs baseline: +5.9% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ lower_noaspectTime: ✅ 0.369µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +0.1% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ lstrip_aspectTime: ✅ 2.566µs (SLO: <20.000µs 📉 -87.2%) vs baseline: 📈 +13.4% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +3.8% ✅ lstrip_noaspectTime: ✅ 0.384µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.7% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.6% ✅ modulo_aspectTime: ✅ 0.996µs (SLO: <10.000µs 📉 -90.0%) vs baseline: -0.7% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +3.6% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 1.538µs (SLO: <10.000µs 📉 -84.6%) vs baseline: -0.4% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ modulo_aspect_for_bytesTime: ✅ 0.978µs (SLO: <10.000µs 📉 -90.2%) vs baseline: -0.5% Memory: ✅ 37.945MB (SLO: <39.000MB -2.7%) vs baseline: +4.5% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 1.198µs (SLO: <10.000µs 📉 -88.0%) vs baseline: +0.2% Memory: ✅ 38.004MB (SLO: <39.000MB -2.6%) vs baseline: +4.6% ✅ modulo_noaspectTime: ✅ 0.625µs (SLO: <10.000µs 📉 -93.7%) vs baseline: -1.3% Memory: ✅ 38.004MB (SLO: <39.000MB -2.6%) vs baseline: +4.9% ✅ replace_aspectTime: ✅ 4.789µs (SLO: <10.000µs 📉 -52.1%) vs baseline: -0.5% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ replace_noaspectTime: ✅ 0.461µs (SLO: <10.000µs 📉 -95.4%) vs baseline: +0.3% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.1% ✅ repr_aspectTime: ✅ 0.901µs (SLO: <10.000µs 📉 -91.0%) vs baseline: -0.7% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +3.7% ✅ repr_noaspectTime: ✅ 0.414µs (SLO: <10.000µs 📉 -95.9%) vs baseline: -0.3% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ rstrip_aspectTime: ✅ 1.922µs (SLO: <20.000µs 📉 -90.4%) vs baseline: ~same Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.0% ✅ rstrip_noaspectTime: ✅ 0.384µs (SLO: <10.000µs 📉 -96.2%) vs baseline: +1.2% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ slice_aspectTime: ✅ 0.496µs (SLO: <10.000µs 📉 -95.0%) vs baseline: ~same Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +3.8% ✅ slice_noaspectTime: ✅ 0.448µs (SLO: <10.000µs 📉 -95.5%) vs baseline: +0.4% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ stringio_aspectTime: ✅ 1.536µs (SLO: <10.000µs 📉 -84.6%) vs baseline: -0.5% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ stringio_noaspectTime: ✅ 0.721µs (SLO: <10.000µs 📉 -92.8%) vs baseline: +0.3% Memory: ✅ 38.004MB (SLO: <39.000MB -2.6%) vs baseline: +4.5% ✅ strip_aspectTime: ✅ 2.230µs (SLO: <20.000µs 📉 -88.8%) vs baseline: +0.4% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ strip_noaspectTime: ✅ 0.385µs (SLO: <10.000µs 📉 -96.1%) vs baseline: +0.2% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ swapcase_aspectTime: ✅ 2.451µs (SLO: <10.000µs 📉 -75.5%) vs baseline: -0.5% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.8% ✅ swapcase_noaspectTime: ✅ 0.535µs (SLO: <10.000µs 📉 -94.6%) vs baseline: -0.3% Memory: ✅ 38.024MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ title_aspectTime: ✅ 2.461µs (SLO: <10.000µs 📉 -75.4%) vs baseline: +3.9% Memory: ✅ 38.024MB (SLO: <39.000MB -2.5%) vs baseline: +4.9% ✅ title_noaspectTime: ✅ 0.502µs (SLO: <10.000µs 📉 -95.0%) vs baseline: -0.4% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ translate_aspectTime: ✅ 3.234µs (SLO: <10.000µs 📉 -67.7%) vs baseline: +0.7% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ translate_noaspectTime: ✅ 1.038µs (SLO: <10.000µs 📉 -89.6%) vs baseline: -0.6% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +3.7% ✅ upper_aspectTime: ✅ 2.245µs (SLO: <10.000µs 📉 -77.6%) vs baseline: +0.4% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ upper_noaspectTime: ✅ 0.373µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +1.1% Memory: ✅ 38.004MB (SLO: <39.000MB -2.6%) vs baseline: +4.8% 📈 span - 26/26✅ add-eventTime: ✅ 20.356ms (SLO: <22.500ms -9.5%) vs baseline: -0.9% Memory: ✅ 49.395MB (SLO: <53.000MB -6.8%) vs baseline: +2.9% ✅ add-metricsTime: ✅ 90.492ms (SLO: <93.500ms -3.2%) vs baseline: -0.4% Memory: ✅ 702.722MB (SLO: <961.000MB 📉 -26.9%) vs baseline: 📈 +11.5% ✅ add-tagsTime: ✅ 147.023ms (SLO: <155.000ms -5.1%) vs baseline: -0.9% Memory: ✅ 703.227MB (SLO: <962.500MB 📉 -26.9%) vs baseline: 📈 +11.4% ✅ get-contextTime: ✅ 18.662ms (SLO: <20.500ms -9.0%) vs baseline: -2.6% Memory: ✅ 48.257MB (SLO: <53.000MB -8.9%) vs baseline: +2.9% ✅ is-recordingTime: ✅ 18.882ms (SLO: <20.500ms -7.9%) vs baseline: -2.6% Memory: ✅ 48.199MB (SLO: <53.000MB -9.1%) vs baseline: +2.8% ✅ record-exceptionTime: ✅ 37.949ms (SLO: <40.000ms -5.1%) vs baseline: -0.7% Memory: ✅ 42.254MB (SLO: <53.000MB 📉 -20.3%) vs baseline: +3.5% ✅ set-statusTime: ✅ 20.515ms (SLO: <22.000ms -6.8%) vs baseline: -2.4% Memory: ✅ 48.262MB (SLO: <53.000MB -8.9%) vs baseline: +3.0% ✅ startTime: ✅ 18.734ms (SLO: <20.500ms -8.6%) vs baseline: -2.4% Memory: ✅ 48.218MB (SLO: <53.000MB -9.0%) vs baseline: +2.9% ✅ start-finishTime: ✅ 50.590ms (SLO: <52.500ms -3.6%) vs baseline: -1.4% Memory: ✅ 32.126MB (SLO: <34.000MB -5.5%) vs baseline: +4.7% ✅ start-finish-telemetryTime: ✅ 52.024ms (SLO: <54.500ms -4.5%) vs baseline: -1.5% Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +5.0% ✅ start-finish-traceid128Time: ✅ 54.125ms (SLO: <56.000ms -3.3%) vs baseline: -1.0% Memory: ✅ 32.126MB (SLO: <34.000MB -5.5%) vs baseline: +4.8% ✅ start-traceid128Time: ✅ 19.162ms (SLO: <22.500ms 📉 -14.8%) vs baseline: -2.3% Memory: ✅ 48.157MB (SLO: <53.000MB -9.1%) vs baseline: +2.7% ✅ update-nameTime: ✅ 19.422ms (SLO: <22.000ms 📉 -11.7%) vs baseline: -2.0% Memory: ✅ 48.747MB (SLO: <53.000MB -8.0%) vs baseline: +2.7% 🟡 Near SLO Breach (4 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.524ms (SLO: <22.300ms -8.0%) vs baseline: ~same Memory: ✅ 65.484MB (SLO: <67.000MB -2.3%) vs baseline: +4.9% ✅ exception-replay-enabledTime: ✅ 1.340ms (SLO: <1.450ms -7.6%) vs baseline: -0.6% Memory: ✅ 64.606MB (SLO: <67.000MB -3.6%) vs baseline: +4.9% ✅ iastTime: ✅ 20.474ms (SLO: <22.250ms -8.0%) vs baseline: ~same Memory: ✅ 65.465MB (SLO: <67.000MB -2.3%) vs baseline: +4.8% ✅ profilerTime: ✅ 15.259ms (SLO: <16.550ms -7.8%) vs baseline: -0.2% Memory: ✅ 53.629MB (SLO: <54.500MB 🟡 -1.6%) vs baseline: +4.7% ✅ resource-renamingTime: ✅ 20.538ms (SLO: <21.750ms -5.6%) vs baseline: -0.1% Memory: ✅ 65.556MB (SLO: <67.000MB -2.2%) vs baseline: +5.0% ✅ span-code-originTime: ✅ 26.121ms (SLO: <28.200ms -7.4%) vs baseline: -0.4% Memory: ✅ 67.501MB (SLO: <69.500MB -2.9%) vs baseline: +4.9% ✅ tracerTime: ✅ 20.385ms (SLO: <21.750ms -6.3%) vs baseline: -0.4% Memory: ✅ 65.438MB (SLO: <67.000MB -2.3%) vs baseline: +4.9% ✅ tracer-and-profilerTime: ✅ 22.179ms (SLO: <23.500ms -5.6%) vs baseline: +0.5% Memory: ✅ 66.627MB (SLO: <67.500MB 🟡 -1.3%) vs baseline: +4.9% ✅ tracer-dont-create-db-spansTime: ✅ 19.305ms (SLO: <21.500ms 📉 -10.2%) vs baseline: +0.1% Memory: ✅ 65.430MB (SLO: <66.000MB 🟡 -0.9%) vs baseline: +4.8% ✅ tracer-minimalTime: ✅ 16.664ms (SLO: <17.500ms -4.8%) vs baseline: -0.2% Memory: ✅ 65.393MB (SLO: <66.000MB 🟡 -0.9%) vs baseline: +4.8% ✅ tracer-nativeTime: ✅ 20.443ms (SLO: <21.750ms -6.0%) vs baseline: -0.2% Memory: ✅ 71.385MB (SLO: <72.500MB 🟡 -1.5%) vs baseline: +4.7% ✅ tracer-no-cachesTime: ✅ 18.517ms (SLO: <19.650ms -5.8%) vs baseline: +0.1% Memory: ✅ 65.395MB (SLO: <67.000MB -2.4%) vs baseline: +4.8% ✅ tracer-no-databasesTime: ✅ 18.782ms (SLO: <20.100ms -6.6%) vs baseline: -0.1% Memory: ✅ 65.142MB (SLO: <67.000MB -2.8%) vs baseline: +4.4% ✅ tracer-no-middlewareTime: ✅ 20.179ms (SLO: <21.500ms -6.1%) vs baseline: -0.3% Memory: ✅ 65.477MB (SLO: <67.000MB -2.3%) vs baseline: +4.9% ✅ tracer-no-templatesTime: ✅ 20.271ms (SLO: <22.000ms -7.9%) vs baseline: ~same Memory: ✅ 65.529MB (SLO: <67.000MB -2.2%) vs baseline: +5.0% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.041ms (SLO: <19.850ms -9.1%) vs baseline: ~same Memory: ✅ 65.235MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +4.9% ✅ errortracking-enabled-userTime: ✅ 18.043ms (SLO: <19.400ms -7.0%) vs baseline: ~same Memory: ✅ 65.175MB (SLO: <66.500MB 🟡 -2.0%) vs baseline: +4.7% ✅ tracer-enabledTime: ✅ 18.271ms (SLO: <19.450ms -6.1%) vs baseline: +0.7% Memory: ✅ 65.235MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +4.8% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.566ms (SLO: <4.750ms -3.9%) vs baseline: -0.6% Memory: ✅ 62.010MB (SLO: <65.000MB -4.6%) vs baseline: +4.8% ✅ appsec-postTime: ✅ 6.570ms (SLO: <6.750ms -2.7%) vs baseline: -0.4% Memory: ✅ 62.010MB (SLO: <65.000MB -4.6%) vs baseline: +4.8% ✅ appsec-telemetryTime: ✅ 4.566ms (SLO: <4.750ms -3.9%) vs baseline: -0.2% Memory: ✅ 61.971MB (SLO: <65.000MB -4.7%) vs baseline: +4.8% ✅ debuggerTime: ✅ 1.861ms (SLO: <2.000ms -7.0%) vs baseline: +0.2% Memory: ✅ 45.456MB (SLO: <47.000MB -3.3%) vs baseline: +4.7% ✅ iast-getTime: ✅ 1.873ms (SLO: <2.000ms -6.4%) vs baseline: +0.7% Memory: ✅ 42.349MB (SLO: <49.000MB 📉 -13.6%) vs baseline: +4.7% ✅ profilerTime: ✅ 1.913ms (SLO: <2.100ms -8.9%) vs baseline: +0.2% Memory: ✅ 46.498MB (SLO: <47.000MB 🟡 -1.1%) vs baseline: +4.5% ✅ resource-renamingTime: ✅ 3.373ms (SLO: <3.650ms -7.6%) vs baseline: ~same Memory: ✅ 52.239MB (SLO: <53.500MB -2.4%) vs baseline: +4.7% ✅ tracerTime: ✅ 3.365ms (SLO: <3.650ms -7.8%) vs baseline: ~same Memory: ✅ 52.229MB (SLO: <53.500MB -2.4%) vs baseline: +4.8% ✅ tracer-nativeTime: ✅ 3.362ms (SLO: <3.650ms -7.9%) vs baseline: -0.2% Memory: ✅ 58.282MB (SLO: <60.000MB -2.9%) vs baseline: +4.7% 🟡 packagespackageforrootmodulemapping - 4/4✅ cache_offTime: ✅ 341.666ms (SLO: <354.300ms -3.6%) vs baseline: -0.2% Memory: ✅ 37.943MB (SLO: <40.000MB -5.1%) vs baseline: +4.0% ✅ cache_onTime: ✅ 0.381µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -1.1% Memory: ✅ 38.291MB (SLO: <39.000MB 🟡 -1.8%) vs baseline: +7.3%
|
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.
Seems like this might be a bugfix since it changes some snapshots
I don't think so, since it is an internal only tag that is only used for debugging. Customer behavior changes should be nothing. The main change to the snapshot files is, we no longer tag root spans as being partial flushed. e.g. if we have partial flush count set to 1 and have:
When When With this change, we do not set the tag if finished spans count == total trace spans count. So the snapshot files are just updating the places where we were setting the partial flush tag on complete/finished trace chunks flushing. |
Description
This simplify the code and removes the edge case where we tag a complete trace chunk with unnecessary partial flush tag
We move some of the complexity of removing finished spans from a trace into a method.
We add slots to _Trace object to aid in memory usage and size.
Small performance win to use
span.duration_is is not None
to check if a span if finished instead of using thefinished
property function.Testing
Risks
Additional Notes