-
Notifications
You must be signed in to change notification settings - Fork 475
test(profiling): make memalloc test less flaky
#15769
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
test(profiling): make memalloc test less flaky
#15769
Conversation
|
|
8884ac9 to
f773331
Compare
Performance SLOsComparing candidate kowalski/test-profiling-make-memalloc-test-less-flaky (f773331) with baseline main (d7a9ec1) 📈 Performance Regressions (3 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 17.915µs (SLO: <20.000µs 📉 -10.4%) vs baseline: 📈 +19.9% Memory: ✅ 42.487MB (SLO: <43.250MB 🟡 -1.8%) vs baseline: +4.6% ✅ add_inplace_aspectTime: ✅ 14.932µs (SLO: <20.000µs 📉 -25.3%) vs baseline: -0.1% Memory: ✅ 42.625MB (SLO: <43.250MB 🟡 -1.4%) vs baseline: +5.0% ✅ add_inplace_noaspectTime: ✅ 0.336µs (SLO: <10.000µs 📉 -96.6%) vs baseline: -0.2% Memory: ✅ 42.703MB (SLO: <43.500MB 🟡 -1.8%) vs baseline: +5.3% ✅ add_noaspectTime: ✅ 0.546µs (SLO: <10.000µs 📉 -94.5%) vs baseline: ~same Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.8% ✅ bytearray_aspectTime: ✅ 17.965µs (SLO: <30.000µs 📉 -40.1%) vs baseline: +0.2% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +5.0% ✅ bytearray_extend_aspectTime: ✅ 23.939µs (SLO: <30.000µs 📉 -20.2%) vs baseline: -0.3% Memory: ✅ 42.684MB (SLO: <43.500MB 🟡 -1.9%) vs baseline: +4.9% ✅ bytearray_extend_noaspectTime: ✅ 2.737µs (SLO: <10.000µs 📉 -72.6%) vs baseline: -0.3% Memory: ✅ 42.703MB (SLO: <43.500MB 🟡 -1.8%) vs baseline: +5.1% ✅ bytearray_noaspectTime: ✅ 1.462µs (SLO: <10.000µs 📉 -85.4%) vs baseline: -0.8% Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ bytes_aspectTime: ✅ 16.675µs (SLO: <20.000µs 📉 -16.6%) vs baseline: +0.4% Memory: ✅ 42.644MB (SLO: <43.500MB 🟡 -2.0%) vs baseline: +5.0% ✅ bytes_noaspectTime: ✅ 1.413µs (SLO: <10.000µs 📉 -85.9%) vs baseline: -1.1% Memory: ✅ 42.526MB (SLO: <43.500MB -2.2%) vs baseline: +4.8% ✅ bytesio_aspectTime: ✅ 55.552µs (SLO: <70.000µs 📉 -20.6%) vs baseline: -0.7% Memory: ✅ 42.526MB (SLO: <43.500MB -2.2%) vs baseline: +4.6% ✅ bytesio_noaspectTime: ✅ 3.299µs (SLO: <10.000µs 📉 -67.0%) vs baseline: +0.2% Memory: ✅ 42.684MB (SLO: <43.500MB 🟡 -1.9%) vs baseline: +5.1% ✅ capitalize_aspectTime: ✅ 14.784µs (SLO: <20.000µs 📉 -26.1%) vs baseline: -0.1% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +5.0% ✅ capitalize_noaspectTime: ✅ 2.597µs (SLO: <10.000µs 📉 -74.0%) vs baseline: +0.2% Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +4.7% ✅ casefold_aspectTime: ✅ 14.644µs (SLO: <20.000µs 📉 -26.8%) vs baseline: +0.2% Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.9% ✅ casefold_noaspectTime: ✅ 3.159µs (SLO: <10.000µs 📉 -68.4%) vs baseline: -0.7% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ decode_aspectTime: ✅ 15.665µs (SLO: <30.000µs 📉 -47.8%) vs baseline: +0.5% Memory: ✅ 42.526MB (SLO: <43.500MB -2.2%) vs baseline: +4.7% ✅ decode_noaspectTime: ✅ 1.589µs (SLO: <10.000µs 📉 -84.1%) vs baseline: -0.2% Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ encode_aspectTime: ✅ 18.180µs (SLO: <30.000µs 📉 -39.4%) vs baseline: 📈 +22.3% Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ encode_noaspectTime: ✅ 1.483µs (SLO: <10.000µs 📉 -85.2%) vs baseline: -2.0% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ format_aspectTime: ✅ 170.876µs (SLO: <200.000µs 📉 -14.6%) vs baseline: ~same Memory: ✅ 42.585MB (SLO: <43.250MB 🟡 -1.5%) vs baseline: +4.6% ✅ format_map_aspectTime: ✅ 191.211µs (SLO: <200.000µs -4.4%) vs baseline: -0.2% Memory: ✅ 42.703MB (SLO: <43.500MB 🟡 -1.8%) vs baseline: +4.9% ✅ format_map_noaspectTime: ✅ 3.811µs (SLO: <10.000µs 📉 -61.9%) vs baseline: +1.1% Memory: ✅ 42.585MB (SLO: <43.250MB 🟡 -1.5%) vs baseline: +5.1% ✅ format_noaspectTime: ✅ 3.172µs (SLO: <10.000µs 📉 -68.3%) vs baseline: ~same Memory: ✅ 42.546MB (SLO: <43.250MB 🟡 -1.6%) vs baseline: +4.8% ✅ index_aspectTime: ✅ 15.338µs (SLO: <20.000µs 📉 -23.3%) vs baseline: -0.3% Memory: ✅ 42.605MB (SLO: <43.250MB 🟡 -1.5%) vs baseline: +4.9% ✅ index_noaspectTime: ✅ 0.463µs (SLO: <10.000µs 📉 -95.4%) vs baseline: -0.2% Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.9% ✅ join_aspectTime: ✅ 16.979µs (SLO: <20.000µs 📉 -15.1%) vs baseline: -1.2% Memory: ✅ 42.644MB (SLO: <43.500MB 🟡 -2.0%) vs baseline: +5.1% ✅ join_noaspectTime: ✅ 1.550µs (SLO: <10.000µs 📉 -84.5%) vs baseline: ~same Memory: ✅ 42.566MB (SLO: <43.250MB 🟡 -1.6%) vs baseline: +4.8% ✅ ljust_aspectTime: ✅ 20.809µs (SLO: <30.000µs 📉 -30.6%) vs baseline: -0.4% Memory: ✅ 42.723MB (SLO: <43.250MB 🟡 -1.2%) vs baseline: +4.9% ✅ ljust_noaspectTime: ✅ 2.701µs (SLO: <10.000µs 📉 -73.0%) vs baseline: +0.1% Memory: ✅ 42.605MB (SLO: <43.250MB 🟡 -1.5%) vs baseline: +4.8% ✅ lower_aspectTime: ✅ 17.925µs (SLO: <30.000µs 📉 -40.3%) vs baseline: -0.7% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +5.0% ✅ lower_noaspectTime: ✅ 2.426µs (SLO: <10.000µs 📉 -75.7%) vs baseline: +0.9% Memory: ✅ 42.585MB (SLO: <43.250MB 🟡 -1.5%) vs baseline: +5.0% ✅ lstrip_aspectTime: ✅ 17.467µs (SLO: <30.000µs 📉 -41.8%) vs baseline: -1.0% Memory: ✅ 42.546MB (SLO: <43.250MB 🟡 -1.6%) vs baseline: +4.9% ✅ lstrip_noaspectTime: ✅ 1.836µs (SLO: <10.000µs 📉 -81.6%) vs baseline: -0.4% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +4.7% ✅ modulo_aspectTime: ✅ 166.470µs (SLO: <200.000µs 📉 -16.8%) vs baseline: +0.4% Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +4.6% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 179.685µs (SLO: <200.000µs 📉 -10.2%) vs baseline: +3.2% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +4.4% ✅ modulo_aspect_for_bytesTime: ✅ 168.991µs (SLO: <200.000µs 📉 -15.5%) vs baseline: ~same Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.6% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 172.236µs (SLO: <200.000µs 📉 -13.9%) vs baseline: +0.1% Memory: ✅ 42.782MB (SLO: <43.500MB 🟡 -1.7%) vs baseline: +5.1% ✅ modulo_noaspectTime: ✅ 3.693µs (SLO: <10.000µs 📉 -63.1%) vs baseline: ~same Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ replace_aspectTime: ✅ 212.167µs (SLO: <300.000µs 📉 -29.3%) vs baseline: ~same Memory: ✅ 42.625MB (SLO: <44.000MB -3.1%) vs baseline: +4.7% ✅ replace_noaspectTime: ✅ 2.901µs (SLO: <10.000µs 📉 -71.0%) vs baseline: -0.9% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +4.8% ✅ repr_aspectTime: ✅ 1.418µs (SLO: <10.000µs 📉 -85.8%) vs baseline: -0.7% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +5.1% ✅ repr_noaspectTime: ✅ 0.525µs (SLO: <10.000µs 📉 -94.8%) vs baseline: ~same Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ rstrip_aspectTime: ✅ 19.052µs (SLO: <30.000µs 📉 -36.5%) vs baseline: ~same Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +4.6% ✅ rstrip_noaspectTime: ✅ 2.051µs (SLO: <10.000µs 📉 -79.5%) vs baseline: +5.8% Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +4.8% ✅ slice_aspectTime: ✅ 15.876µs (SLO: <20.000µs 📉 -20.6%) vs baseline: -0.6% Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ slice_noaspectTime: ✅ 0.595µs (SLO: <10.000µs 📉 -94.1%) vs baseline: -0.8% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +4.8% ✅ stringio_aspectTime: ✅ 54.340µs (SLO: <80.000µs 📉 -32.1%) vs baseline: -1.0% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +4.7% ✅ stringio_noaspectTime: ✅ 3.666µs (SLO: <10.000µs 📉 -63.3%) vs baseline: +0.4% Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.8% ✅ strip_aspectTime: ✅ 17.664µs (SLO: <20.000µs 📉 -11.7%) vs baseline: -0.5% Memory: ✅ 42.664MB (SLO: <43.500MB 🟡 -1.9%) vs baseline: +5.1% ✅ strip_noaspectTime: ✅ 1.859µs (SLO: <10.000µs 📉 -81.4%) vs baseline: -1.5% Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.5% ✅ swapcase_aspectTime: ✅ 18.358µs (SLO: <30.000µs 📉 -38.8%) vs baseline: -0.8% Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.6% ✅ swapcase_noaspectTime: ✅ 2.782µs (SLO: <10.000µs 📉 -72.2%) vs baseline: ~same Memory: ✅ 42.625MB (SLO: <43.500MB -2.0%) vs baseline: +4.9% ✅ title_aspectTime: ✅ 18.162µs (SLO: <30.000µs 📉 -39.5%) vs baseline: ~same Memory: ✅ 42.585MB (SLO: <43.000MB 🟡 -1.0%) vs baseline: +4.9% ✅ title_noaspectTime: ✅ 2.651µs (SLO: <10.000µs 📉 -73.5%) vs baseline: -0.2% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ translate_aspectTime: ✅ 24.406µs (SLO: <30.000µs 📉 -18.6%) vs baseline: 📈 +18.3% Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.5% ✅ translate_noaspectTime: ✅ 4.358µs (SLO: <10.000µs 📉 -56.4%) vs baseline: +0.3% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ upper_aspectTime: ✅ 17.896µs (SLO: <30.000µs 📉 -40.3%) vs baseline: -0.8% Memory: ✅ 42.625MB (SLO: <43.500MB -2.0%) vs baseline: +4.9% ✅ upper_noaspectTime: ✅ 2.436µs (SLO: <10.000µs 📉 -75.6%) vs baseline: ~same Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +4.7% 📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 5.171µs (SLO: <10.000µs 📉 -48.3%) vs baseline: 📈 +21.6% Memory: ✅ 41.386MB (SLO: <43.500MB -4.9%) vs baseline: +4.6% ✅ ospathbasename_noaspectTime: ✅ 4.293µs (SLO: <10.000µs 📉 -57.1%) vs baseline: -1.1% Memory: ✅ 41.465MB (SLO: <43.500MB -4.7%) vs baseline: +5.0% ✅ ospathjoin_aspectTime: ✅ 6.215µs (SLO: <10.000µs 📉 -37.8%) vs baseline: -1.1% Memory: ✅ 41.445MB (SLO: <43.500MB -4.7%) vs baseline: +4.6% ✅ ospathjoin_noaspectTime: ✅ 6.298µs (SLO: <10.000µs 📉 -37.0%) vs baseline: -0.6% Memory: ✅ 41.465MB (SLO: <43.500MB -4.7%) vs baseline: +5.1% ✅ ospathnormcase_aspectTime: ✅ 3.570µs (SLO: <10.000µs 📉 -64.3%) vs baseline: +0.6% Memory: ✅ 41.465MB (SLO: <43.500MB -4.7%) vs baseline: +4.8% ✅ ospathnormcase_noaspectTime: ✅ 3.620µs (SLO: <10.000µs 📉 -63.8%) vs baseline: -0.6% Memory: ✅ 41.465MB (SLO: <43.500MB -4.7%) vs baseline: +4.8% ✅ ospathsplit_aspectTime: ✅ 4.888µs (SLO: <10.000µs 📉 -51.1%) vs baseline: -0.7% Memory: ✅ 41.524MB (SLO: <43.500MB -4.5%) vs baseline: +4.9% ✅ ospathsplit_noaspectTime: ✅ 4.986µs (SLO: <10.000µs 📉 -50.1%) vs baseline: +0.3% Memory: ✅ 41.504MB (SLO: <43.500MB -4.6%) vs baseline: +5.1% ✅ ospathsplitdrive_aspectTime: ✅ 3.825µs (SLO: <10.000µs 📉 -61.8%) vs baseline: +2.0% Memory: ✅ 41.504MB (SLO: <43.500MB -4.6%) vs baseline: +4.9% ✅ ospathsplitdrive_noaspectTime: ✅ 0.751µs (SLO: <10.000µs 📉 -92.5%) vs baseline: +0.1% Memory: ✅ 41.425MB (SLO: <43.500MB -4.8%) vs baseline: +4.7% ✅ ospathsplitext_aspectTime: ✅ 4.641µs (SLO: <10.000µs 📉 -53.6%) vs baseline: +0.9% Memory: ✅ 41.425MB (SLO: <43.500MB -4.8%) vs baseline: +4.9% ✅ ospathsplitext_noaspectTime: ✅ 4.629µs (SLO: <10.000µs 📉 -53.7%) vs baseline: ~same Memory: ✅ 41.622MB (SLO: <43.500MB -4.3%) vs baseline: +5.5% 📈 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 3.415µs (SLO: <20.000µs 📉 -82.9%) vs baseline: 📈 +14.7% Memory: ✅ 34.859MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +4.9% ✅ 1-count-metrics-100-timesTime: ✅ 202.036µs (SLO: <220.000µs -8.2%) vs baseline: +2.3% Memory: ✅ 34.859MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +4.7% ✅ 1-distribution-metric-1-timesTime: ✅ 3.291µs (SLO: <20.000µs 📉 -83.5%) vs baseline: -1.3% Memory: ✅ 34.839MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.7% ✅ 1-distribution-metrics-100-timesTime: ✅ 213.404µs (SLO: <230.000µs -7.2%) vs baseline: +0.4% Memory: ✅ 34.918MB (SLO: <35.500MB 🟡 -1.6%) vs baseline: +4.9% ✅ 1-gauge-metric-1-timesTime: ✅ 2.207µs (SLO: <20.000µs 📉 -89.0%) vs baseline: -0.2% Memory: ✅ 34.937MB (SLO: <35.500MB 🟡 -1.6%) vs baseline: +5.2% ✅ 1-gauge-metrics-100-timesTime: ✅ 136.547µs (SLO: <150.000µs -9.0%) vs baseline: +0.2% Memory: ✅ 34.839MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +5.0% ✅ 1-rate-metric-1-timesTime: ✅ 3.144µs (SLO: <20.000µs 📉 -84.3%) vs baseline: +0.7% Memory: ✅ 34.937MB (SLO: <35.500MB 🟡 -1.6%) vs baseline: +4.9% ✅ 1-rate-metrics-100-timesTime: ✅ 212.595µs (SLO: <250.000µs 📉 -15.0%) vs baseline: +0.5% Memory: ✅ 34.918MB (SLO: <35.500MB 🟡 -1.6%) vs baseline: +5.0% ✅ 100-count-metrics-100-timesTime: ✅ 19.836ms (SLO: <22.000ms -9.8%) vs baseline: ~same Memory: ✅ 34.918MB (SLO: <35.500MB 🟡 -1.6%) vs baseline: +4.8% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.236ms (SLO: <2.550ms 📉 -12.3%) vs baseline: ~same Memory: ✅ 35.271MB (SLO: <35.500MB 🟡 -0.6%) vs baseline: +5.2% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.415ms (SLO: <1.550ms -8.7%) vs baseline: +0.9% Memory: ✅ 34.957MB (SLO: <35.500MB 🟡 -1.5%) vs baseline: +4.4% ✅ 100-rate-metrics-100-timesTime: ✅ 2.164ms (SLO: <2.550ms 📉 -15.1%) vs baseline: -0.9% Memory: ✅ 34.819MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.0% ✅ flush-1-metricTime: ✅ 4.557µs (SLO: <20.000µs 📉 -77.2%) vs baseline: ~same Memory: ✅ 35.154MB (SLO: <35.500MB 🟡 -1.0%) vs baseline: +4.6% ✅ flush-100-metricsTime: ✅ 173.078µs (SLO: <250.000µs 📉 -30.8%) vs baseline: +0.5% Memory: ✅ 35.311MB (SLO: <35.500MB 🟡 -0.5%) vs baseline: +5.0% ✅ flush-1000-metricsTime: ✅ 2.178ms (SLO: <2.500ms 📉 -12.9%) vs baseline: -0.2% Memory: ✅ 36.019MB (SLO: <36.500MB 🟡 -1.3%) vs baseline: +4.8% 🟡 Near SLO Breach (15 suites)🟡 coreapiscenario - 10/10 (1 unstable)
|
Codeowners resolved as |
|
The backport to To backport manually, run these commands in your terminal: # Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-3.19 3.19
# Navigate to the new working tree
cd .worktrees/backport-3.19
# Create a new branch
git switch --create backport-15769-to-3.19
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 ad2137d426a19345f7612b2bf23a1c6046cae67a
# Push it to GitHub
git push --set-upstream origin backport-15769-to-3.19
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-3.19Then, create a pull request where the |
|
The backport to To backport manually, run these commands in your terminal: # Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-4.0 4.0
# Navigate to the new working tree
cd .worktrees/backport-4.0
# Create a new branch
git switch --create backport-15769-to-4.0
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 ad2137d426a19345f7612b2bf23a1c6046cae67a
# Push it to GitHub
git push --set-upstream origin backport-15769-to-4.0
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-4.0Then, create a pull request where the |
(cherry picked from commit ad2137d)
(cherry picked from commit ad2137d)
(cherry picked from commit ad2137d)
Backport ad2137d from #15769 to 4.1. ## Description This makes the `memalloc` test less flaky by reducing the sampling interval. Currently, `memalloc` is our top flaky test. <img width="1198" height="587" alt="image" src="https://github.com/user-attachments/assets/a29a5d58-e1a4-4da3-aa74-101387aeed2b" /> The fix is: - Making `heap_sample_size` lower to maximise the number of Samples we take (`heap_sample_size` really should be `heap_sample_interval`, since that's literally what it's named internally in the Collector, but that's an another-day-problem) - More importantly, adding an `assert_samples` parameter to `snapshot_and_parse_pprof` to allow the caller _not_ to do it. The reason is that we call `snapshot_and_parse_pprof` once just to reset the Sampler's state, so it's very possible that we didn't have Samples in the state at that moment (and it's completely OK if it happens). We only want to assert we have Samples when we want to... look at the Samples. Links - [See test runs in Datadog](https://app.datadoghq.com/ci/test/runs?query=test_level%3Atest%20%40ci.pipeline.name%3ADataDog%2Fapm-reliability%2Fdd-trace-py%20status%3Aerror%20%40git.commit.sha%3A%288884ac9d847f8e5f2e12bc2a3e211aa3247d32c4%20OR%20f773331ca863676197efc18d472efbe4c7a0d8d4%29%20%40git.branch%3Akowalski%2Ftest-profiling-make-memalloc-test-less-flaky%20%40test.name%3A%2Amem%2A&agg_m=count&agg_m_source=base&agg_q=%40test.name&agg_q_source=base&agg_t=count¤tTab=overview&eventStack=&fromUser=false&index=citest&top_n=30&top_o=top&viz=timeseries&x_missing=true&start=1766484843412&end=1766499243412&paused=false) for the current branch - [See test runs in Datadog](https://app.datadoghq.com/ci/test/runs?query=test_level%3Atest%20%40ci.pipeline.name%3ADataDog%2Fapm-reliability%2Fdd-trace-py%20status%3Aerror%20%40test.name%3Atest_memory_collector_python_interface_with_allocation_tracking_no_deletion%2A&agg_m=count&agg_m_source=base&agg_q=%40test.name&agg_q_source=base&agg_t=count&analyticsOptions=%5B%22bars%22%2C%22warm%22%2Cnull%2Cnull%2C%22value%22%5D¤tTab=overview&eventStack=&fromUser=true&index=citest&top_n=30&top_o=top&viz=timeseries&x_missing=true&start=1765909864308&end=1766514664308&paused=false) for the faulty test (should go down after merge) Co-authored-by: Thomas Kowalski <[email protected]>
Description
https://datadoghq.atlassian.net/browse/PROF-13361
This makes the
memalloctest less flaky by reducing the sampling interval. Currently,memallocis our top flaky test.The fix is:
heap_sample_sizelower to maximise the number of Samples we take (heap_sample_sizereally should beheap_sample_interval, since that's literally what it's named internally in the Collector, but that's an another-day-problem)assert_samplesparameter tosnapshot_and_parse_pprofto allow the caller not to do it. The reason is that we callsnapshot_and_parse_pprofonce just to reset the Sampler's state, so it's very possible that we didn't have Samples in the state at that moment (and it's completely OK if it happens). We only want to assert we have Samples when we want to... look at the Samples.Links