feat(crashtracking): add public API to start crashtracker#17193
feat(crashtracking): add public API to start crashtracker#17193
Conversation
Codeowners resolved as |
Performance SLOsComparing candidate gyuheon0h/PROF-14161-ct-public-api (567cef9) with baseline main (97d4f14) 📈 Performance Regressions (2 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 103.955µs (SLO: <130.000µs 📉 -20.0%) vs baseline: +4.3% Memory: ✅ 43.897MB (SLO: <46.000MB -4.6%) vs baseline: +4.6% ✅ add_inplace_aspectTime: ✅ 101.563µs (SLO: <130.000µs 📉 -21.9%) vs baseline: +0.8% Memory: ✅ 44.025MB (SLO: <46.000MB -4.3%) vs baseline: +5.3% ✅ add_inplace_noaspectTime: ✅ 28.093µs (SLO: <40.000µs 📉 -29.8%) vs baseline: -1.2% Memory: ✅ 43.997MB (SLO: <46.000MB -4.4%) vs baseline: +5.1% ✅ add_noaspectTime: ✅ 48.873µs (SLO: <70.000µs 📉 -30.2%) vs baseline: +0.6% Memory: ✅ 44.368MB (SLO: <46.000MB -3.5%) vs baseline: +5.2% ✅ bytearray_aspectTime: ✅ 249.779µs (SLO: <400.000µs 📉 -37.6%) vs baseline: +0.5% Memory: ✅ 43.992MB (SLO: <46.000MB -4.4%) vs baseline: +4.7% ✅ bytearray_extend_aspectTime: ✅ 648.579µs (SLO: <800.000µs 📉 -18.9%) vs baseline: -1.6% Memory: ✅ 43.948MB (SLO: <46.000MB -4.5%) vs baseline: +5.0% ✅ bytearray_extend_noaspectTime: ✅ 266.751µs (SLO: <400.000µs 📉 -33.3%) vs baseline: +0.3% Memory: ✅ 43.956MB (SLO: <46.000MB -4.4%) vs baseline: +5.0% ✅ bytearray_noaspectTime: ✅ 139.002µs (SLO: <300.000µs 📉 -53.7%) vs baseline: -0.5% Memory: ✅ 43.931MB (SLO: <46.000MB -4.5%) vs baseline: +4.7% ✅ bytes_aspectTime: ✅ 220.311µs (SLO: <300.000µs 📉 -26.6%) vs baseline: +1.3% Memory: ✅ 44.019MB (SLO: <46.000MB -4.3%) vs baseline: +5.2% ✅ bytes_noaspectTime: ✅ 133.660µs (SLO: <200.000µs 📉 -33.2%) vs baseline: +0.4% Memory: ✅ 43.936MB (SLO: <46.000MB -4.5%) vs baseline: +4.8% ✅ bytesio_aspectTime: ✅ 3.792ms (SLO: <5.000ms 📉 -24.2%) vs baseline: +0.3% Memory: ✅ 43.886MB (SLO: <46.000MB -4.6%) vs baseline: +4.8% ✅ bytesio_noaspectTime: ✅ 315.374µs (SLO: <420.000µs 📉 -24.9%) vs baseline: -0.7% Memory: ✅ 44.186MB (SLO: <46.000MB -3.9%) vs baseline: +5.6% ✅ capitalize_aspectTime: ✅ 87.699µs (SLO: <300.000µs 📉 -70.8%) vs baseline: -1.6% Memory: ✅ 43.966MB (SLO: <46.000MB -4.4%) vs baseline: +5.0% ✅ capitalize_noaspectTime: ✅ 247.767µs (SLO: <300.000µs 📉 -17.4%) vs baseline: +1.1% Memory: ✅ 43.974MB (SLO: <46.000MB -4.4%) vs baseline: +4.8% ✅ casefold_aspectTime: ✅ 88.175µs (SLO: <500.000µs 📉 -82.4%) vs baseline: +0.2% Memory: ✅ 43.921MB (SLO: <46.000MB -4.5%) vs baseline: +5.1% ✅ casefold_noaspectTime: ✅ 303.355µs (SLO: <500.000µs 📉 -39.3%) vs baseline: +0.2% Memory: ✅ 43.981MB (SLO: <46.000MB -4.4%) vs baseline: +5.3% ✅ decode_aspectTime: ✅ 86.951µs (SLO: <100.000µs 📉 -13.0%) vs baseline: +0.7% Memory: ✅ 44.301MB (SLO: <46.000MB -3.7%) vs baseline: +4.9% ✅ decode_noaspectTime: ✅ 153.771µs (SLO: <210.000µs 📉 -26.8%) vs baseline: ~same Memory: ✅ 44.166MB (SLO: <46.000MB -4.0%) vs baseline: +5.5% ✅ encode_aspectTime: ✅ 84.189µs (SLO: <200.000µs 📉 -57.9%) vs baseline: -0.1% Memory: ✅ 44.387MB (SLO: <46.000MB -3.5%) vs baseline: +4.9% ✅ encode_noaspectTime: ✅ 142.096µs (SLO: <200.000µs 📉 -29.0%) vs baseline: +0.4% Memory: ✅ 44.001MB (SLO: <46.000MB -4.3%) vs baseline: +5.3% ✅ format_aspectTime: ✅ 14.576ms (SLO: <19.200ms 📉 -24.1%) vs baseline: -0.5% Memory: ✅ 44.532MB (SLO: <46.000MB -3.2%) vs baseline: +4.9% ✅ format_map_aspectTime: ✅ 16.438ms (SLO: <21.500ms 📉 -23.5%) vs baseline: ~same Memory: ✅ 44.148MB (SLO: <46.000MB -4.0%) vs baseline: +5.1% ✅ format_map_noaspectTime: ✅ 369.916µs (SLO: <500.000µs 📉 -26.0%) vs baseline: -0.7% Memory: ✅ 44.103MB (SLO: <46.000MB -4.1%) vs baseline: +5.3% ✅ format_noaspectTime: ✅ 307.599µs (SLO: <500.000µs 📉 -38.5%) vs baseline: +0.7% Memory: ✅ 44.126MB (SLO: <46.000MB -4.1%) vs baseline: +5.3% ✅ index_aspectTime: ✅ 137.732µs (SLO: <300.000µs 📉 -54.1%) vs baseline: 📈 +12.4% Memory: ✅ 44.040MB (SLO: <46.000MB -4.3%) vs baseline: +4.9% ✅ index_noaspectTime: ✅ 40.631µs (SLO: <300.000µs 📉 -86.5%) vs baseline: -1.1% Memory: ✅ 44.005MB (SLO: <46.000MB -4.3%) vs baseline: +4.8% ✅ join_aspectTime: ✅ 210.286µs (SLO: <300.000µs 📉 -29.9%) vs baseline: -0.6% Memory: ✅ 43.993MB (SLO: <46.000MB -4.4%) vs baseline: +5.1% ✅ join_noaspectTime: ✅ 143.588µs (SLO: <300.000µs 📉 -52.1%) vs baseline: +0.9% Memory: ✅ 44.302MB (SLO: <46.000MB -3.7%) vs baseline: +4.8% ✅ ljust_aspectTime: ✅ 499.574µs (SLO: <700.000µs 📉 -28.6%) vs baseline: -0.4% Memory: ✅ 44.005MB (SLO: <46.000MB -4.3%) vs baseline: +5.0% ✅ ljust_noaspectTime: ✅ 267.914µs (SLO: <300.000µs 📉 -10.7%) vs baseline: +4.6% Memory: ✅ 43.989MB (SLO: <46.000MB -4.4%) vs baseline: +5.2% ✅ lower_aspectTime: ✅ 297.558µs (SLO: <500.000µs 📉 -40.5%) vs baseline: +1.6% Memory: ✅ 44.052MB (SLO: <46.000MB -4.2%) vs baseline: +5.1% ✅ lower_noaspectTime: ✅ 232.633µs (SLO: <300.000µs 📉 -22.5%) vs baseline: ~same Memory: ✅ 44.005MB (SLO: <46.000MB -4.3%) vs baseline: +4.7% ✅ lstrip_aspectTime: ✅ 0.277ms (SLO: <3.000ms 📉 -90.8%) vs baseline: +1.1% Memory: ✅ 44.315MB (SLO: <46.000MB -3.7%) vs baseline: +4.9% ✅ lstrip_noaspectTime: ✅ 0.175ms (SLO: <3.000ms 📉 -94.2%) vs baseline: +0.4% Memory: ✅ 43.769MB (SLO: <46.000MB -4.9%) vs baseline: +4.3% ✅ modulo_aspectTime: ✅ 14.288ms (SLO: <18.750ms 📉 -23.8%) vs baseline: ~same Memory: ✅ 44.501MB (SLO: <46.000MB -3.3%) vs baseline: +5.0% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 14.802ms (SLO: <19.350ms 📉 -23.5%) vs baseline: -0.3% Memory: ✅ 44.204MB (SLO: <46.000MB -3.9%) vs baseline: +5.0% ✅ modulo_aspect_for_bytesTime: ✅ 14.388ms (SLO: <18.900ms 📉 -23.9%) vs baseline: ~same Memory: ✅ 44.205MB (SLO: <46.000MB -3.9%) vs baseline: +5.0% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 14.637ms (SLO: <19.150ms 📉 -23.6%) vs baseline: ~same Memory: ✅ 44.411MB (SLO: <46.000MB -3.5%) vs baseline: +5.6% ✅ modulo_noaspectTime: ✅ 0.357ms (SLO: <3.000ms 📉 -88.1%) vs baseline: +0.1% Memory: ✅ 44.007MB (SLO: <46.000MB -4.3%) vs baseline: +5.0% ✅ replace_aspectTime: ✅ 18.383ms (SLO: <24.000ms 📉 -23.4%) vs baseline: -0.4% Memory: ✅ 44.095MB (SLO: <46.000MB -4.1%) vs baseline: +4.9% ✅ replace_noaspectTime: ✅ 281.041µs (SLO: <400.000µs 📉 -29.7%) vs baseline: -0.4% Memory: ✅ 44.006MB (SLO: <46.000MB -4.3%) vs baseline: +4.6% ✅ repr_aspectTime: ✅ 319.749µs (SLO: <420.000µs 📉 -23.9%) vs baseline: +0.7% Memory: ✅ 43.996MB (SLO: <46.000MB -4.4%) vs baseline: +5.0% ✅ repr_noaspectTime: ✅ 46.996µs (SLO: <90.000µs 📉 -47.8%) vs baseline: +0.1% Memory: ✅ 44.407MB (SLO: <46.000MB -3.5%) vs baseline: +5.1% ✅ rstrip_aspectTime: ✅ 382.591µs (SLO: <500.000µs 📉 -23.5%) vs baseline: -1.5% Memory: ✅ 44.298MB (SLO: <46.000MB -3.7%) vs baseline: +4.7% ✅ rstrip_noaspectTime: ✅ 180.063µs (SLO: <300.000µs 📉 -40.0%) vs baseline: -0.3% Memory: ✅ 43.961MB (SLO: <46.000MB -4.4%) vs baseline: +5.1% ✅ slice_aspectTime: ✅ 185.210µs (SLO: <300.000µs 📉 -38.3%) vs baseline: -0.1% Memory: ✅ 43.889MB (SLO: <46.000MB -4.6%) vs baseline: +4.8% ✅ slice_noaspectTime: ✅ 54.423µs (SLO: <90.000µs 📉 -39.5%) vs baseline: -1.1% Memory: ✅ 44.045MB (SLO: <46.000MB -4.3%) vs baseline: +5.2% ✅ stringio_aspectTime: ✅ 4.399ms (SLO: <5.000ms 📉 -12.0%) vs baseline: 📈 +15.3% Memory: ✅ 43.956MB (SLO: <46.000MB -4.4%) vs baseline: +4.9% ✅ stringio_noaspectTime: ✅ 346.343µs (SLO: <500.000µs 📉 -30.7%) vs baseline: +0.3% Memory: ✅ 43.960MB (SLO: <46.000MB -4.4%) vs baseline: +5.1% ✅ strip_aspectTime: ✅ 278.291µs (SLO: <350.000µs 📉 -20.5%) vs baseline: +0.6% Memory: ✅ 43.838MB (SLO: <46.000MB -4.7%) vs baseline: +4.7% ✅ strip_noaspectTime: ✅ 176.482µs (SLO: <240.000µs 📉 -26.5%) vs baseline: ~same Memory: ✅ 43.938MB (SLO: <46.000MB -4.5%) vs baseline: +4.9% ✅ swapcase_aspectTime: ✅ 331.402µs (SLO: <500.000µs 📉 -33.7%) vs baseline: -0.4% Memory: ✅ 43.911MB (SLO: <46.000MB -4.5%) vs baseline: +4.9% ✅ swapcase_noaspectTime: ✅ 266.484µs (SLO: <400.000µs 📉 -33.4%) vs baseline: ~same Memory: ✅ 43.973MB (SLO: <46.000MB -4.4%) vs baseline: +5.0% ✅ title_aspectTime: ✅ 320.252µs (SLO: <500.000µs 📉 -35.9%) vs baseline: -0.1% Memory: ✅ 43.981MB (SLO: <46.000MB -4.4%) vs baseline: +5.1% ✅ title_noaspectTime: ✅ 253.411µs (SLO: <400.000µs 📉 -36.6%) vs baseline: -0.2% Memory: ✅ 44.035MB (SLO: <46.000MB -4.3%) vs baseline: +5.1% ✅ translate_aspectTime: ✅ 493.081µs (SLO: <700.000µs 📉 -29.6%) vs baseline: +0.4% Memory: ✅ 44.099MB (SLO: <46.000MB -4.1%) vs baseline: +5.5% ✅ translate_noaspectTime: ✅ 420.893µs (SLO: <500.000µs 📉 -15.8%) vs baseline: -2.6% Memory: ✅ 43.949MB (SLO: <46.000MB -4.5%) vs baseline: +5.0% ✅ upper_aspectTime: ✅ 293.162µs (SLO: <500.000µs 📉 -41.4%) vs baseline: -0.7% Memory: ✅ 44.013MB (SLO: <46.000MB -4.3%) vs baseline: +5.3% ✅ upper_noaspectTime: ✅ 232.297µs (SLO: <400.000µs 📉 -41.9%) vs baseline: +0.4% Memory: ✅ 43.906MB (SLO: <46.000MB -4.6%) vs baseline: +5.1% 📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 511.816µs (SLO: <700.000µs 📉 -26.9%) vs baseline: 📈 +20.0% Memory: ✅ 43.869MB (SLO: <46.000MB -4.6%) vs baseline: +4.9% ✅ ospathbasename_noaspectTime: ✅ 431.586µs (SLO: <700.000µs 📉 -38.3%) vs baseline: +0.3% Memory: ✅ 43.815MB (SLO: <46.000MB -4.8%) vs baseline: +5.0% ✅ ospathjoin_aspectTime: ✅ 624.913µs (SLO: <700.000µs 📉 -10.7%) vs baseline: +0.1% Memory: ✅ 43.917MB (SLO: <46.000MB -4.5%) vs baseline: +4.8% ✅ ospathjoin_noaspectTime: ✅ 634.727µs (SLO: <700.000µs -9.3%) vs baseline: +0.1% Memory: ✅ 43.750MB (SLO: <46.000MB -4.9%) vs baseline: +4.4% ✅ ospathnormcase_aspectTime: ✅ 350.298µs (SLO: <700.000µs 📉 -50.0%) vs baseline: +0.5% Memory: ✅ 43.862MB (SLO: <46.000MB -4.6%) vs baseline: +4.7% ✅ ospathnormcase_noaspectTime: ✅ 361.029µs (SLO: <700.000µs 📉 -48.4%) vs baseline: +1.2% Memory: ✅ 43.869MB (SLO: <46.000MB -4.6%) vs baseline: +4.9% ✅ ospathsplit_aspectTime: ✅ 482.508µs (SLO: <700.000µs 📉 -31.1%) vs baseline: -0.5% Memory: ✅ 43.873MB (SLO: <46.000MB -4.6%) vs baseline: +5.1% ✅ ospathsplit_noaspectTime: ✅ 495.886µs (SLO: <700.000µs 📉 -29.2%) vs baseline: -0.1% Memory: ✅ 43.873MB (SLO: <46.000MB -4.6%) vs baseline: +5.0% ✅ ospathsplitdrive_aspectTime: ✅ 371.264µs (SLO: <700.000µs 📉 -47.0%) vs baseline: -1.3% Memory: ✅ 43.820MB (SLO: <46.000MB -4.7%) vs baseline: +4.7% ✅ ospathsplitdrive_noaspectTime: ✅ 73.409µs (SLO: <700.000µs 📉 -89.5%) vs baseline: -0.3% Memory: ✅ 43.799MB (SLO: <46.000MB -4.8%) vs baseline: +4.8% ✅ ospathsplitext_aspectTime: ✅ 458.635µs (SLO: <700.000µs 📉 -34.5%) vs baseline: +0.1% Memory: ✅ 43.845MB (SLO: <46.000MB -4.7%) vs baseline: +5.1% ✅ ospathsplitext_noaspectTime: ✅ 465.446µs (SLO: <700.000µs 📉 -33.5%) vs baseline: -0.1% Memory: ✅ 43.870MB (SLO: <46.000MB -4.6%) vs baseline: +5.0% 🟡 Near SLO Breach (3 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 19.650ms (SLO: <22.300ms 📉 -11.9%) vs baseline: -0.3% Memory: ✅ 69.350MB (SLO: <73.500MB -5.6%) vs baseline: +5.0% ✅ exception-replay-enabledTime: ✅ 1.327ms (SLO: <1.450ms -8.5%) vs baseline: +0.4% Memory: ✅ 67.614MB (SLO: <71.500MB -5.4%) vs baseline: +5.0% ✅ iastTime: ✅ 19.648ms (SLO: <22.250ms 📉 -11.7%) vs baseline: -0.5% Memory: ✅ 69.344MB (SLO: <75.000MB -7.5%) vs baseline: +4.9% ✅ profilerTime: ✅ 15.030ms (SLO: <16.550ms -9.2%) vs baseline: -0.8% Memory: ✅ 60.459MB (SLO: <61.000MB 🟡 -0.9%) vs baseline: +4.9% ✅ resource-renamingTime: ✅ 19.733ms (SLO: <21.750ms -9.3%) vs baseline: +0.7% Memory: ✅ 69.344MB (SLO: <73.500MB -5.7%) vs baseline: +4.9% ✅ span-code-originTime: ✅ 20.242ms (SLO: <28.200ms 📉 -28.2%) vs baseline: +1.9% Memory: ✅ 69.525MB (SLO: <75.000MB -7.3%) vs baseline: +4.9% ✅ tracerTime: ✅ 19.798ms (SLO: <21.750ms -9.0%) vs baseline: +0.6% Memory: ✅ 69.283MB (SLO: <75.000MB -7.6%) vs baseline: +4.9% ✅ tracer-and-profilerTime: ✅ 21.087ms (SLO: <23.500ms 📉 -10.3%) vs baseline: -0.2% Memory: ✅ 71.322MB (SLO: <75.000MB -4.9%) vs baseline: +4.8% ✅ tracer-dont-create-db-spansTime: ✅ 19.750ms (SLO: <21.500ms -8.1%) vs baseline: -0.5% Memory: ✅ 69.359MB (SLO: <75.000MB -7.5%) vs baseline: +4.9% ✅ tracer-minimalTime: ✅ 16.945ms (SLO: <17.500ms -3.2%) vs baseline: +0.4% Memory: ✅ 69.270MB (SLO: <75.000MB -7.6%) vs baseline: +5.0% ✅ tracer-nativeTime: ✅ 19.691ms (SLO: <21.750ms -9.5%) vs baseline: ~same Memory: ✅ 69.275MB (SLO: <72.500MB -4.4%) vs baseline: +4.8% ✅ tracer-no-cachesTime: ✅ 17.666ms (SLO: <19.650ms 📉 -10.1%) vs baseline: +0.3% Memory: ✅ 69.325MB (SLO: <75.000MB -7.6%) vs baseline: +4.9% ✅ tracer-no-databasesTime: ✅ 19.380ms (SLO: <20.100ms -3.6%) vs baseline: +0.1% Memory: ✅ 69.281MB (SLO: <75.000MB -7.6%) vs baseline: +4.9% ✅ tracer-no-middlewareTime: ✅ 19.457ms (SLO: <21.500ms -9.5%) vs baseline: ~same Memory: ✅ 69.275MB (SLO: <75.000MB -7.6%) vs baseline: +4.7% ✅ tracer-no-templatesTime: ✅ 19.660ms (SLO: <22.000ms 📉 -10.6%) vs baseline: +0.3% Memory: ✅ 69.394MB (SLO: <73.500MB -5.6%) vs baseline: +5.1% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 3.375ms (SLO: <4.750ms 📉 -28.9%) vs baseline: +0.2% Memory: ✅ 56.510MB (SLO: <66.500MB 📉 -15.0%) vs baseline: +4.8% ✅ appsec-postTime: ✅ 2.869ms (SLO: <6.750ms 📉 -57.5%) vs baseline: +0.3% Memory: ✅ 56.647MB (SLO: <66.500MB 📉 -14.8%) vs baseline: +5.0% ✅ appsec-telemetryTime: ✅ 3.378ms (SLO: <4.750ms 📉 -28.9%) vs baseline: +0.2% Memory: ✅ 56.605MB (SLO: <66.500MB 📉 -14.9%) vs baseline: +5.0% ✅ debuggerTime: ✅ 1.878ms (SLO: <2.000ms -6.1%) vs baseline: +0.2% Memory: ✅ 49.260MB (SLO: <51.500MB -4.4%) vs baseline: +4.7% ✅ iast-getTime: ✅ 1.875ms (SLO: <2.000ms -6.3%) vs baseline: +0.1% Memory: ✅ 45.922MB (SLO: <49.000MB -6.3%) vs baseline: +5.0% ✅ profilerTime: ✅ 1.914ms (SLO: <2.100ms -8.9%) vs baseline: +0.2% Memory: ✅ 52.531MB (SLO: <53.500MB 🟡 -1.8%) vs baseline: +4.8% ✅ resource-renamingTime: ✅ 3.351ms (SLO: <3.650ms -8.2%) vs baseline: +0.2% Memory: ✅ 56.555MB (SLO: <60.000MB -5.7%) vs baseline: +4.9% ✅ tracerTime: ✅ 3.362ms (SLO: <3.650ms -7.9%) vs baseline: ~same Memory: ✅ 56.551MB (SLO: <60.000MB -5.7%) vs baseline: +4.9% ✅ tracer-nativeTime: ✅ 3.364ms (SLO: <3.650ms -7.8%) vs baseline: +0.4% Memory: ✅ 56.607MB (SLO: <60.000MB -5.7%) vs baseline: +4.8% 🟡 recursivecomputation - 8/8✅ deepTime: ✅ 312.082ms (SLO: <320.950ms -2.8%) vs baseline: +0.2% Memory: ✅ 37.532MB (SLO: <38.750MB -3.1%) vs baseline: +5.3% ✅ deep-profiledTime: ✅ 328.658ms (SLO: <359.150ms -8.5%) vs baseline: ~same Memory: ✅ 43.706MB (SLO: <46.000MB -5.0%) vs baseline: +4.7% ✅ mediumTime: ✅ 7.293ms (SLO: <7.400ms 🟡 -1.5%) vs baseline: ~same Memory: ✅ 36.628MB (SLO: <38.000MB -3.6%) vs baseline: +4.6% ✅ shallowTime: ✅ 1.014ms (SLO: <1.050ms -3.4%) vs baseline: +1.6% Memory: ✅ 36.707MB (SLO: <38.000MB -3.4%) vs baseline: +4.7%
|
taegyunkim
left a comment
There was a problem hiding this comment.
How would this work with this pending PR? #17184
Is it orthogonal?
Also, what would happen if a user calls start() multiple times? or call it after the application is started with ddtrace-run?
Crashtracker |

Description
This PR adds a public API for consumers of
dd-trace-pyto start the crashtracker. Previously, crashtracking was only enabled when an application is run withddtrace-run.Testing
Unit test using the public API
Risks
None
Additional Notes
There is no reason for customers to use this at the current moment, as Errors intake is not GAed yet.