chore(profiling): move echion to dd-trace-py#14877
chore(profiling): move echion to dd-trace-py#14877KowalskiThomas wants to merge 3 commits intomainfrom
Conversation
|
|
38b5e7b to
8b6c248
Compare
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 239 ± 2 ms. The average import time from base is: 242 ± 4 ms. The import time difference between this PR and base is: -3.0 ± 0.1 ms. Import time breakdownThe following import paths have shrunk:
|
8b6c248 to
3aad00b
Compare
Performance SLOsComparing candidate kowalski/chore-profiling-move-echion-to-dd-trace-py (d340751) with baseline main (671dc7b) 📈 Performance Regressions (2 suites)📈 iast_aspects - 40/40✅ re_expand_aspectTime: ✅ 33.799µs (SLO: <40.000µs 📉 -15.5%) vs baseline: +6.2% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ re_expand_noaspectTime: ✅ 28.674µs (SLO: <40.000µs 📉 -28.3%) vs baseline: -0.2% Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.6% ✅ re_findall_aspectTime: ✅ 2.970µs (SLO: <10.000µs 📉 -70.3%) vs baseline: +1.4% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ re_findall_noaspectTime: ✅ 1.424µs (SLO: <10.000µs 📉 -85.8%) vs baseline: +1.0% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.9% ✅ re_finditer_aspectTime: ✅ 4.498µs (SLO: <10.000µs 📉 -55.0%) vs baseline: -0.6% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ re_finditer_noaspectTime: ✅ 1.404µs (SLO: <10.000µs 📉 -86.0%) vs baseline: -1.3% Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.6% ✅ re_fullmatch_aspectTime: ✅ 2.699µs (SLO: <10.000µs 📉 -73.0%) vs baseline: -0.5% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.9% ✅ re_fullmatch_noaspectTime: ✅ 1.302µs (SLO: <10.000µs 📉 -87.0%) vs baseline: +0.7% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ re_group_aspectTime: ✅ 2.971µs (SLO: <10.000µs 📉 -70.3%) vs baseline: +0.6% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ re_group_noaspectTime: ✅ 1.606µs (SLO: <10.000µs 📉 -83.9%) vs baseline: +0.1% Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.8% ✅ re_groups_aspectTime: ✅ 3.113µs (SLO: <10.000µs 📉 -68.9%) vs baseline: +0.8% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ re_groups_noaspectTime: ✅ 1.686µs (SLO: <10.000µs 📉 -83.1%) vs baseline: -0.6% Memory: ✅ 37.611MB (SLO: <39.000MB -3.6%) vs baseline: +4.6% ✅ re_match_aspectTime: ✅ 3.069µs (SLO: <10.000µs 📉 -69.3%) vs baseline: 📈 +12.5% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.9% ✅ re_match_noaspectTime: ✅ 1.303µs (SLO: <10.000µs 📉 -87.0%) vs baseline: +0.5% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% ✅ re_search_aspectTime: ✅ 2.553µs (SLO: <10.000µs 📉 -74.5%) vs baseline: -1.3% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ re_search_noaspectTime: ✅ 1.205µs (SLO: <10.000µs 📉 -87.9%) vs baseline: ~same Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ re_sub_aspectTime: ✅ 3.435µs (SLO: <10.000µs 📉 -65.6%) vs baseline: +0.1% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.1% ✅ re_sub_noaspectTime: ✅ 1.579µs (SLO: <10.000µs 📉 -84.2%) vs baseline: +2.9% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ re_subn_aspectTime: ✅ 3.651µs (SLO: <10.000µs 📉 -63.5%) vs baseline: +0.4% Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.6% ✅ re_subn_noaspectTime: ✅ 1.608µs (SLO: <10.000µs 📉 -83.9%) vs baseline: -0.2% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% 📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 5.056µs (SLO: <10.000µs 📉 -49.4%) vs baseline: 📈 +17.3% Memory: ✅ 37.572MB (SLO: <39.000MB -3.7%) vs baseline: +4.5% ✅ ospathbasename_noaspectTime: ✅ 1.102µs (SLO: <10.000µs 📉 -89.0%) vs baseline: +1.3% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% ✅ ospathjoin_aspectTime: ✅ 6.931µs (SLO: <10.000µs 📉 -30.7%) vs baseline: 📈 +12.9% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ ospathjoin_noaspectTime: ✅ 2.298µs (SLO: <10.000µs 📉 -77.0%) vs baseline: +0.4% Memory: ✅ 37.650MB (SLO: <39.000MB -3.5%) vs baseline: +4.8% ✅ ospathnormcase_aspectTime: ✅ 3.861µs (SLO: <10.000µs 📉 -61.4%) vs baseline: 📈 +11.4% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% ✅ ospathnormcase_noaspectTime: ✅ 0.570µs (SLO: <10.000µs 📉 -94.3%) vs baseline: -0.3% Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.7% ✅ ospathsplit_aspectTime: ✅ 5.701µs (SLO: <10.000µs 📉 -43.0%) vs baseline: 📈 +16.6% Memory: ✅ 37.611MB (SLO: <39.000MB -3.6%) vs baseline: +4.7% ✅ ospathsplit_noaspectTime: ✅ 1.593µs (SLO: <10.000µs 📉 -84.1%) vs baseline: -0.6% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ ospathsplitdrive_aspectTime: ✅ 3.672µs (SLO: <10.000µs 📉 -63.3%) vs baseline: +0.5% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +5.0% ✅ ospathsplitdrive_noaspectTime: ✅ 0.703µs (SLO: <10.000µs 📉 -93.0%) vs baseline: -0.2% Memory: ✅ 37.631MB (SLO: <39.000MB -3.5%) vs baseline: +4.6% ✅ ospathsplitext_aspectTime: ✅ 4.538µs (SLO: <10.000µs 📉 -54.6%) vs baseline: -1.0% Memory: ✅ 37.611MB (SLO: <39.000MB -3.6%) vs baseline: +4.7% ✅ ospathsplitext_noaspectTime: ✅ 1.390µs (SLO: <10.000µs 📉 -86.1%) vs baseline: -1.0% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.2% 🟡 Near SLO Breach (4 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.440ms (SLO: <22.300ms -8.3%) vs baseline: -0.3% Memory: ✅ 65.506MB (SLO: <67.000MB -2.2%) vs baseline: +4.8% ✅ exception-replay-enabledTime: ✅ 1.348ms (SLO: <1.450ms -7.0%) vs baseline: ~same Memory: ✅ 64.653MB (SLO: <67.000MB -3.5%) vs baseline: +4.9% ✅ iastTime: ✅ 20.433ms (SLO: <22.250ms -8.2%) vs baseline: +0.1% Memory: ✅ 65.471MB (SLO: <67.000MB -2.3%) vs baseline: +4.9% ✅ profilerTime: ✅ 15.293ms (SLO: <16.550ms -7.6%) vs baseline: +0.2% Memory: ✅ 53.693MB (SLO: <54.500MB 🟡 -1.5%) vs baseline: +4.9% ✅ resource-renamingTime: ✅ 20.567ms (SLO: <21.750ms -5.4%) vs baseline: -0.1% Memory: ✅ 65.441MB (SLO: <67.000MB -2.3%) vs baseline: +4.8% ✅ span-code-originTime: ✅ 26.131ms (SLO: <28.200ms -7.3%) vs baseline: ~same Memory: ✅ 67.514MB (SLO: <69.500MB -2.9%) vs baseline: +2.9% ✅ tracerTime: ✅ 20.466ms (SLO: <21.750ms -5.9%) vs baseline: -0.1% Memory: ✅ 65.486MB (SLO: <67.000MB -2.3%) vs baseline: +4.8% ✅ tracer-and-profilerTime: ✅ 22.030ms (SLO: <23.500ms -6.3%) vs baseline: +0.1% Memory: ✅ 66.691MB (SLO: <67.500MB 🟡 -1.2%) vs baseline: +5.0% ✅ tracer-dont-create-db-spansTime: ✅ 19.314ms (SLO: <21.500ms 📉 -10.2%) vs baseline: +0.2% Memory: ✅ 65.444MB (SLO: <66.000MB 🟡 -0.8%) vs baseline: +4.8% ✅ tracer-minimalTime: ✅ 16.653ms (SLO: <17.500ms -4.8%) vs baseline: ~same Memory: ✅ 65.424MB (SLO: <66.000MB 🟡 -0.9%) vs baseline: +4.9% ✅ tracer-nativeTime: ✅ 20.454ms (SLO: <21.750ms -6.0%) vs baseline: -0.2% Memory: ✅ 71.406MB (SLO: <72.500MB 🟡 -1.5%) vs baseline: +4.9% ✅ tracer-no-cachesTime: ✅ 18.431ms (SLO: <19.650ms -6.2%) vs baseline: ~same Memory: ✅ 65.443MB (SLO: <67.000MB -2.3%) vs baseline: +4.8% ✅ tracer-no-databasesTime: ✅ 18.744ms (SLO: <20.100ms -6.7%) vs baseline: ~same Memory: ✅ 65.113MB (SLO: <67.000MB -2.8%) vs baseline: +4.2% ✅ tracer-no-middlewareTime: ✅ 20.186ms (SLO: <21.500ms -6.1%) vs baseline: +0.5% Memory: ✅ 65.459MB (SLO: <67.000MB -2.3%) vs baseline: +5.0% ✅ tracer-no-templatesTime: ✅ 20.299ms (SLO: <22.000ms -7.7%) vs baseline: ~same Memory: ✅ 65.442MB (SLO: <67.000MB -2.3%) vs baseline: +4.9% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.049ms (SLO: <19.850ms -9.1%) vs baseline: -0.3% Memory: ✅ 65.254MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +5.0% ✅ errortracking-enabled-userTime: ✅ 18.214ms (SLO: <19.400ms -6.1%) vs baseline: +0.8% Memory: ✅ 65.254MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +5.0% ✅ tracer-enabledTime: ✅ 18.056ms (SLO: <19.450ms -7.2%) vs baseline: ~same Memory: ✅ 65.235MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +4.9% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.569ms (SLO: <4.750ms -3.8%) vs baseline: -0.4% Memory: ✅ 62.010MB (SLO: <65.000MB -4.6%) vs baseline: +4.9% ✅ appsec-postTime: ✅ 6.585ms (SLO: <6.750ms -2.4%) vs baseline: ~same Memory: ✅ 62.030MB (SLO: <65.000MB -4.6%) vs baseline: +4.9% ✅ appsec-telemetryTime: ✅ 4.568ms (SLO: <4.750ms -3.8%) vs baseline: ~same Memory: ✅ 61.932MB (SLO: <65.000MB -4.7%) vs baseline: +4.7% ✅ debuggerTime: ✅ 1.859ms (SLO: <2.000ms -7.1%) vs baseline: ~same Memory: ✅ 45.436MB (SLO: <47.000MB -3.3%) vs baseline: +4.9% ✅ iast-getTime: ✅ 1.859ms (SLO: <2.000ms -7.1%) vs baseline: -0.3% Memory: ✅ 42.389MB (SLO: <49.000MB 📉 -13.5%) vs baseline: +5.0% ✅ profilerTime: ✅ 1.911ms (SLO: <2.100ms -9.0%) vs baseline: +0.1% Memory: ✅ 46.498MB (SLO: <47.000MB 🟡 -1.1%) vs baseline: +4.9% ✅ resource-renamingTime: ✅ 3.384ms (SLO: <3.650ms -7.3%) vs baseline: ~same Memory: ✅ 52.239MB (SLO: <53.500MB -2.4%) vs baseline: +4.8% ✅ tracerTime: ✅ 3.372ms (SLO: <3.650ms -7.6%) vs baseline: ~same Memory: ✅ 52.180MB (SLO: <53.500MB -2.5%) vs baseline: +4.7% ✅ tracer-nativeTime: ✅ 3.374ms (SLO: <3.650ms -7.6%) vs baseline: +0.3% Memory: ✅ 58.220MB (SLO: <60.000MB -3.0%) vs baseline: +4.6% 🟡 span - 26/26✅ add-eventTime: ✅ 20.684ms (SLO: <22.500ms -8.1%) vs baseline: +0.1% Memory: ✅ 50.349MB (SLO: <53.000MB -5.0%) vs baseline: +4.9% ✅ add-metricsTime: ✅ 91.215ms (SLO: <93.500ms -2.4%) vs baseline: -0.1% Memory: ✅ 660.804MB (SLO: <961.000MB 📉 -31.2%) vs baseline: +4.8% ✅ add-tagsTime: ✅ 148.764ms (SLO: <155.000ms -4.0%) vs baseline: +0.3% Memory: ✅ 661.429MB (SLO: <962.500MB 📉 -31.3%) vs baseline: +4.9% ✅ get-contextTime: ✅ 19.467ms (SLO: <20.500ms -5.0%) vs baseline: +0.6% Memory: ✅ 49.220MB (SLO: <53.000MB -7.1%) vs baseline: +5.0% ✅ is-recordingTime: ✅ 19.673ms (SLO: <20.500ms -4.0%) vs baseline: +0.2% Memory: ✅ 49.164MB (SLO: <53.000MB -7.2%) vs baseline: +4.8% ✅ record-exceptionTime: ✅ 38.384ms (SLO: <40.000ms -4.0%) vs baseline: -0.2% Memory: ✅ 42.769MB (SLO: <53.000MB 📉 -19.3%) vs baseline: +4.9% ✅ set-statusTime: ✅ 21.311ms (SLO: <22.000ms -3.1%) vs baseline: +0.8% Memory: ✅ 49.150MB (SLO: <53.000MB -7.3%) vs baseline: +4.8% ✅ startTime: ✅ 19.206ms (SLO: <20.500ms -6.3%) vs baseline: -0.6% Memory: ✅ 49.117MB (SLO: <53.000MB -7.3%) vs baseline: +4.8% ✅ start-finishTime: ✅ 51.836ms (SLO: <52.500ms 🟡 -1.3%) vs baseline: +1.1% Memory: ✅ 32.126MB (SLO: <34.000MB -5.5%) vs baseline: +5.1% ✅ start-finish-telemetryTime: ✅ 52.764ms (SLO: <54.500ms -3.2%) vs baseline: ~same Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +5.1% ✅ start-finish-traceid128Time: ✅ 54.918ms (SLO: <56.000ms 🟡 -1.9%) vs baseline: -0.1% Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +4.9% ✅ start-traceid128Time: ✅ 19.751ms (SLO: <22.500ms 📉 -12.2%) vs baseline: ~same Memory: ✅ 49.110MB (SLO: <53.000MB -7.3%) vs baseline: +4.8% ✅ update-nameTime: ✅ 20.366ms (SLO: <22.000ms -7.4%) vs baseline: +0.5% Memory: ✅ 49.759MB (SLO: <53.000MB -6.1%) vs baseline: +4.8%
|
3aad00b to
304c3f2
Compare
c5f53c4 to
d340751
Compare
d340751 to
a06a4c2
Compare
Description
This PR moves the source code for Echion from P403n1x87/echion to DataDog/dd-trace-py!
Testing
I moved all the existing integration tests (running in Github Actions) from the original repo to here. I had to make some changes (since we are now running in a different directory) and change some testing config (to make sure we were running in isolation/not running with conftest/whatnot from dd-trace-py).
The tests are now successfully failing exactly as they are in the original repo! 🎉?