-
Notifications
You must be signed in to change notification settings - Fork 457
chore(crashtracking): fix flaky test around receiving crash messages #14654
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: 266 ± 3 ms. The average import time from base is: 269 ± 2 ms. The import time difference between this PR and base is: -2.4 ± 0.1 ms. Import time breakdownThe following import paths have grown:
|
Performance SLOsComparing candidate gyuheon0h/fix-flaky-test (f6ae194) with baseline main (8fbf836) 📈 Performance Regressions (2 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 0.404µs (SLO: <10.000µs 📉 -96.0%) vs baseline: +0.5% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.1% ✅ add_inplace_aspectTime: ✅ 0.416µs (SLO: <10.000µs 📉 -95.8%) vs baseline: +1.5% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ add_inplace_noaspectTime: ✅ 0.319µs (SLO: <10.000µs 📉 -96.8%) vs baseline: +0.7% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.8% ✅ add_noaspectTime: ✅ 0.276µs (SLO: <10.000µs 📉 -97.2%) vs baseline: -0.2% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ bytearray_aspectTime: ✅ 1.320µs (SLO: <10.000µs 📉 -86.8%) vs baseline: -0.8% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% ✅ bytearray_extend_aspectTime: ✅ 1.484µs (SLO: <10.000µs 📉 -85.2%) vs baseline: +1.2% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ bytearray_extend_noaspectTime: ✅ 0.615µs (SLO: <10.000µs 📉 -93.8%) vs baseline: +1.1% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ bytearray_noaspectTime: ✅ 0.481µs (SLO: <10.000µs 📉 -95.2%) vs baseline: -0.7% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ bytes_aspectTime: ✅ 1.519µs (SLO: <10.000µs 📉 -84.8%) vs baseline: 📈 +15.3% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ bytes_noaspectTime: ✅ 0.489µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.2% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ bytesio_aspectTime: ✅ 1.346µs (SLO: <10.000µs 📉 -86.5%) vs baseline: -1.3% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.1% ✅ bytesio_noaspectTime: ✅ 0.495µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.6% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ capitalize_aspectTime: ✅ 0.740µs (SLO: <10.000µs 📉 -92.6%) vs baseline: +0.3% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ capitalize_noaspectTime: ✅ 0.433µs (SLO: <10.000µs 📉 -95.7%) vs baseline: ~same Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ casefold_aspectTime: ✅ 0.735µs (SLO: <10.000µs 📉 -92.6%) vs baseline: -0.1% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ casefold_noaspectTime: ✅ 0.366µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -1.5% Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.9% ✅ decode_aspectTime: ✅ 0.722µs (SLO: <10.000µs 📉 -92.8%) vs baseline: -0.5% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ decode_noaspectTime: ✅ 0.419µs (SLO: <10.000µs 📉 -95.8%) vs baseline: +0.6% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ encode_aspectTime: ✅ 0.708µs (SLO: <10.000µs 📉 -92.9%) vs baseline: +0.4% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ encode_noaspectTime: ✅ 0.405µs (SLO: <10.000µs 📉 -96.0%) vs baseline: +1.2% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ format_aspectTime: ✅ 3.571µs (SLO: <10.000µs 📉 -64.3%) vs baseline: +3.3% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% ✅ format_map_aspectTime: ✅ 4.214µs (SLO: <10.000µs 📉 -57.9%) vs baseline: 📈 +14.6% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +5.0% ✅ format_map_noaspectTime: ✅ 0.772µs (SLO: <10.000µs 📉 -92.3%) vs baseline: -0.1% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ format_noaspectTime: ✅ 0.597µs (SLO: <10.000µs 📉 -94.0%) vs baseline: +0.9% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ index_aspectTime: ✅ 0.359µs (SLO: <10.000µs 📉 -96.4%) vs baseline: +0.7% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ index_noaspectTime: ✅ 0.276µs (SLO: <10.000µs 📉 -97.2%) vs baseline: ~same Memory: ✅ 37.749MB (SLO: <39.000MB -3.2%) vs baseline: +5.1% ✅ join_aspectTime: ✅ 1.388µs (SLO: <10.000µs 📉 -86.1%) vs baseline: +1.9% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% ✅ join_noaspectTime: ✅ 0.490µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.8% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.6% ✅ ljust_aspectTime: ✅ 2.623µs (SLO: <20.000µs 📉 -86.9%) vs baseline: ~same Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.9% ✅ ljust_noaspectTime: ✅ 0.410µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +1.3% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ lower_aspectTime: ✅ 2.247µs (SLO: <10.000µs 📉 -77.5%) vs baseline: +1.4% Memory: ✅ 37.611MB (SLO: <39.000MB -3.6%) vs baseline: +4.9% ✅ lower_noaspectTime: ✅ 0.372µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +1.8% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ lstrip_aspectTime: ✅ 2.313µs (SLO: <20.000µs 📉 -88.4%) vs baseline: +2.0% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% ✅ lstrip_noaspectTime: ✅ 0.384µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.2% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ modulo_aspectTime: ✅ 0.993µs (SLO: <10.000µs 📉 -90.1%) vs baseline: ~same Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 1.550µs (SLO: <10.000µs 📉 -84.5%) vs baseline: ~same Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% ✅ modulo_aspect_for_bytesTime: ✅ 0.979µs (SLO: <10.000µs 📉 -90.2%) vs baseline: -1.5% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 1.231µs (SLO: <10.000µs 📉 -87.7%) vs baseline: -1.4% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ modulo_noaspectTime: ✅ 0.628µs (SLO: <10.000µs 📉 -93.7%) vs baseline: +0.2% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.9% ✅ replace_aspectTime: ✅ 4.976µs (SLO: <10.000µs 📉 -50.2%) vs baseline: +0.9% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ replace_noaspectTime: ✅ 0.461µs (SLO: <10.000µs 📉 -95.4%) vs baseline: -0.8% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ repr_aspectTime: ✅ 0.907µs (SLO: <10.000µs 📉 -90.9%) vs baseline: +0.5% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ repr_noaspectTime: ✅ 0.419µs (SLO: <10.000µs 📉 -95.8%) vs baseline: +0.7% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.1% ✅ rstrip_aspectTime: ✅ 1.988µs (SLO: <20.000µs 📉 -90.1%) vs baseline: +2.0% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ rstrip_noaspectTime: ✅ 0.375µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -1.6% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ slice_aspectTime: ✅ 0.497µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +0.6% Memory: ✅ 37.611MB (SLO: <39.000MB -3.6%) vs baseline: +4.6% ✅ slice_noaspectTime: ✅ 0.450µs (SLO: <10.000µs 📉 -95.5%) vs baseline: +0.8% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ stringio_aspectTime: ✅ 1.548µs (SLO: <10.000µs 📉 -84.5%) vs baseline: -0.9% Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ stringio_noaspectTime: ✅ 0.723µs (SLO: <10.000µs 📉 -92.8%) vs baseline: -0.2% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.6% ✅ strip_aspectTime: ✅ 2.281µs (SLO: <20.000µs 📉 -88.6%) vs baseline: +0.5% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.2% ✅ strip_noaspectTime: ✅ 0.383µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.5% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ swapcase_aspectTime: ✅ 2.459µs (SLO: <10.000µs 📉 -75.4%) vs baseline: +0.9% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ swapcase_noaspectTime: ✅ 0.538µs (SLO: <10.000µs 📉 -94.6%) vs baseline: +0.3% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ title_aspectTime: ✅ 2.476µs (SLO: <10.000µs 📉 -75.2%) vs baseline: +6.0% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ title_noaspectTime: ✅ 0.504µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +0.1% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ translate_aspectTime: ✅ 3.481µs (SLO: <10.000µs 📉 -65.2%) vs baseline: +6.2% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ translate_noaspectTime: ✅ 1.042µs (SLO: <10.000µs 📉 -89.6%) vs baseline: +0.3% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ upper_aspectTime: ✅ 2.253µs (SLO: <10.000µs 📉 -77.5%) vs baseline: ~same Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ upper_noaspectTime: ✅ 0.370µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.2% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.1% 📈 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 3.139µs (SLO: <20.000µs 📉 -84.3%) vs baseline: -1.5% Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +5.0% ✅ 1-count-metrics-100-timesTime: ✅ 212.479µs (SLO: <250.000µs 📉 -15.0%) vs baseline: -1.2% Memory: ✅ 32.126MB (SLO: <34.000MB -5.5%) vs baseline: +4.9% ✅ 1-distribution-metric-1-timesTime: ✅ 2.940µs (SLO: <20.000µs 📉 -85.3%) vs baseline: -0.7% Memory: ✅ 32.204MB (SLO: <34.000MB -5.3%) vs baseline: +5.1% ✅ 1-distribution-metrics-100-timesTime: ✅ 191.848µs (SLO: <220.000µs 📉 -12.8%) vs baseline: -0.3% Memory: ✅ 32.067MB (SLO: <34.000MB -5.7%) vs baseline: +4.5% ✅ 1-gauge-metric-1-timesTime: ✅ 2.368µs (SLO: <20.000µs 📉 -88.2%) vs baseline: 📈 +12.2% Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +5.1% ✅ 1-gauge-metrics-100-timesTime: ✅ 126.734µs (SLO: <150.000µs 📉 -15.5%) vs baseline: +0.7% Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.8% ✅ 1-rate-metric-1-timesTime: ✅ 3.171µs (SLO: <20.000µs 📉 -84.1%) vs baseline: -1.4% Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +5.0% ✅ 1-rate-metrics-100-timesTime: ✅ 214.399µs (SLO: <250.000µs 📉 -14.2%) vs baseline: -0.7% Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.6% ✅ 100-count-metrics-100-timesTime: ✅ 21.307ms (SLO: <23.500ms -9.3%) vs baseline: -0.6% Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +4.9% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.028ms (SLO: <2.250ms -9.9%) vs baseline: +3.2% Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.6% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.297ms (SLO: <1.550ms 📉 -16.3%) vs baseline: +1.4% Memory: ✅ 32.126MB (SLO: <34.000MB -5.5%) vs baseline: +4.7% ✅ 100-rate-metrics-100-timesTime: ✅ 2.189ms (SLO: <2.550ms 📉 -14.1%) vs baseline: -0.3% Memory: ✅ 32.224MB (SLO: <34.000MB -5.2%) vs baseline: +5.3% ✅ flush-1-metricTime: ✅ 4.096µs (SLO: <20.000µs 📉 -79.5%) vs baseline: -1.7% Memory: ✅ 32.067MB (SLO: <34.000MB -5.7%) vs baseline: +4.5% ✅ flush-100-metricsTime: ✅ 180.429µs (SLO: <250.000µs 📉 -27.8%) vs baseline: -1.9% Memory: ✅ 32.126MB (SLO: <34.000MB -5.5%) vs baseline: +4.7% ✅ flush-1000-metricsTime: ✅ 2.206ms (SLO: <2.500ms 📉 -11.8%) vs baseline: +1.2% Memory: ✅ 32.893MB (SLO: <34.500MB -4.7%) vs baseline: +4.7% 🟡 Near SLO Breach (2 suites)🟡 djangosimple - 28/28✅ appsecTime: ✅ 20.516ms (SLO: <22.300ms -8.0%) vs baseline: -0.1% Memory: ✅ 65.252MB (SLO: <67.000MB -2.6%) vs baseline: +5.0% ✅ exception-replay-enabledTime: ✅ 1.350ms (SLO: <1.450ms -6.9%) vs baseline: +0.6% Memory: ✅ 64.065MB (SLO: <67.000MB -4.4%) vs baseline: +4.8% ✅ iastTime: ✅ 20.501ms (SLO: <22.250ms -7.9%) vs baseline: +0.4% Memory: ✅ 65.223MB (SLO: <67.000MB -2.7%) vs baseline: +4.8% ✅ profilerTime: ✅ 15.336ms (SLO: <16.550ms -7.3%) vs baseline: +0.2% Memory: ✅ 53.300MB (SLO: <54.500MB -2.2%) vs baseline: +4.5% ✅ span-code-originTime: ✅ 26.167ms (SLO: <28.200ms -7.2%) vs baseline: ~same Memory: ✅ 67.441MB (SLO: <69.500MB -3.0%) vs baseline: +5.2% ✅ tracerTime: ✅ 20.568ms (SLO: <21.750ms -5.4%) vs baseline: +0.3% Memory: ✅ 65.245MB (SLO: <67.000MB -2.6%) vs baseline: +4.7% ✅ tracer-and-profilerTime: ✅ 22.123ms (SLO: <23.500ms -5.9%) vs baseline: ~same Memory: ✅ 66.367MB (SLO: <67.500MB 🟡 -1.7%) vs baseline: +5.0% ✅ tracer-dont-create-db-spansTime: ✅ 19.346ms (SLO: <21.500ms 📉 -10.0%) vs baseline: -0.2% Memory: ✅ 65.223MB (SLO: <66.000MB 🟡 -1.2%) vs baseline: +4.8% ✅ tracer-minimalTime: ✅ 16.601ms (SLO: <17.500ms -5.1%) vs baseline: -0.5% Memory: ✅ 65.064MB (SLO: <66.000MB 🟡 -1.4%) vs baseline: +5.1% ✅ tracer-nativeTime: ✅ 20.462ms (SLO: <21.750ms -5.9%) vs baseline: -0.2% Memory: ✅ 71.093MB (SLO: <72.500MB 🟡 -1.9%) vs baseline: +4.8% ✅ tracer-no-cachesTime: ✅ 18.420ms (SLO: <19.650ms -6.3%) vs baseline: -0.2% Memory: ✅ 65.284MB (SLO: <67.000MB -2.6%) vs baseline: +4.8% ✅ tracer-no-databasesTime: ✅ 18.765ms (SLO: <20.100ms -6.6%) vs baseline: -0.2% Memory: ✅ 64.845MB (SLO: <67.000MB -3.2%) vs baseline: +4.7% ✅ tracer-no-middlewareTime: ✅ 20.204ms (SLO: <21.500ms -6.0%) vs baseline: +0.3% Memory: ✅ 65.160MB (SLO: <67.000MB -2.7%) vs baseline: +4.6% ✅ tracer-no-templatesTime: ✅ 20.322ms (SLO: <22.000ms -7.6%) vs baseline: +0.2% Memory: ✅ 65.280MB (SLO: <67.000MB -2.6%) vs baseline: +4.9% 🟡 otelspan - 22/22✅ add-eventTime: ✅ 46.050ms (SLO: <47.150ms -2.3%) vs baseline: +2.0% Memory: ✅ 45.004MB (SLO: <47.000MB -4.2%) vs baseline: +4.7% ✅ add-metricsTime: ✅ 322.862ms (SLO: <344.800ms -6.4%) vs baseline: -0.2% Memory: ✅ 553.128MB (SLO: <562.000MB 🟡 -1.6%) vs baseline: +4.6% ✅ add-tagsTime: ✅ 292.903ms (SLO: <314.000ms -6.7%) vs baseline: +0.4% Memory: ✅ 554.668MB (SLO: <563.500MB 🟡 -1.6%) vs baseline: +4.6% ✅ get-contextTime: ✅ 82.800ms (SLO: <92.350ms 📉 -10.3%) vs baseline: +0.3% Memory: ✅ 40.176MB (SLO: <46.500MB 📉 -13.6%) vs baseline: +4.9% ✅ is-recordingTime: ✅ 42.878ms (SLO: <44.500ms -3.6%) vs baseline: +0.1% Memory: ✅ 44.407MB (SLO: <47.500MB -6.5%) vs baseline: +4.7% ✅ record-exceptionTime: ✅ 61.649ms (SLO: <67.650ms -8.9%) vs baseline: +0.3% Memory: ✅ 40.424MB (SLO: <47.000MB 📉 -14.0%) vs baseline: +4.7% ✅ set-statusTime: ✅ 49.573ms (SLO: <50.400ms 🟡 -1.6%) vs baseline: +1.9% Memory: ✅ 44.416MB (SLO: <47.000MB -5.5%) vs baseline: +4.7% ✅ startTime: ✅ 42.138ms (SLO: <43.450ms -3.0%) vs baseline: ~same Memory: ✅ 44.397MB (SLO: <47.000MB -5.5%) vs baseline: +4.7% ✅ start-finishTime: ✅ 84.537ms (SLO: <88.000ms -3.9%) vs baseline: +2.2% Memory: ✅ 34.583MB (SLO: <46.500MB 📉 -25.6%) vs baseline: +5.0% ✅ start-finish-telemetryTime: ✅ 86.050ms (SLO: <89.000ms -3.3%) vs baseline: +2.1% Memory: ✅ 34.564MB (SLO: <46.500MB 📉 -25.7%) vs baseline: +4.9% ✅ update-nameTime: ✅ 44.843ms (SLO: <45.150ms 🟡 -0.7%) vs baseline: +1.5% Memory: ✅ 44.683MB (SLO: <47.000MB -4.9%) vs baseline: +4.8%
|
Needs formatting to trigger tests https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-py/-/jobs/1139163210
|
77f4d62
to
f6ae194
Compare
…14654) ## Description [Ticket](https://datadoghq.atlassian.net/jira/software/c/projects/PROF/boards/11?selectedIssue=PROF-12582) This PR renames the function `wait_for_crash_reports` to `wait_for_crash_messages` and other uses of `reports` to `messages` where necessary. This is because the crashtracker emits two types of messages, crash reports and crash pings, so it is misleading to call both as crash reports. This PR also does a bit of updating of logic around how we set up our mock client to handle crash messages. Now, the crash tracker sends two messages, `crash_ping` and `crash_report`. The `wait_for_crash_reports` used to work by spinning for `N` cycles and each time, calling `TestAgentClient.crash_reports()`, which was a function that returned all the requests originated from crashtracker within that test session. The previous logic would then accumulate all the requests returned by the `TestAgentClient`. However, this logic was flawed. Consider this case ---------- Cycle 1 ---------- `crash_ping` arrives to client TestAgentClient.crash_reports() -> [`crash_ping`] accumulated requests = [`crash_ping`] ---------- Cycle 2 ---------- `crash_report` arrives to client TestAgentClient.crash_reports() -> [`crash_ping`, `crash_report`] accumulated requests = [`crash_ping`, `crash_ping`, `crash_report`] We just duplicated `crash_ping`! This is not a problem if both `crash_ping` and `crash_report` arrive in the same cycle of waiting for crash reports, as then, we would have >=2 messages and exit early. However, if we receive `crash_ping` and `crash_report` in different cycles, we end up duplicating one of them. This issue was identified by noticing many failures of the crashtracking tests, [because we got 3 messages instead of 2.](https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-py/-/jobs/1137159305) <img width="760" height="209" alt="Screenshot 2025-09-19 at 3 04 58 PM" src="https://github.com/user-attachments/assets/b7678023-0219-412b-ada9-33e708d10159" /> ## 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 -->
Description
Ticket
This PR renames the function
wait_for_crash_reports
towait_for_crash_messages
and other uses ofreports
tomessages
where necessary. This is because the crashtracker emits two types of messages, crash reports and crash pings, so it is misleading to call both as crash reports.This PR also does a bit of updating of logic around how we set up our mock client to handle crash messages. Now, the crash tracker sends two messages,
crash_ping
andcrash_report
. Thewait_for_crash_reports
used to work by spinning forN
cycles and each time, callingTestAgentClient.crash_reports()
, which was a function that returned all the requests originated from crashtracker within that test session. The previous logic would then accumulate all the requests returned by theTestAgentClient
. However, this logic was flawed. Consider this case---------- Cycle 1 ----------
crash_ping
arrives to clientTestAgentClient.crash_reports() -> [
crash_ping
]accumulated requests = [
crash_ping
]---------- Cycle 2 ----------
crash_report
arrives to clientTestAgentClient.crash_reports() -> [
crash_ping
,crash_report
]accumulated requests = [
crash_ping
,crash_ping
,crash_report
]We just duplicated
crash_ping
! This is not a problem if bothcrash_ping
andcrash_report
arrive in the same cycle of waiting for crash reports, as then, we would have >=2 messages and exit early. However, if we receivecrash_ping
andcrash_report
in different cycles, we end up duplicating one of them.This issue was identified by noticing many failures of the crashtracking tests, because we got 3 messages instead of 2.

Testing
Risks
Additional Notes