- 
                Notifications
    
You must be signed in to change notification settings  - Fork 467
 
feat(ffe): integrate datadog-ffe #15098
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
base: main
Are you sure you want to change the base?
Conversation
| 
           
  | 
    
cef19ac    to
    b4dfcf7      
    Compare
  
    b4dfcf7    to
    762fd7f      
    Compare
  
    
          Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 239 ± 3 ms. The average import time from base is: 241 ± 3 ms. The import time difference between this PR and base is: -2.1 ± 0.1 ms. Import time breakdownThe following import paths have grown: 
             | 
    
          Performance SLOsComparing candidate datadog-ffe (c4db57e) with baseline main (06e349b) 📈 Performance Regressions (1 suite)📈 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 3.319µs (SLO: <20.000µs 📉 -83.4%) vs baseline: 📈 +13.8% Memory: ✅ 31.949MB (SLO: <34.000MB -6.0%) vs baseline: +5.1% ✅ 1-count-metrics-100-timesTime: ✅ 208.584µs (SLO: <220.000µs -5.2%) vs baseline: +4.8% Memory: ✅ 31.909MB (SLO: <34.000MB -6.1%) vs baseline: +4.9% ✅ 1-distribution-metric-1-timesTime: ✅ 3.430µs (SLO: <20.000µs 📉 -82.9%) vs baseline: +6.3% Memory: ✅ 31.850MB (SLO: <34.000MB -6.3%) vs baseline: +4.7% ✅ 1-distribution-metrics-100-timesTime: ✅ 218.380µs (SLO: <220.000µs 🟡 -0.7%) vs baseline: +3.0% Memory: ✅ 31.831MB (SLO: <34.000MB -6.4%) vs baseline: +4.4% ✅ 1-gauge-metric-1-timesTime: ✅ 2.264µs (SLO: <20.000µs 📉 -88.7%) vs baseline: +4.1% Memory: ✅ 31.949MB (SLO: <34.000MB -6.0%) vs baseline: +5.2% ✅ 1-gauge-metrics-100-timesTime: ✅ 138.337µs (SLO: <150.000µs -7.8%) vs baseline: +1.9% Memory: ✅ 31.909MB (SLO: <34.000MB -6.1%) vs baseline: +4.8% ✅ 1-rate-metric-1-timesTime: ✅ 3.212µs (SLO: <20.000µs 📉 -83.9%) vs baseline: +4.9% Memory: ✅ 31.890MB (SLO: <34.000MB -6.2%) vs baseline: +4.9% ✅ 1-rate-metrics-100-timesTime: ✅ 223.080µs (SLO: <250.000µs 📉 -10.8%) vs baseline: +5.6% Memory: ✅ 31.831MB (SLO: <34.000MB -6.4%) vs baseline: +4.7% ✅ 100-count-metrics-100-timesTime: ✅ 21.494ms (SLO: <22.000ms -2.3%) vs baseline: +8.2% Memory: ✅ 31.870MB (SLO: <34.000MB -6.3%) vs baseline: +4.8% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.285ms (SLO: <2.300ms 🟡 -0.6%) vs baseline: +2.6% Memory: ✅ 31.831MB (SLO: <34.000MB -6.4%) vs baseline: +4.6% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.444ms (SLO: <1.550ms -6.8%) vs baseline: +3.0% Memory: ✅ 31.831MB (SLO: <34.000MB -6.4%) vs baseline: +4.7% ✅ 100-rate-metrics-100-timesTime: ✅ 2.273ms (SLO: <2.550ms 📉 -10.9%) vs baseline: +4.6% Memory: ✅ 31.968MB (SLO: <34.000MB -6.0%) vs baseline: +5.0% ✅ flush-1-metricTime: ✅ 4.864µs (SLO: <20.000µs 📉 -75.7%) vs baseline: +5.0% Memory: ✅ 31.870MB (SLO: <34.000MB -6.3%) vs baseline: +4.7% ✅ flush-100-metricsTime: ✅ 174.432µs (SLO: <250.000µs 📉 -30.2%) vs baseline: -0.1% Memory: ✅ 31.949MB (SLO: <34.000MB -6.0%) vs baseline: +5.0% ✅ flush-1000-metricsTime: ✅ 2.120ms (SLO: <2.500ms 📉 -15.2%) vs baseline: ~same Memory: ✅ 32.657MB (SLO: <34.500MB -5.3%) vs baseline: +4.9% 🟡 Near SLO Breach (5 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.520ms (SLO: <22.300ms -8.0%) vs baseline: +0.2% Memory: ✅ 66.188MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +5.0% ✅ exception-replay-enabledTime: ✅ 1.343ms (SLO: <1.450ms -7.4%) vs baseline: +0.3% Memory: ✅ 64.398MB (SLO: <67.000MB -3.9%) vs baseline: +5.3% ✅ iastTime: ✅ 20.453ms (SLO: <22.250ms -8.1%) vs baseline: -0.3% Memory: ✅ 66.245MB (SLO: <67.000MB 🟡 -1.1%) vs baseline: +5.1% ✅ profilerTime: ✅ 15.507ms (SLO: <16.550ms -6.3%) vs baseline: -0.8% Memory: ✅ 53.833MB (SLO: <54.500MB 🟡 -1.2%) vs baseline: +5.0% ✅ resource-renamingTime: ✅ 20.532ms (SLO: <21.750ms -5.6%) vs baseline: +0.4% Memory: ✅ 66.237MB (SLO: <67.000MB 🟡 -1.1%) vs baseline: +5.2% ✅ span-code-originTime: ✅ 25.384ms (SLO: <28.200ms -10.0%) vs baseline: +0.1% Memory: ✅ 67.275MB (SLO: <69.500MB -3.2%) vs baseline: +5.2% ✅ tracerTime: ✅ 20.450ms (SLO: <21.750ms -6.0%) vs baseline: -0.3% Memory: ✅ 66.247MB (SLO: <67.000MB 🟡 -1.1%) vs baseline: +5.2% ✅ tracer-and-profilerTime: ✅ 22.629ms (SLO: <23.500ms -3.7%) vs baseline: -0.4% Memory: ✅ 67.712MB (SLO: <68.000MB 🟡 -0.4%) vs baseline: +5.2% ✅ tracer-dont-create-db-spansTime: ✅ 19.308ms (SLO: <21.500ms 📉 -10.2%) vs baseline: +0.2% Memory: ✅ 66.306MB (SLO: <67.000MB 🟡 -1.0%) vs baseline: +5.3% ✅ tracer-minimalTime: ✅ 16.552ms (SLO: <17.500ms -5.4%) vs baseline: -0.4% Memory: ✅ 66.142MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +5.4% ✅ tracer-nativeTime: ✅ 20.435ms (SLO: <21.750ms -6.0%) vs baseline: +0.1% Memory: ✅ 71.623MB (SLO: <72.500MB 🟡 -1.2%) vs baseline: +5.1% ✅ tracer-no-cachesTime: ✅ 18.444ms (SLO: <19.650ms -6.1%) vs baseline: -0.1% Memory: ✅ 66.182MB (SLO: <67.000MB 🟡 -1.2%) vs baseline: +5.1% ✅ tracer-no-databasesTime: ✅ 18.815ms (SLO: <20.100ms -6.4%) vs baseline: +0.4% Memory: ✅ 66.106MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +5.5% ✅ tracer-no-middlewareTime: ✅ 20.146ms (SLO: <21.500ms -6.3%) vs baseline: -0.2% Memory: ✅ 66.313MB (SLO: <67.000MB 🟡 -1.0%) vs baseline: +5.2% ✅ tracer-no-templatesTime: ✅ 20.218ms (SLO: <22.000ms -8.1%) vs baseline: -0.3% Memory: ✅ 66.286MB (SLO: <67.000MB 🟡 -1.1%) vs baseline: +5.2% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.059ms (SLO: <19.850ms -9.0%) vs baseline: ~same Memory: ✅ 66.316MB (SLO: <66.500MB 🟡 -0.3%) vs baseline: +5.5% ✅ errortracking-enabled-userTime: ✅ 18.109ms (SLO: <19.400ms -6.7%) vs baseline: +0.3% Memory: ✅ 66.257MB (SLO: <66.500MB 🟡 -0.4%) vs baseline: +5.5% ✅ tracer-enabledTime: ✅ 18.063ms (SLO: <19.450ms -7.1%) vs baseline: ~same Memory: ✅ 66.139MB (SLO: <66.500MB 🟡 -0.5%) vs baseline: +5.4% 🟡 errortrackingflasksqli - 6/6✅ errortracking-enabled-allTime: ✅ 2.084ms (SLO: <2.300ms -9.4%) vs baseline: +0.6% Memory: ✅ 52.612MB (SLO: <53.500MB 🟡 -1.7%) vs baseline: +5.3% ✅ errortracking-enabled-userTime: ✅ 2.071ms (SLO: <2.250ms -8.0%) vs baseline: ~same Memory: ✅ 52.691MB (SLO: <53.500MB 🟡 -1.5%) vs baseline: +5.4% ✅ tracer-enabledTime: ✅ 2.081ms (SLO: <2.300ms -9.5%) vs baseline: +0.8% Memory: ✅ 52.730MB (SLO: <53.500MB 🟡 -1.4%) vs baseline: +5.5% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.594ms (SLO: <4.750ms -3.3%) vs baseline: -0.2% Memory: ✅ 62.493MB (SLO: <65.000MB -3.9%) vs baseline: +5.3% ✅ appsec-postTime: ✅ 6.625ms (SLO: <6.750ms 🟡 -1.8%) vs baseline: -0.2% Memory: ✅ 62.474MB (SLO: <65.000MB -3.9%) vs baseline: +5.2% ✅ appsec-telemetryTime: ✅ 4.592ms (SLO: <4.750ms -3.3%) vs baseline: -0.2% Memory: ✅ 62.475MB (SLO: <65.000MB -3.9%) vs baseline: +5.1% ✅ debuggerTime: ✅ 1.857ms (SLO: <2.000ms -7.2%) vs baseline: -0.5% Memory: ✅ 45.468MB (SLO: <47.000MB -3.3%) vs baseline: +5.5% ✅ iast-getTime: ✅ 1.856ms (SLO: <2.000ms -7.2%) vs baseline: ~same Memory: ✅ 42.080MB (SLO: <49.000MB 📉 -14.1%) vs baseline: +4.9% ✅ profilerTime: ✅ 1.917ms (SLO: <2.100ms -8.7%) vs baseline: +0.3% Memory: ✅ 46.588MB (SLO: <47.000MB 🟡 -0.9%) vs baseline: +5.0% ✅ resource-renamingTime: ✅ 3.370ms (SLO: <3.650ms -7.7%) vs baseline: +0.1% Memory: ✅ 52.707MB (SLO: <53.500MB 🟡 -1.5%) vs baseline: +5.3% ✅ tracerTime: ✅ 3.354ms (SLO: <3.650ms -8.1%) vs baseline: ~same Memory: ✅ 52.674MB (SLO: <53.500MB 🟡 -1.5%) vs baseline: +5.4% ✅ tracer-nativeTime: ✅ 3.356ms (SLO: <3.650ms -8.1%) vs baseline: +0.2% Memory: ✅ 58.334MB (SLO: <60.000MB -2.8%) vs baseline: +5.3% 🟡 flasksqli - 6/6✅ appsec-enabledTime: ✅ 3.967ms (SLO: <4.200ms -5.5%) vs baseline: -0.4% Memory: ✅ 62.482MB (SLO: <66.000MB -5.3%) vs baseline: +5.3% ✅ iast-enabledTime: ✅ 2.454ms (SLO: <2.800ms 📉 -12.4%) vs baseline: +0.3% Memory: ✅ 59.317MB (SLO: <60.000MB 🟡 -1.1%) vs baseline: +5.2% ✅ tracer-enabledTime: ✅ 2.061ms (SLO: <2.250ms -8.4%) vs baseline: -0.1% Memory: ✅ 52.691MB (SLO: <54.500MB -3.3%) vs baseline: +5.2% 
 | 
    
| 
           Tests fixed, libdatadog commit be5b5b22039141078d5e125824e338751f2d54a3 (branch avara1986/ffe-pyo3-methods)  | 
    
| datadog-ddsketch = { git = "https://github.com/DataDog/libdatadog", rev = "v22.1.0" } | ||
| datadog-library-config = { git = "https://github.com/DataDog/libdatadog", rev = "v22.1.0" } | ||
| datadog-log = { git = "https://github.com/DataDog/libdatadog", rev = "v22.1.0" } | ||
| datadog-ffe = { git = "https://github.com/DataDog/libdatadog", rev = "36fe6be7f9a10f6cb44fc4f72ee33185c2a0cad1", features = ["pyo3"] } | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to update the datadog-ffe module with the next libdatadog version
Description
Integrate WIP datadog-ffe from libdatadog: DataDog/libdatadog#1289
Testing
Tested manually that native bindings work:
More testing will be done as part of FFE feature.
Risks
Additional Notes
Ready for review but will need to wait for DataDog/libdatadog#1289 before merging.