-
Notifications
You must be signed in to change notification settings - Fork 470
chore(utils): stop threads in dummy writer #15307
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: 251 ± 2 ms. The average import time from base is: 258 ± 4 ms. The import time difference between this PR and base is: -6.6 ± 0.1 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate vianney/stop-threads-in-dummy (a9f63d0) with baseline main (dbe8eb7) 📈 Performance Regressions (2 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 0.406µs (SLO: <10.000µs 📉 -95.9%) vs baseline: -0.3% Memory: ✅ 39.420MB (SLO: <41.500MB -5.0%) vs baseline: +4.9% ✅ add_inplace_aspectTime: ✅ 0.404µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -0.7% Memory: ✅ 39.302MB (SLO: <41.500MB -5.3%) vs baseline: +4.3% ✅ add_inplace_noaspectTime: ✅ 0.320µs (SLO: <10.000µs 📉 -96.8%) vs baseline: ~same Memory: ✅ 39.558MB (SLO: <41.500MB -4.7%) vs baseline: +5.3% ✅ add_noaspectTime: ✅ 0.279µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +1.4% Memory: ✅ 39.499MB (SLO: <41.500MB -4.8%) vs baseline: +5.0% ✅ bytearray_aspectTime: ✅ 1.321µs (SLO: <10.000µs 📉 -86.8%) vs baseline: -0.4% Memory: ✅ 39.440MB (SLO: <41.500MB -5.0%) vs baseline: +5.0% ✅ bytearray_extend_aspectTime: ✅ 1.539µs (SLO: <10.000µs 📉 -84.6%) vs baseline: +0.8% Memory: ✅ 39.479MB (SLO: <41.500MB -4.9%) vs baseline: +5.0% ✅ bytearray_extend_noaspectTime: ✅ 0.610µs (SLO: <10.000µs 📉 -93.9%) vs baseline: -0.9% Memory: ✅ 39.597MB (SLO: <41.500MB -4.6%) vs baseline: +5.2% ✅ bytearray_noaspectTime: ✅ 0.483µs (SLO: <10.000µs 📉 -95.2%) vs baseline: +0.4% Memory: ✅ 39.400MB (SLO: <41.500MB -5.1%) vs baseline: +4.8% ✅ bytes_aspectTime: ✅ 1.303µs (SLO: <10.000µs 📉 -87.0%) vs baseline: -0.5% Memory: ✅ 39.459MB (SLO: <41.500MB -4.9%) vs baseline: +4.9% ✅ bytes_noaspectTime: ✅ 0.496µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +0.7% Memory: ✅ 39.479MB (SLO: <41.500MB -4.9%) vs baseline: +4.9% ✅ bytesio_aspectTime: ✅ 1.297µs (SLO: <10.000µs 📉 -87.0%) vs baseline: -1.4% Memory: ✅ 39.361MB (SLO: <41.500MB -5.2%) vs baseline: +4.9% ✅ bytesio_noaspectTime: ✅ 0.502µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +1.0% Memory: ✅ 39.518MB (SLO: <41.500MB -4.8%) vs baseline: +5.1% ✅ capitalize_aspectTime: ✅ 0.734µs (SLO: <10.000µs 📉 -92.7%) vs baseline: -0.2% Memory: ✅ 39.361MB (SLO: <41.500MB -5.2%) vs baseline: +4.7% ✅ capitalize_noaspectTime: ✅ 0.440µs (SLO: <10.000µs 📉 -95.6%) vs baseline: +1.8% Memory: ✅ 39.499MB (SLO: <41.500MB -4.8%) vs baseline: +5.2% ✅ casefold_aspectTime: ✅ 0.739µs (SLO: <10.000µs 📉 -92.6%) vs baseline: +0.4% Memory: ✅ 39.361MB (SLO: <41.500MB -5.2%) vs baseline: +4.4% ✅ casefold_noaspectTime: ✅ 0.372µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -1.0% Memory: ✅ 39.420MB (SLO: <41.500MB -5.0%) vs baseline: +4.8% ✅ decode_aspectTime: ✅ 0.720µs (SLO: <10.000µs 📉 -92.8%) vs baseline: -0.1% Memory: ✅ 39.420MB (SLO: <41.500MB -5.0%) vs baseline: +4.6% ✅ decode_noaspectTime: ✅ 0.423µs (SLO: <10.000µs 📉 -95.8%) vs baseline: +1.8% Memory: ✅ 39.420MB (SLO: <41.500MB -5.0%) vs baseline: +4.6% ✅ encode_aspectTime: ✅ 0.707µs (SLO: <10.000µs 📉 -92.9%) vs baseline: -1.1% Memory: ✅ 39.420MB (SLO: <41.500MB -5.0%) vs baseline: +5.1% ✅ encode_noaspectTime: ✅ 0.409µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +1.7% Memory: ✅ 39.597MB (SLO: <41.500MB -4.6%) vs baseline: +5.1% ✅ format_aspectTime: ✅ 3.312µs (SLO: <10.000µs 📉 -66.9%) vs baseline: ~same Memory: ✅ 39.440MB (SLO: <41.500MB -5.0%) vs baseline: +4.6% ✅ format_map_aspectTime: ✅ 3.901µs (SLO: <10.000µs 📉 -61.0%) vs baseline: 📈 +11.7% Memory: ✅ 39.538MB (SLO: <41.500MB -4.7%) vs baseline: +5.0% ✅ format_map_noaspectTime: ✅ 0.780µs (SLO: <10.000µs 📉 -92.2%) vs baseline: ~same Memory: ✅ 39.361MB (SLO: <41.500MB -5.2%) vs baseline: +4.8% ✅ format_noaspectTime: ✅ 0.592µs (SLO: <10.000µs 📉 -94.1%) vs baseline: -0.5% Memory: ✅ 39.499MB (SLO: <41.500MB -4.8%) vs baseline: +5.0% ✅ index_aspectTime: ✅ 0.360µs (SLO: <10.000µs 📉 -96.4%) vs baseline: +0.5% Memory: ✅ 39.440MB (SLO: <41.500MB -5.0%) vs baseline: +4.8% ✅ index_noaspectTime: ✅ 0.276µs (SLO: <10.000µs 📉 -97.2%) vs baseline: -0.7% Memory: ✅ 39.440MB (SLO: <41.500MB -5.0%) vs baseline: +4.9% ✅ join_aspectTime: ✅ 1.370µs (SLO: <10.000µs 📉 -86.3%) vs baseline: -1.1% Memory: ✅ 39.518MB (SLO: <41.500MB -4.8%) vs baseline: +5.1% ✅ join_noaspectTime: ✅ 0.491µs (SLO: <10.000µs 📉 -95.1%) vs baseline: ~same Memory: ✅ 39.420MB (SLO: <41.500MB -5.0%) vs baseline: +4.9% ✅ ljust_aspectTime: ✅ 2.516µs (SLO: <20.000µs 📉 -87.4%) vs baseline: +0.8% Memory: ✅ 39.499MB (SLO: <41.500MB -4.8%) vs baseline: +5.2% ✅ ljust_noaspectTime: ✅ 0.403µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -0.2% Memory: ✅ 39.440MB (SLO: <41.500MB -5.0%) vs baseline: +5.2% ✅ lower_aspectTime: ✅ 2.212µs (SLO: <10.000µs 📉 -77.9%) vs baseline: +0.5% Memory: ✅ 39.341MB (SLO: <41.500MB -5.2%) vs baseline: +4.5% ✅ lower_noaspectTime: ✅ 0.371µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +1.7% Memory: ✅ 39.499MB (SLO: <41.500MB -4.8%) vs baseline: +4.9% ✅ lstrip_aspectTime: ✅ 2.224µs (SLO: <20.000µs 📉 -88.9%) vs baseline: ~same Memory: ✅ 39.479MB (SLO: <41.500MB -4.9%) vs baseline: +4.9% ✅ lstrip_noaspectTime: ✅ 0.380µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -1.0% Memory: ✅ 39.558MB (SLO: <41.500MB -4.7%) vs baseline: +5.2% ✅ modulo_aspectTime: ✅ 1.040µs (SLO: <10.000µs 📉 -89.6%) vs baseline: -1.9% Memory: ✅ 39.341MB (SLO: <41.500MB -5.2%) vs baseline: +4.6% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 1.546µs (SLO: <10.000µs 📉 -84.5%) vs baseline: -0.1% Memory: ✅ 39.538MB (SLO: <41.500MB -4.7%) vs baseline: +5.0% ✅ modulo_aspect_for_bytesTime: ✅ 0.973µs (SLO: <10.000µs 📉 -90.3%) vs baseline: -1.7% Memory: ✅ 39.361MB (SLO: <41.500MB -5.2%) vs baseline: +4.2% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 1.250µs (SLO: <10.000µs 📉 -87.5%) vs baseline: ~same Memory: ✅ 39.479MB (SLO: <41.500MB -4.9%) vs baseline: +5.1% ✅ modulo_noaspectTime: ✅ 0.625µs (SLO: <10.000µs 📉 -93.7%) vs baseline: -0.4% Memory: ✅ 39.479MB (SLO: <41.500MB -4.9%) vs baseline: +4.9% ✅ replace_aspectTime: ✅ 4.910µs (SLO: <10.000µs 📉 -50.9%) vs baseline: +0.9% Memory: ✅ 39.459MB (SLO: <41.500MB -4.9%) vs baseline: +4.0% ✅ replace_noaspectTime: ✅ 0.463µs (SLO: <10.000µs 📉 -95.4%) vs baseline: +0.8% Memory: ✅ 39.440MB (SLO: <41.500MB -5.0%) vs baseline: +5.0% ✅ repr_aspectTime: ✅ 0.902µs (SLO: <10.000µs 📉 -91.0%) vs baseline: -0.5% Memory: ✅ 39.361MB (SLO: <41.500MB -5.2%) vs baseline: +4.6% ✅ repr_noaspectTime: ✅ 0.410µs (SLO: <10.000µs 📉 -95.9%) vs baseline: -1.6% Memory: ✅ 39.518MB (SLO: <41.500MB -4.8%) vs baseline: +4.9% ✅ rstrip_aspectTime: ✅ 1.873µs (SLO: <20.000µs 📉 -90.6%) vs baseline: +0.7% Memory: ✅ 39.381MB (SLO: <41.500MB -5.1%) vs baseline: +4.8% ✅ rstrip_noaspectTime: ✅ 0.376µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.8% Memory: ✅ 39.263MB (SLO: <41.500MB -5.4%) vs baseline: +4.2% ✅ slice_aspectTime: ✅ 0.493µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.8% Memory: ✅ 39.361MB (SLO: <41.500MB -5.2%) vs baseline: +4.7% ✅ slice_noaspectTime: ✅ 0.447µs (SLO: <10.000µs 📉 -95.5%) vs baseline: -0.7% Memory: ✅ 39.381MB (SLO: <41.500MB -5.1%) vs baseline: +4.5% ✅ stringio_aspectTime: ✅ 1.539µs (SLO: <10.000µs 📉 -84.6%) vs baseline: +0.7% Memory: ✅ 39.479MB (SLO: <41.500MB -4.9%) vs baseline: +5.0% ✅ stringio_noaspectTime: ✅ 0.719µs (SLO: <10.000µs 📉 -92.8%) vs baseline: +1.5% Memory: ✅ 39.499MB (SLO: <41.500MB -4.8%) vs baseline: +5.2% ✅ strip_aspectTime: ✅ 2.233µs (SLO: <20.000µs 📉 -88.8%) vs baseline: +1.6% Memory: ✅ 39.440MB (SLO: <41.500MB -5.0%) vs baseline: +5.0% ✅ strip_noaspectTime: ✅ 0.385µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.2% Memory: ✅ 39.400MB (SLO: <41.500MB -5.1%) vs baseline: +5.0% ✅ swapcase_aspectTime: ✅ 2.411µs (SLO: <10.000µs 📉 -75.9%) vs baseline: +0.6% Memory: ✅ 39.420MB (SLO: <41.500MB -5.0%) vs baseline: +3.8% ✅ swapcase_noaspectTime: ✅ 0.533µs (SLO: <10.000µs 📉 -94.7%) vs baseline: -1.6% Memory: ✅ 39.479MB (SLO: <41.500MB -4.9%) vs baseline: +5.0% ✅ title_aspectTime: ✅ 2.346µs (SLO: <10.000µs 📉 -76.5%) vs baseline: +1.4% Memory: ✅ 39.381MB (SLO: <41.500MB -5.1%) vs baseline: +4.6% ✅ title_noaspectTime: ✅ 0.502µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +0.5% Memory: ✅ 39.499MB (SLO: <41.500MB -4.8%) vs baseline: +4.9% ✅ translate_aspectTime: ✅ 3.198µs (SLO: <10.000µs 📉 -68.0%) vs baseline: -0.5% Memory: ✅ 39.440MB (SLO: <41.500MB -5.0%) vs baseline: +3.9% ✅ translate_noaspectTime: ✅ 1.044µs (SLO: <10.000µs 📉 -89.6%) vs baseline: +0.3% Memory: ✅ 39.518MB (SLO: <41.500MB -4.8%) vs baseline: +5.1% ✅ upper_aspectTime: ✅ 2.226µs (SLO: <10.000µs 📉 -77.7%) vs baseline: +1.2% Memory: ✅ 39.499MB (SLO: <41.500MB -4.8%) vs baseline: +5.0% ✅ upper_noaspectTime: ✅ 0.368µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.8% Memory: ✅ 39.420MB (SLO: <41.500MB -5.0%) vs baseline: +4.6% 📈 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 3.277µs (SLO: <20.000µs 📉 -83.6%) vs baseline: 📈 +11.0% Memory: ✅ 34.583MB (SLO: <35.500MB -2.6%) vs baseline: +5.0% ✅ 1-count-metrics-100-timesTime: ✅ 198.720µs (SLO: <220.000µs -9.7%) vs baseline: -1.2% Memory: ✅ 34.505MB (SLO: <35.500MB -2.8%) vs baseline: +4.9% ✅ 1-distribution-metric-1-timesTime: ✅ 3.367µs (SLO: <20.000µs 📉 -83.2%) vs baseline: +0.7% Memory: ✅ 34.505MB (SLO: <35.500MB -2.8%) vs baseline: +4.9% ✅ 1-distribution-metrics-100-timesTime: ✅ 216.112µs (SLO: <220.000µs 🟡 -1.8%) vs baseline: -1.9% Memory: ✅ 34.544MB (SLO: <35.500MB -2.7%) vs baseline: +5.0% ✅ 1-gauge-metric-1-timesTime: ✅ 2.145µs (SLO: <20.000µs 📉 -89.3%) vs baseline: -0.9% Memory: ✅ 34.505MB (SLO: <35.500MB -2.8%) vs baseline: +4.6% ✅ 1-gauge-metrics-100-timesTime: ✅ 136.935µs (SLO: <150.000µs -8.7%) vs baseline: +0.1% Memory: ✅ 34.524MB (SLO: <35.500MB -2.7%) vs baseline: +4.7% ✅ 1-rate-metric-1-timesTime: ✅ 3.390µs (SLO: <20.000µs 📉 -83.0%) vs baseline: +9.3% Memory: ✅ 34.406MB (SLO: <35.500MB -3.1%) vs baseline: +4.7% ✅ 1-rate-metrics-100-timesTime: ✅ 211.760µs (SLO: <250.000µs 📉 -15.3%) vs baseline: -1.2% Memory: ✅ 34.564MB (SLO: <35.500MB -2.6%) vs baseline: +4.9% ✅ 100-count-metrics-100-timesTime: ✅ 20.108ms (SLO: <22.000ms -8.6%) vs baseline: +1.3% Memory: ✅ 34.603MB (SLO: <35.500MB -2.5%) vs baseline: +5.4% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.276ms (SLO: <2.300ms 🟡 -1.1%) vs baseline: +0.6% Memory: ✅ 34.544MB (SLO: <35.500MB -2.7%) vs baseline: +5.0% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.417ms (SLO: <1.550ms -8.6%) vs baseline: +1.1% Memory: ✅ 34.485MB (SLO: <35.500MB -2.9%) vs baseline: +4.7% ✅ 100-rate-metrics-100-timesTime: ✅ 2.215ms (SLO: <2.550ms 📉 -13.2%) vs baseline: +0.8% Memory: ✅ 34.505MB (SLO: <35.500MB -2.8%) vs baseline: +4.9% ✅ flush-1-metricTime: ✅ 4.801µs (SLO: <20.000µs 📉 -76.0%) vs baseline: +5.4% Memory: ✅ 34.583MB (SLO: <35.500MB -2.6%) vs baseline: +5.3% ✅ flush-100-metricsTime: ✅ 175.026µs (SLO: <250.000µs 📉 -30.0%) vs baseline: +1.1% Memory: ✅ 34.642MB (SLO: <35.500MB -2.4%) vs baseline: +5.2% ✅ flush-1000-metricsTime: ✅ 2.104ms (SLO: <2.500ms 📉 -15.8%) vs baseline: -1.2% Memory: ✅ 35.311MB (SLO: <36.500MB -3.3%) vs baseline: +4.9% 🟡 Near SLO Breach (1 suite)🟡 otelspan - 22/22✅ add-eventTime: ✅ 39.333ms (SLO: <47.150ms 📉 -16.6%) vs baseline: +2.3% Memory: ✅ 39.041MB (SLO: <47.000MB 📉 -16.9%) vs baseline: +5.1% ✅ add-metricsTime: ✅ 257.070ms (SLO: <344.800ms 📉 -25.4%) vs baseline: +0.1% Memory: ✅ 43.352MB (SLO: <47.500MB -8.7%) vs baseline: +4.9% ✅ add-tagsTime: ✅ 315.924ms (SLO: <321.000ms 🟡 -1.6%) vs baseline: ~same Memory: ✅ 43.237MB (SLO: <47.500MB -9.0%) vs baseline: +4.7% ✅ get-contextTime: ✅ 78.865ms (SLO: <92.350ms 📉 -14.6%) vs baseline: +0.6% Memory: ✅ 39.232MB (SLO: <46.500MB 📉 -15.6%) vs baseline: +4.5% ✅ is-recordingTime: ✅ 36.089ms (SLO: <44.500ms 📉 -18.9%) vs baseline: ~same Memory: ✅ 38.725MB (SLO: <47.500MB 📉 -18.5%) vs baseline: +4.6% ✅ record-exceptionTime: ✅ 58.285ms (SLO: <67.650ms 📉 -13.8%) vs baseline: +2.3% Memory: ✅ 39.318MB (SLO: <47.000MB 📉 -16.3%) vs baseline: +4.9% ✅ set-statusTime: ✅ 42.363ms (SLO: <50.400ms 📉 -15.9%) vs baseline: ~same Memory: ✅ 38.715MB (SLO: <47.000MB 📉 -17.6%) vs baseline: +4.6% ✅ startTime: ✅ 36.146ms (SLO: <43.450ms 📉 -16.8%) vs baseline: +2.0% Memory: ✅ 38.960MB (SLO: <47.000MB 📉 -17.1%) vs baseline: +5.1% ✅ start-finishTime: ✅ 82.076ms (SLO: <88.000ms -6.7%) vs baseline: +0.8% Memory: ✅ 36.510MB (SLO: <46.500MB 📉 -21.5%) vs baseline: +4.7% ✅ start-finish-telemetryTime: ✅ 85.121ms (SLO: <89.000ms -4.4%) vs baseline: +1.9% Memory: ✅ 36.687MB (SLO: <46.500MB 📉 -21.1%) vs baseline: +5.2% ✅ update-nameTime: ✅ 37.665ms (SLO: <45.150ms 📉 -16.6%) vs baseline: +2.1% Memory: ✅ 38.998MB (SLO: <47.000MB 📉 -17.0%) vs baseline: +4.8%
|
8001299 to
1649d17
Compare
1649d17 to
756bab1
Compare
## Description Fix crash in `appsec_threats` test on macos caused by to many NativeWriter being created. The crash is due to each native writer instance holding onto a kqueue fd exceeding the macos ulimit (256). This fixes the issue by shutting down the tokio runtime of the native writer when we are done with the DummyTracer ie. when pop is called. ## Testing Run the `appsec_threats_fastapi` test with `ulimit -n` set to 256 (by default on mac). --------- Co-authored-by: Christophe Papazian <[email protected]> Co-authored-by: Christophe Papazian <[email protected]>
Description
Fix crash in
appsec_threatstest on macos caused by to many NativeWriter being created. The crash is due to each native writer instance holding onto a kqueue fd exceeding the macos ulimit (256). This fixes the issue by shutting down the tokio runtime of the native writer when we are done with the DummyTracer ie. when pop is called.Testing
Run the
appsec_threats_fastapitest withulimit -nset to 256 (by default on mac).