fix(profiling): fix crash due to Frame cache eviction (#17456) [backport 4.7]#17600
Conversation
https://datadoghq.atlassian.net/browse/PROF-13112 This fixes a crash in the Profiler codebase. The crash was caused by `ThreadInfo::unwind_task` trying to use `Frame` objects that it had a reference to (`Frame::Ref`) while those same Frames were being evicted from the cache, which can happen under high load. ``` Error UnixSignal: Process terminated with SI_KERNEL (SIGSEGV) ``` The proposed fix is to change `FrameStack` to extend `std::deque<Frame>` instead of `std::deque<Frame::Ref>`, which means pushing frames to `FrameStack` actually copies them and eliminates that race condition. This should be OK performance-wise because `Frame` is tiny and only has trivial fields to copy (no memory allocations, only integral types). Another possible fix would be to "lock" certain `Frame` objects in the cache (to prevent them from being evicted while any Task using them is being unwound) but this would be much more complicated to get right and although it would lead to less copies, the performance picture is blurry for more subtle reasons. So I suggest we don't go ahead with the alternative unless we absolutely need to (which we don't seem to). Running DoE with this change on the Enterprise archetype with asyncio/FastAPI (n=10) shows no significant difference (either in memory or CPU usage / latency), so I think this is safe to merge performance-wise. <details> | Commit | Run | p50 (ms) | p99 (ms) | CPU% | Mem (MB) | |--------|-----|----------|----------|------|----------| | `90de7913` (after) | 1 | 150.43 | 152.88 | 172.68 | 274.9 | | `90de7913` (after) | 2 | 150.45 | 152.38 | 172.17 | 266.2 | | `90de7913` (after) | 3 | 150.43 | 153.91 | 172.92 | 266.2 | | `90de7913` (after) | 4 | 150.46 | 154.16 | 172.83 | 265.8 | | `90de7913` (after) | 5 | 150.44 | 153.01 | 172.80 | 267.4 | | `90de7913` (after) | 6 | 150.43 | 153.28 | 172.70 | 265.8 | | `90de7913` (after) | 7 | 150.54 | 157.48 | 173.32 | 265.8 | | `90de7913` (after) | 8 | 150.51 | 156.61 | 172.18 | 265.5 | | `90de7913` (after) | 9 | 150.53 | 157.05 | 172.18 | 265.8 | | `90de7913` (after) | 10 | 150.45 | 152.84 | 172.08 | 265.5 | | `c26e6181` (before) | 1 | 150.51 | 152.80 | 173.63 | 265.5 | | `c26e6181` (before) | 2 | 150.48 | 152.41 | 173.49 | 265.4 | | `c26e6181` (before) | 3 | 150.47 | 156.31 | 172.53 | 265.9 | | `c26e6181` (before) | 4 | 150.49 | 152.60 | 172.86 | 265.5 | | `c26e6181` (before) | 5 | 150.40 | 152.86 | 172.99 | 266.0 | | `c26e6181` (before) | 6 | 150.46 | 152.66 | 172.53 | 265.5 | | `c26e6181` (before) | 7 | 150.49 | 154.91 | 172.74 | 265.3 | | `c26e6181` (before) | 8 | 150.46 | 152.46 | 171.93 | 265.7 | | `c26e6181` (before) | 9 | 150.52 | 156.70 | 172.96 | 265.7 | | `c26e6181` (before) | 10 | 150.43 | 153.02 | 172.52 | 265.8 | | Version | p50 (ms) | p99 (ms) | CPU% | Mem (MB) | |---------|----------|----------|------|----------| | `c26e6181` (before) | 150.470 ± 0.034 | 153.67 ± 1.66 | 172.82 ± 0.50 | 265.6 ± 0.2 | | `90de7913` (after) | 150.465 ± 0.043 | 154.36 ± 1.94 | 172.59 ± 0.41 | 266.9 ± 2.9 | | **Δ (after − before)** | **−0.005ms (0.00%)** | **+0.69ms (+0.45%)** | **−0.23pp (−0.13%)** | **+1.2MB (+0.47%)** | </details> Co-authored-by: thomas.kowalski <thomas.kowalski@datadoghq.com>
Performance SLOsComparing candidate juanjux/backport-17456-4.7 (216bc46) with baseline 4.7 (9a070ef) 📈 Performance Regressions (2 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 102.987µs (SLO: <130.000µs 📉 -20.8%) vs baseline: +1.7% Memory: ✅ 43.689MB (SLO: <46.000MB -5.0%) vs baseline: +5.0% ✅ add_inplace_aspectTime: ✅ 102.374µs (SLO: <130.000µs 📉 -21.3%) vs baseline: -0.6% Memory: ✅ 43.799MB (SLO: <46.000MB -4.8%) vs baseline: +5.2% ✅ add_inplace_noaspectTime: ✅ 28.362µs (SLO: <40.000µs 📉 -29.1%) vs baseline: +0.6% Memory: ✅ 43.687MB (SLO: <46.000MB -5.0%) vs baseline: +4.8% ✅ add_noaspectTime: ✅ 49.035µs (SLO: <70.000µs 📉 -29.9%) vs baseline: -0.4% Memory: ✅ 43.869MB (SLO: <46.000MB -4.6%) vs baseline: +5.4% ✅ bytearray_aspectTime: ✅ 253.172µs (SLO: <400.000µs 📉 -36.7%) vs baseline: -0.6% Memory: ✅ 43.778MB (SLO: <46.000MB -4.8%) vs baseline: +4.9% ✅ bytearray_extend_aspectTime: ✅ 666.974µs (SLO: <800.000µs 📉 -16.6%) vs baseline: +1.6% Memory: ✅ 43.841MB (SLO: <46.000MB -4.7%) vs baseline: +5.4% ✅ bytearray_extend_noaspectTime: ✅ 276.241µs (SLO: <400.000µs 📉 -30.9%) vs baseline: +0.1% Memory: ✅ 43.812MB (SLO: <46.000MB -4.8%) vs baseline: +5.3% ✅ bytearray_noaspectTime: ✅ 142.943µs (SLO: <300.000µs 📉 -52.4%) vs baseline: +0.8% Memory: ✅ 43.764MB (SLO: <46.000MB -4.9%) vs baseline: +5.3% ✅ bytes_aspectTime: ✅ 221.597µs (SLO: <300.000µs 📉 -26.1%) vs baseline: +0.9% Memory: ✅ 43.881MB (SLO: <46.000MB -4.6%) vs baseline: +5.5% ✅ bytes_noaspectTime: ✅ 137.520µs (SLO: <200.000µs 📉 -31.2%) vs baseline: +0.4% Memory: ✅ 43.717MB (SLO: <46.000MB -5.0%) vs baseline: +4.6% ✅ bytesio_aspectTime: ✅ 3.879ms (SLO: <5.000ms 📉 -22.4%) vs baseline: +0.1% Memory: ✅ 43.942MB (SLO: <46.000MB -4.5%) vs baseline: +5.9% ✅ bytesio_noaspectTime: ✅ 322.291µs (SLO: <420.000µs 📉 -23.3%) vs baseline: +0.5% Memory: ✅ 43.749MB (SLO: <46.000MB -4.9%) vs baseline: +5.3% ✅ capitalize_aspectTime: ✅ 89.479µs (SLO: <300.000µs 📉 -70.2%) vs baseline: -0.7% Memory: ✅ 43.879MB (SLO: <46.000MB -4.6%) vs baseline: +5.4% ✅ capitalize_noaspectTime: ✅ 274.045µs (SLO: <300.000µs -8.7%) vs baseline: +6.2% Memory: ✅ 43.847MB (SLO: <46.000MB -4.7%) vs baseline: +5.5% ✅ casefold_aspectTime: ✅ 89.813µs (SLO: <500.000µs 📉 -82.0%) vs baseline: -0.1% Memory: ✅ 43.822MB (SLO: <46.000MB -4.7%) vs baseline: +5.5% ✅ casefold_noaspectTime: ✅ 315.858µs (SLO: <500.000µs 📉 -36.8%) vs baseline: -0.1% Memory: ✅ 43.785MB (SLO: <46.000MB -4.8%) vs baseline: +5.2% ✅ decode_aspectTime: ✅ 86.893µs (SLO: <100.000µs 📉 -13.1%) vs baseline: ~same Memory: ✅ 43.739MB (SLO: <46.000MB -4.9%) vs baseline: +5.1% ✅ decode_noaspectTime: ✅ 154.220µs (SLO: <210.000µs 📉 -26.6%) vs baseline: ~same Memory: ✅ 43.771MB (SLO: <46.000MB -4.8%) vs baseline: +5.1% ✅ encode_aspectTime: ✅ 84.795µs (SLO: <200.000µs 📉 -57.6%) vs baseline: -0.3% Memory: ✅ 43.806MB (SLO: <46.000MB -4.8%) vs baseline: +5.6% ✅ encode_noaspectTime: ✅ 146.363µs (SLO: <200.000µs 📉 -26.8%) vs baseline: +1.4% Memory: ✅ 43.821MB (SLO: <46.000MB -4.7%) vs baseline: +5.4% ✅ format_aspectTime: ✅ 14.713ms (SLO: <19.200ms 📉 -23.4%) vs baseline: +0.6% Memory: ✅ 44.174MB (SLO: <46.000MB -4.0%) vs baseline: +5.7% ✅ format_map_aspectTime: ✅ 16.515ms (SLO: <21.500ms 📉 -23.2%) vs baseline: +0.5% Memory: ✅ 44.008MB (SLO: <46.000MB -4.3%) vs baseline: +5.0% ✅ format_map_noaspectTime: ✅ 381.379µs (SLO: <500.000µs 📉 -23.7%) vs baseline: +1.9% Memory: ✅ 43.793MB (SLO: <46.000MB -4.8%) vs baseline: +5.2% ✅ format_noaspectTime: ✅ 314.178µs (SLO: <500.000µs 📉 -37.2%) vs baseline: -0.8% Memory: ✅ 43.781MB (SLO: <46.000MB -4.8%) vs baseline: +5.2% ✅ index_aspectTime: ✅ 136.128µs (SLO: <300.000µs 📉 -54.6%) vs baseline: +9.8% Memory: ✅ 43.699MB (SLO: <46.000MB -5.0%) vs baseline: +4.8% ✅ index_noaspectTime: ✅ 40.524µs (SLO: <300.000µs 📉 -86.5%) vs baseline: -0.2% Memory: ✅ 43.761MB (SLO: <46.000MB -4.9%) vs baseline: +4.8% ✅ join_aspectTime: ✅ 217.285µs (SLO: <300.000µs 📉 -27.6%) vs baseline: -0.6% Memory: ✅ 43.738MB (SLO: <46.000MB -4.9%) vs baseline: +5.1% ✅ join_noaspectTime: ✅ 144.962µs (SLO: <300.000µs 📉 -51.7%) vs baseline: +0.8% Memory: ✅ 43.720MB (SLO: <46.000MB -5.0%) vs baseline: +5.0% ✅ ljust_aspectTime: ✅ 509.694µs (SLO: <700.000µs 📉 -27.2%) vs baseline: -0.1% Memory: ✅ 43.955MB (SLO: <46.000MB -4.4%) vs baseline: +5.6% ✅ ljust_noaspectTime: ✅ 277.699µs (SLO: <300.000µs -7.4%) vs baseline: +6.7% Memory: ✅ 43.785MB (SLO: <46.000MB -4.8%) vs baseline: +5.2% ✅ lower_aspectTime: ✅ 311.937µs (SLO: <500.000µs 📉 -37.6%) vs baseline: +1.9% Memory: ✅ 43.696MB (SLO: <46.000MB -5.0%) vs baseline: +5.2% ✅ lower_noaspectTime: ✅ 239.588µs (SLO: <300.000µs 📉 -20.1%) vs baseline: -3.3% Memory: ✅ 43.834MB (SLO: <46.000MB -4.7%) vs baseline: +5.2% ✅ lstrip_aspectTime: ✅ 0.283ms (SLO: <3.000ms 📉 -90.6%) vs baseline: +0.3% Memory: ✅ 43.763MB (SLO: <46.000MB -4.9%) vs baseline: +5.2% ✅ lstrip_noaspectTime: ✅ 0.179ms (SLO: <3.000ms 📉 -94.0%) vs baseline: -1.5% Memory: ✅ 43.828MB (SLO: <46.000MB -4.7%) vs baseline: +5.2% ✅ modulo_aspectTime: ✅ 14.335ms (SLO: <18.750ms 📉 -23.5%) vs baseline: +0.3% Memory: ✅ 43.992MB (SLO: <46.000MB -4.4%) vs baseline: +5.4% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 14.877ms (SLO: <19.350ms 📉 -23.1%) vs baseline: +0.2% Memory: ✅ 44.036MB (SLO: <46.000MB -4.3%) vs baseline: +5.0% ✅ modulo_aspect_for_bytesTime: ✅ 14.423ms (SLO: <18.900ms 📉 -23.7%) vs baseline: -0.4% Memory: ✅ 43.991MB (SLO: <46.000MB -4.4%) vs baseline: +5.2% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 14.667ms (SLO: <19.150ms 📉 -23.4%) vs baseline: ~same Memory: ✅ 44.047MB (SLO: <46.000MB -4.2%) vs baseline: +5.0% ✅ modulo_noaspectTime: ✅ 0.370ms (SLO: <3.000ms 📉 -87.7%) vs baseline: +0.8% Memory: ✅ 43.864MB (SLO: <46.000MB -4.6%) vs baseline: +5.5% ✅ replace_aspectTime: ✅ 18.472ms (SLO: <24.000ms 📉 -23.0%) vs baseline: -0.2% Memory: ✅ 44.075MB (SLO: <46.000MB -4.2%) vs baseline: +5.3% ✅ replace_noaspectTime: ✅ 287.582µs (SLO: <400.000µs 📉 -28.1%) vs baseline: +0.5% Memory: ✅ 43.881MB (SLO: <46.000MB -4.6%) vs baseline: +5.7% ✅ repr_aspectTime: ✅ 329.478µs (SLO: <420.000µs 📉 -21.6%) vs baseline: +0.5% Memory: ✅ 43.888MB (SLO: <46.000MB -4.6%) vs baseline: +5.3% ✅ repr_noaspectTime: ✅ 46.756µs (SLO: <90.000µs 📉 -48.0%) vs baseline: -1.3% Memory: ✅ 43.630MB (SLO: <46.000MB -5.2%) vs baseline: +4.6% ✅ rstrip_aspectTime: ✅ 397.525µs (SLO: <500.000µs 📉 -20.5%) vs baseline: +1.9% Memory: ✅ 43.944MB (SLO: <46.000MB -4.5%) vs baseline: +5.2% ✅ rstrip_noaspectTime: ✅ 185.994µs (SLO: <300.000µs 📉 -38.0%) vs baseline: +0.7% Memory: ✅ 43.741MB (SLO: <46.000MB -4.9%) vs baseline: +5.2% ✅ slice_aspectTime: ✅ 183.238µs (SLO: <300.000µs 📉 -38.9%) vs baseline: -1.4% Memory: ✅ 43.793MB (SLO: <46.000MB -4.8%) vs baseline: +5.4% ✅ slice_noaspectTime: ✅ 54.308µs (SLO: <90.000µs 📉 -39.7%) vs baseline: +0.7% Memory: ✅ 43.766MB (SLO: <46.000MB -4.9%) vs baseline: +5.1% ✅ stringio_aspectTime: ✅ 4.590ms (SLO: <5.000ms -8.2%) vs baseline: 📈 +17.2% Memory: ✅ 43.876MB (SLO: <46.000MB -4.6%) vs baseline: +5.5% ✅ stringio_noaspectTime: ✅ 358.426µs (SLO: <500.000µs 📉 -28.3%) vs baseline: +0.5% Memory: ✅ 43.697MB (SLO: <46.000MB -5.0%) vs baseline: +5.0% ✅ strip_aspectTime: ✅ 282.081µs (SLO: <350.000µs 📉 -19.4%) vs baseline: +0.9% Memory: ✅ 43.802MB (SLO: <46.000MB -4.8%) vs baseline: +5.0% ✅ strip_noaspectTime: ✅ 178.520µs (SLO: <240.000µs 📉 -25.6%) vs baseline: -0.6% Memory: ✅ 43.814MB (SLO: <46.000MB -4.8%) vs baseline: +5.3% ✅ swapcase_aspectTime: ✅ 356.811µs (SLO: <500.000µs 📉 -28.6%) vs baseline: +3.9% Memory: ✅ 43.740MB (SLO: <46.000MB -4.9%) vs baseline: +4.9% ✅ swapcase_noaspectTime: ✅ 279.506µs (SLO: <400.000µs 📉 -30.1%) vs baseline: +0.9% Memory: ✅ 43.742MB (SLO: <46.000MB -4.9%) vs baseline: +5.3% ✅ title_aspectTime: ✅ 335.679µs (SLO: <500.000µs 📉 -32.9%) vs baseline: +0.2% Memory: ✅ 43.864MB (SLO: <46.000MB -4.6%) vs baseline: +5.6% ✅ title_noaspectTime: ✅ 264.501µs (SLO: <400.000µs 📉 -33.9%) vs baseline: +0.2% Memory: ✅ 43.700MB (SLO: <46.000MB -5.0%) vs baseline: +5.1% ✅ translate_aspectTime: ✅ 509.195µs (SLO: <700.000µs 📉 -27.3%) vs baseline: +0.8% Memory: ✅ 43.820MB (SLO: <46.000MB -4.7%) vs baseline: +5.0% ✅ translate_noaspectTime: ✅ 429.600µs (SLO: <500.000µs 📉 -14.1%) vs baseline: -2.0% Memory: ✅ 43.795MB (SLO: <46.000MB -4.8%) vs baseline: +5.3% ✅ upper_aspectTime: ✅ 310.374µs (SLO: <500.000µs 📉 -37.9%) vs baseline: +0.9% Memory: ✅ 43.763MB (SLO: <46.000MB -4.9%) vs baseline: +5.2% ✅ upper_noaspectTime: ✅ 239.992µs (SLO: <400.000µs 📉 -40.0%) vs baseline: -0.6% Memory: ✅ 43.884MB (SLO: <46.000MB -4.6%) vs baseline: +5.4% 📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 512.043µs (SLO: <700.000µs 📉 -26.9%) vs baseline: 📈 +20.1% Memory: ✅ 43.626MB (SLO: <46.000MB -5.2%) vs baseline: +4.9% ✅ ospathbasename_noaspectTime: ✅ 432.846µs (SLO: <700.000µs 📉 -38.2%) vs baseline: ~same Memory: ✅ 43.612MB (SLO: <46.000MB -5.2%) vs baseline: +4.7% ✅ ospathjoin_aspectTime: ✅ 617.191µs (SLO: <700.000µs 📉 -11.8%) vs baseline: -1.0% Memory: ✅ 43.495MB (SLO: <46.000MB -5.4%) vs baseline: +4.7% ✅ ospathjoin_noaspectTime: ✅ 630.740µs (SLO: <700.000µs -9.9%) vs baseline: -0.9% Memory: ✅ 43.648MB (SLO: <46.000MB -5.1%) vs baseline: +5.1% ✅ ospathnormcase_aspectTime: ✅ 354.360µs (SLO: <700.000µs 📉 -49.4%) vs baseline: +0.1% Memory: ✅ 43.509MB (SLO: <46.000MB -5.4%) vs baseline: +4.7% ✅ ospathnormcase_noaspectTime: ✅ 362.935µs (SLO: <700.000µs 📉 -48.2%) vs baseline: -0.4% Memory: ✅ 43.565MB (SLO: <46.000MB -5.3%) vs baseline: +4.7% ✅ ospathsplit_aspectTime: ✅ 488.633µs (SLO: <700.000µs 📉 -30.2%) vs baseline: ~same Memory: ✅ 43.476MB (SLO: <46.000MB -5.5%) vs baseline: +4.5% ✅ ospathsplit_noaspectTime: ✅ 498.872µs (SLO: <700.000µs 📉 -28.7%) vs baseline: -1.0% Memory: ✅ 43.643MB (SLO: <46.000MB -5.1%) vs baseline: +4.8% ✅ ospathsplitdrive_aspectTime: ✅ 375.401µs (SLO: <700.000µs 📉 -46.4%) vs baseline: +0.4% Memory: ✅ 43.613MB (SLO: <46.000MB -5.2%) vs baseline: +5.2% ✅ ospathsplitdrive_noaspectTime: ✅ 73.834µs (SLO: <700.000µs 📉 -89.5%) vs baseline: +1.0% Memory: ✅ 43.689MB (SLO: <46.000MB -5.0%) vs baseline: +5.3% ✅ ospathsplitext_aspectTime: ✅ 465.678µs (SLO: <700.000µs 📉 -33.5%) vs baseline: +0.4% Memory: ✅ 43.563MB (SLO: <46.000MB -5.3%) vs baseline: +4.9% ✅ ospathsplitext_noaspectTime: ✅ 467.204µs (SLO: <700.000µs 📉 -33.3%) vs baseline: +0.6% Memory: ✅ 43.545MB (SLO: <46.000MB -5.3%) vs baseline: +5.2% 🟡 Near SLO Breach (3 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 19.721ms (SLO: <22.300ms 📉 -11.6%) vs baseline: ~same Memory: ✅ 69.501MB (SLO: <73.500MB -5.4%) vs baseline: +4.8% ✅ exception-replay-enabledTime: ✅ 1.328ms (SLO: <1.450ms -8.4%) vs baseline: -0.4% Memory: ✅ 67.820MB (SLO: <71.500MB -5.1%) vs baseline: +5.0% ✅ iastTime: ✅ 19.706ms (SLO: <22.250ms 📉 -11.4%) vs baseline: +0.1% Memory: ✅ 69.462MB (SLO: <75.000MB -7.4%) vs baseline: +4.8% ✅ profilerTime: ✅ 15.207ms (SLO: <16.550ms -8.1%) vs baseline: -0.4% Memory: ✅ 60.183MB (SLO: <61.000MB 🟡 -1.3%) vs baseline: +4.8% ✅ resource-renamingTime: ✅ 19.655ms (SLO: <21.750ms -9.6%) vs baseline: +0.2% Memory: ✅ 69.481MB (SLO: <73.500MB -5.5%) vs baseline: +4.8% ✅ span-code-originTime: ✅ 20.258ms (SLO: <28.200ms 📉 -28.2%) vs baseline: +1.6% Memory: ✅ 69.514MB (SLO: <75.000MB -7.3%) vs baseline: +4.7% ✅ tracerTime: ✅ 19.726ms (SLO: <21.750ms -9.3%) vs baseline: +0.2% Memory: ✅ 69.501MB (SLO: <75.000MB -7.3%) vs baseline: +4.9% ✅ tracer-and-profilerTime: ✅ 21.171ms (SLO: <23.500ms -9.9%) vs baseline: +0.1% Memory: ✅ 71.506MB (SLO: <75.000MB -4.7%) vs baseline: +4.9% ✅ tracer-dont-create-db-spansTime: ✅ 19.808ms (SLO: <21.500ms -7.9%) vs baseline: -0.2% Memory: ✅ 69.521MB (SLO: <75.000MB -7.3%) vs baseline: +4.8% ✅ tracer-minimalTime: ✅ 16.870ms (SLO: <17.500ms -3.6%) vs baseline: -0.2% Memory: ✅ 69.698MB (SLO: <75.000MB -7.1%) vs baseline: +5.1% ✅ tracer-nativeTime: ✅ 19.745ms (SLO: <21.750ms -9.2%) vs baseline: +0.3% Memory: ✅ 69.481MB (SLO: <72.500MB -4.2%) vs baseline: +4.7% ✅ tracer-no-cachesTime: ✅ 17.642ms (SLO: <19.650ms 📉 -10.2%) vs baseline: ~same Memory: ✅ 69.560MB (SLO: <75.000MB -7.3%) vs baseline: +5.0% ✅ tracer-no-databasesTime: ✅ 19.387ms (SLO: <20.100ms -3.5%) vs baseline: -0.1% Memory: ✅ 69.540MB (SLO: <75.000MB -7.3%) vs baseline: +5.0% ✅ tracer-no-middlewareTime: ✅ 19.419ms (SLO: <21.500ms -9.7%) vs baseline: +0.2% Memory: ✅ 69.540MB (SLO: <75.000MB -7.3%) vs baseline: +5.0% ✅ tracer-no-templatesTime: ✅ 19.655ms (SLO: <22.000ms 📉 -10.7%) vs baseline: +0.7% Memory: ✅ 69.558MB (SLO: <73.500MB -5.4%) vs baseline: +5.0% 🟡 recursivecomputation - 8/8✅ deepTime: ✅ 311.017ms (SLO: <320.950ms -3.1%) vs baseline: -0.3% Memory: ✅ 37.572MB (SLO: <38.750MB -3.0%) vs baseline: +5.1% ✅ deep-profiledTime: ✅ 328.939ms (SLO: <359.150ms -8.4%) vs baseline: -0.4% Memory: ✅ 43.785MB (SLO: <46.000MB -4.8%) vs baseline: +5.0% ✅ mediumTime: ✅ 7.302ms (SLO: <7.400ms 🟡 -1.3%) vs baseline: +0.1% Memory: ✅ 36.392MB (SLO: <38.000MB -4.2%) vs baseline: +4.7% ✅ shallowTime: ✅ 1.020ms (SLO: <1.050ms -2.8%) vs baseline: +1.7% Memory: ✅ 36.235MB (SLO: <38.000MB -4.6%) vs baseline: +4.5% 🟡 tracer - 6/6✅ largeTime: ✅ 31.447ms (SLO: <32.950ms -4.6%) vs baseline: +0.6% Memory: ✅ 37.906MB (SLO: <39.250MB -3.4%) vs baseline: +5.2% ✅ mediumTime: ✅ 3.115ms (SLO: <3.200ms -2.7%) vs baseline: +0.2% Memory: ✅ 36.274MB (SLO: <38.750MB -6.4%) vs baseline: +4.7% ✅ smallTime: ✅ 363.415µs (SLO: <370.000µs 🟡 -1.8%) vs baseline: +3.7% Memory: ✅ 36.255MB (SLO: <38.750MB -6.4%) vs baseline: +4.5%
|
|
/merge |
|
View all feedbacks in Devflow UI.
This pull request is not mergeable according to GitHub. Common reasons include pending required checks, missing approvals, or merge conflicts — but it could also be blocked by other repository rules or settings.
devflow unqueued this merge request: It did not become mergeable within the expected time |
Codeowners resolved as |
https://datadoghq.atlassian.net/browse/PROF-13112
Backport of #17456.