-
Notifications
You must be signed in to change notification settings - Fork 469
feat(profiling): track asyncio.wait
#15338
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: 252 ± 4 ms. The average import time from base is: 258 ± 3 ms. The import time difference between this PR and base is: -5.4 ± 0.2 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate kowalski/port-asyncio-wait-tracking (d2d496d) with baseline main (84b4a8c) ❌ Test Failures (1 suite)❌ packagespackageforrootmodulemapping - 3/4❌ cache_offTime: ✅ 343.208ms (SLO: <354.300ms -3.1%) vs baseline: -0.5% Memory: ❌ 41.617MB (SLO: <41.500MB +0.3%) vs baseline: +6.3% ✅ cache_onTime: ✅ 0.385µs (SLO: <10.000µs 📉 -96.2%) vs baseline: +0.6% Memory: ✅ 40.074MB (SLO: <41.000MB -2.3%) vs baseline: +5.6% 📈 Performance Regressions (2 suites)📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 5.221µs (SLO: <10.000µs 📉 -47.8%) vs baseline: 📈 +21.4% Memory: ✅ 40.285MB (SLO: <41.000MB 🟡 -1.7%) vs baseline: +4.7% ✅ ospathbasename_noaspectTime: ✅ 1.083µs (SLO: <10.000µs 📉 -89.2%) vs baseline: -0.5% Memory: ✅ 40.344MB (SLO: <41.000MB 🟡 -1.6%) vs baseline: +4.5% ✅ ospathjoin_aspectTime: ✅ 6.199µs (SLO: <10.000µs 📉 -38.0%) vs baseline: +0.2% Memory: ✅ 40.383MB (SLO: <41.000MB 🟡 -1.5%) vs baseline: +5.4% ✅ ospathjoin_noaspectTime: ✅ 2.283µs (SLO: <10.000µs 📉 -77.2%) vs baseline: -0.9% Memory: ✅ 40.521MB (SLO: <41.000MB 🟡 -1.2%) vs baseline: +5.6% ✅ ospathnormcase_aspectTime: ✅ 3.550µs (SLO: <10.000µs 📉 -64.5%) vs baseline: +0.5% Memory: ✅ 40.246MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +4.7% ✅ ospathnormcase_noaspectTime: ✅ 0.566µs (SLO: <10.000µs 📉 -94.3%) vs baseline: -0.9% Memory: ✅ 40.246MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +4.6% ✅ ospathsplit_aspectTime: ✅ 4.869µs (SLO: <10.000µs 📉 -51.3%) vs baseline: -0.4% Memory: ✅ 40.226MB (SLO: <41.000MB 🟡 -1.9%) vs baseline: +4.2% ✅ ospathsplit_noaspectTime: ✅ 1.604µs (SLO: <10.000µs 📉 -84.0%) vs baseline: +0.1% Memory: ✅ 40.324MB (SLO: <41.000MB 🟡 -1.6%) vs baseline: +5.0% ✅ ospathsplitdrive_aspectTime: ✅ 3.720µs (SLO: <10.000µs 📉 -62.8%) vs baseline: +0.9% Memory: ✅ 40.246MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +4.5% ✅ ospathsplitdrive_noaspectTime: ✅ 0.707µs (SLO: <10.000µs 📉 -92.9%) vs baseline: +0.7% Memory: ✅ 40.324MB (SLO: <41.000MB 🟡 -1.6%) vs baseline: +5.0% ✅ ospathsplitext_aspectTime: ✅ 4.624µs (SLO: <10.000µs 📉 -53.8%) vs baseline: +0.4% Memory: ✅ 40.285MB (SLO: <41.000MB 🟡 -1.7%) vs baseline: +4.9% ✅ ospathsplitext_noaspectTime: ✅ 1.382µs (SLO: <10.000µs 📉 -86.2%) vs baseline: -0.2% Memory: ✅ 40.147MB (SLO: <41.000MB -2.1%) vs baseline: +4.6% 📈 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 3.427µs (SLO: <20.000µs 📉 -82.9%) vs baseline: 📈 +17.1% Memory: ✅ 35.075MB (SLO: <35.500MB 🟡 -1.2%) vs baseline: +5.3% ✅ 1-count-metrics-100-timesTime: ✅ 203.714µs (SLO: <220.000µs -7.4%) vs baseline: +2.5% Memory: ✅ 34.878MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +4.7% ✅ 1-distribution-metric-1-timesTime: ✅ 3.301µs (SLO: <20.000µs 📉 -83.5%) vs baseline: -0.4% Memory: ✅ 34.819MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.7% ✅ 1-distribution-metrics-100-timesTime: ✅ 215.568µs (SLO: <230.000µs -6.3%) vs baseline: +0.3% Memory: ✅ 34.800MB (SLO: <35.500MB 🟡 -2.0%) vs baseline: +4.4% ✅ 1-gauge-metric-1-timesTime: ✅ 2.160µs (SLO: <20.000µs 📉 -89.2%) vs baseline: -1.7% Memory: ✅ 34.957MB (SLO: <35.500MB 🟡 -1.5%) vs baseline: +5.1% ✅ 1-gauge-metrics-100-timesTime: ✅ 136.167µs (SLO: <150.000µs -9.2%) vs baseline: -0.2% Memory: ✅ 34.819MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.5% ✅ 1-rate-metric-1-timesTime: ✅ 3.081µs (SLO: <20.000µs 📉 -84.6%) vs baseline: +0.3% Memory: ✅ 34.878MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +4.9% ✅ 1-rate-metrics-100-timesTime: ✅ 216.481µs (SLO: <250.000µs 📉 -13.4%) vs baseline: +1.4% Memory: ✅ 34.957MB (SLO: <35.500MB 🟡 -1.5%) vs baseline: +4.9% ✅ 100-count-metrics-100-timesTime: ✅ 20.261ms (SLO: <22.000ms -7.9%) vs baseline: +0.4% Memory: ✅ 34.977MB (SLO: <35.500MB 🟡 -1.5%) vs baseline: +4.9% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.237ms (SLO: <2.300ms -2.7%) vs baseline: -1.8% Memory: ✅ 34.937MB (SLO: <35.500MB 🟡 -1.6%) vs baseline: +5.0% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.403ms (SLO: <1.550ms -9.5%) vs baseline: +0.7% Memory: ✅ 34.937MB (SLO: <35.500MB 🟡 -1.6%) vs baseline: +4.9% ✅ 100-rate-metrics-100-timesTime: ✅ 2.217ms (SLO: <2.550ms 📉 -13.0%) vs baseline: +1.4% Memory: ✅ 34.957MB (SLO: <35.500MB 🟡 -1.5%) vs baseline: +5.0% ✅ flush-1-metricTime: ✅ 4.442µs (SLO: <20.000µs 📉 -77.8%) vs baseline: +1.1% Memory: ✅ 35.232MB (SLO: <35.500MB 🟡 -0.8%) vs baseline: +4.8% ✅ flush-100-metricsTime: ✅ 173.136µs (SLO: <250.000µs 📉 -30.7%) vs baseline: ~same Memory: ✅ 35.252MB (SLO: <35.500MB 🟡 -0.7%) vs baseline: +4.7% ✅ flush-1000-metricsTime: ✅ 2.183ms (SLO: <2.500ms 📉 -12.7%) vs baseline: -0.2% Memory: ✅ 36.117MB (SLO: <36.500MB 🟡 -1.0%) vs baseline: +4.9% 🟡 Near SLO Breach (17 suites)🟡 coreapiscenario - 10/10 (1 unstable)
|
2391f79 to
dc3911d
Compare
asyncio.wait
010e186 to
a3c31fc
Compare
a3c31fc to
d2d496d
Compare

Description
https://datadoghq.atlassian.net/browse/PROF-13092
As title says, we need to import some Python wrapping from Echion. The implementation is the same as the one in Echion, adapted to use ddtrace's wrapping/patching functionality.
Related:
asyncio.waitP403n1x87/echion#188