-
Notifications
You must be signed in to change notification settings - Fork 467
chore(tracer): update ai agents intructions and add basic promptfoo tests #15193
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
|
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 236 ± 3 ms. The average import time from base is: 236 ± 1 ms. The import time difference between this PR and base is: -0.2 ± 0.1 ms. The difference is not statistically significant (z = -2.19). Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate avara1986/APMSP-2346 (795a1f7) with baseline main (83a032e) 📈 Performance Regressions (3 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 0.408µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.5% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.6% ✅ add_inplace_aspectTime: ✅ 0.403µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -0.6% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.6% ✅ add_inplace_noaspectTime: ✅ 0.316µs (SLO: <10.000µs 📉 -96.8%) vs baseline: ~same Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ add_noaspectTime: ✅ 0.277µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +0.4% Memory: ✅ 37.100MB (SLO: <39.000MB -4.9%) vs baseline: +4.4% ✅ bytearray_aspectTime: ✅ 1.343µs (SLO: <10.000µs 📉 -86.6%) vs baseline: +1.7% Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: +4.4% ✅ bytearray_extend_aspectTime: ✅ 1.501µs (SLO: <10.000µs 📉 -85.0%) vs baseline: -1.2% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ bytearray_extend_noaspectTime: ✅ 0.612µs (SLO: <10.000µs 📉 -93.9%) vs baseline: -0.3% Memory: ✅ 37.120MB (SLO: <39.000MB -4.8%) vs baseline: +4.4% ✅ bytearray_noaspectTime: ✅ 0.479µs (SLO: <10.000µs 📉 -95.2%) vs baseline: -1.0% Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +4.7% ✅ bytes_aspectTime: ✅ 1.281µs (SLO: <10.000µs 📉 -87.2%) vs baseline: -0.3% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ bytes_noaspectTime: ✅ 0.495µs (SLO: <10.000µs 📉 -95.1%) vs baseline: +0.6% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +5.0% ✅ bytesio_aspectTime: ✅ 1.309µs (SLO: <10.000µs 📉 -86.9%) vs baseline: -0.8% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.9% ✅ bytesio_noaspectTime: ✅ 0.503µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +1.1% Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +4.5% ✅ capitalize_aspectTime: ✅ 0.736µs (SLO: <10.000µs 📉 -92.6%) vs baseline: ~same Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +4.6% ✅ capitalize_noaspectTime: ✅ 0.437µs (SLO: <10.000µs 📉 -95.6%) vs baseline: +0.7% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.6% ✅ casefold_aspectTime: ✅ 0.738µs (SLO: <10.000µs 📉 -92.6%) vs baseline: +0.5% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.5% ✅ casefold_noaspectTime: ✅ 0.369µs (SLO: <10.000µs 📉 -96.3%) vs baseline: ~same Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +4.5% ✅ decode_aspectTime: ✅ 0.723µs (SLO: <10.000µs 📉 -92.8%) vs baseline: ~same Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.0% ✅ decode_noaspectTime: ✅ 0.420µs (SLO: <10.000µs 📉 -95.8%) vs baseline: +1.4% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.6% ✅ encode_aspectTime: ✅ 0.707µs (SLO: <10.000µs 📉 -92.9%) vs baseline: -1.1% Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +4.6% ✅ encode_noaspectTime: ✅ 0.399µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -0.5% Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: +4.6% ✅ format_aspectTime: ✅ 3.359µs (SLO: <10.000µs 📉 -66.4%) vs baseline: +1.0% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ format_map_aspectTime: ✅ 3.600µs (SLO: <10.000µs 📉 -64.0%) vs baseline: +3.3% Memory: ✅ 37.316MB (SLO: <39.000MB -4.3%) vs baseline: +5.2% ✅ format_map_noaspectTime: ✅ 0.777µs (SLO: <10.000µs 📉 -92.2%) vs baseline: +1.3% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ format_noaspectTime: ✅ 0.595µs (SLO: <10.000µs 📉 -94.0%) vs baseline: +0.4% Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +4.6% ✅ index_aspectTime: ✅ 0.360µs (SLO: <10.000µs 📉 -96.4%) vs baseline: +0.1% Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +4.7% ✅ index_noaspectTime: ✅ 0.280µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +0.8% Memory: ✅ 37.120MB (SLO: <39.000MB -4.8%) vs baseline: +4.4% ✅ join_aspectTime: ✅ 1.357µs (SLO: <10.000µs 📉 -86.4%) vs baseline: +0.5% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ join_noaspectTime: ✅ 0.491µs (SLO: <10.000µs 📉 -95.1%) vs baseline: +0.6% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.9% ✅ ljust_aspectTime: ✅ 2.829µs (SLO: <20.000µs 📉 -85.9%) vs baseline: 📈 +11.1% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.6% ✅ ljust_noaspectTime: ✅ 0.404µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -0.4% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ lower_aspectTime: ✅ 2.345µs (SLO: <10.000µs 📉 -76.6%) vs baseline: +6.1% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.8% ✅ lower_noaspectTime: ✅ 0.369µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +0.4% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ lstrip_aspectTime: ✅ 2.264µs (SLO: <20.000µs 📉 -88.7%) vs baseline: +1.1% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.5% ✅ lstrip_noaspectTime: ✅ 0.381µs (SLO: <10.000µs 📉 -96.2%) vs baseline: ~same Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ modulo_aspectTime: ✅ 0.996µs (SLO: <10.000µs 📉 -90.0%) vs baseline: -4.3% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 1.558µs (SLO: <10.000µs 📉 -84.4%) vs baseline: +1.2% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ modulo_aspect_for_bytesTime: ✅ 0.978µs (SLO: <10.000µs 📉 -90.2%) vs baseline: -0.1% Memory: ✅ 37.080MB (SLO: <39.000MB -4.9%) vs baseline: +4.2% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 1.207µs (SLO: <10.000µs 📉 -87.9%) vs baseline: -3.1% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ modulo_noaspectTime: ✅ 0.629µs (SLO: <10.000µs 📉 -93.7%) vs baseline: +1.1% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ replace_aspectTime: ✅ 5.475µs (SLO: <10.000µs 📉 -45.2%) vs baseline: 📈 +13.2% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ replace_noaspectTime: ✅ 0.457µs (SLO: <10.000µs 📉 -95.4%) vs baseline: -1.6% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ repr_aspectTime: ✅ 0.908µs (SLO: <10.000µs 📉 -90.9%) vs baseline: -0.3% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.8% ✅ repr_noaspectTime: ✅ 0.424µs (SLO: <10.000µs 📉 -95.8%) vs baseline: +1.7% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.5% ✅ rstrip_aspectTime: ✅ 1.919µs (SLO: <20.000µs 📉 -90.4%) vs baseline: +2.5% Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +4.4% ✅ rstrip_noaspectTime: ✅ 0.380µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.6% Memory: ✅ 37.120MB (SLO: <39.000MB -4.8%) vs baseline: +4.5% ✅ slice_aspectTime: ✅ 0.492µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.5% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ slice_noaspectTime: ✅ 0.445µs (SLO: <10.000µs 📉 -95.6%) vs baseline: -1.0% Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: +4.5% ✅ stringio_aspectTime: ✅ 1.730µs (SLO: <10.000µs 📉 -82.7%) vs baseline: 📈 +12.2% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ stringio_noaspectTime: ✅ 0.710µs (SLO: <10.000µs 📉 -92.9%) vs baseline: -1.2% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.6% ✅ strip_aspectTime: ✅ 2.237µs (SLO: <20.000µs 📉 -88.8%) vs baseline: -0.2% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.8% ✅ strip_noaspectTime: ✅ 0.385µs (SLO: <10.000µs 📉 -96.1%) vs baseline: ~same Memory: ✅ 37.100MB (SLO: <39.000MB -4.9%) vs baseline: +4.3% ✅ swapcase_aspectTime: ✅ 2.416µs (SLO: <10.000µs 📉 -75.8%) vs baseline: +0.9% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ swapcase_noaspectTime: ✅ 0.531µs (SLO: <10.000µs 📉 -94.7%) vs baseline: -1.1% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ title_aspectTime: ✅ 2.340µs (SLO: <10.000µs 📉 -76.6%) vs baseline: -0.4% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ title_noaspectTime: ✅ 0.502µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +0.2% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.6% ✅ translate_aspectTime: ✅ 3.416µs (SLO: <10.000µs 📉 -65.8%) vs baseline: +6.0% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ translate_noaspectTime: ✅ 1.038µs (SLO: <10.000µs 📉 -89.6%) vs baseline: ~same Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +4.7% ✅ upper_aspectTime: ✅ 2.280µs (SLO: <10.000µs 📉 -77.2%) vs baseline: +3.9% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ upper_noaspectTime: ✅ 0.369µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +0.2% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.6% 📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 5.119µs (SLO: <10.000µs 📉 -48.8%) vs baseline: 📈 +19.7% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.8% ✅ ospathbasename_noaspectTime: ✅ 1.088µs (SLO: <10.000µs 📉 -89.1%) vs baseline: +0.4% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.8% ✅ ospathjoin_aspectTime: ✅ 6.894µs (SLO: <10.000µs 📉 -31.1%) vs baseline: 📈 +11.7% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ ospathjoin_noaspectTime: ✅ 2.305µs (SLO: <10.000µs 📉 -76.9%) vs baseline: ~same Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ ospathnormcase_aspectTime: ✅ 3.675µs (SLO: <10.000µs 📉 -63.2%) vs baseline: +4.0% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ ospathnormcase_noaspectTime: ✅ 0.579µs (SLO: <10.000µs 📉 -94.2%) vs baseline: +2.5% Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: +4.5% ✅ ospathsplit_aspectTime: ✅ 5.806µs (SLO: <10.000µs 📉 -41.9%) vs baseline: 📈 +20.2% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ ospathsplit_noaspectTime: ✅ 1.606µs (SLO: <10.000µs 📉 -83.9%) vs baseline: -0.2% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +4.7% ✅ ospathsplitdrive_aspectTime: ✅ 4.084µs (SLO: <10.000µs 📉 -59.2%) vs baseline: 📈 +11.0% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ ospathsplitdrive_noaspectTime: ✅ 0.700µs (SLO: <10.000µs 📉 -93.0%) vs baseline: -0.2% Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +4.7% ✅ ospathsplitext_aspectTime: ✅ 4.553µs (SLO: <10.000µs 📉 -54.5%) vs baseline: +0.3% Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: +4.5% ✅ ospathsplitext_noaspectTime: ✅ 1.376µs (SLO: <10.000µs 📉 -86.2%) vs baseline: -0.1% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +4.8% 📈 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 3.349µs (SLO: <20.000µs 📉 -83.3%) vs baseline: 📈 +14.1% Memory: ✅ 31.949MB (SLO: <34.000MB -6.0%) vs baseline: +4.7% ✅ 1-count-metrics-100-timesTime: ✅ 203.971µs (SLO: <220.000µs -7.3%) vs baseline: +3.3% Memory: ✅ 31.870MB (SLO: <34.000MB -6.3%) vs baseline: +4.8% ✅ 1-distribution-metric-1-timesTime: ✅ 3.313µs (SLO: <20.000µs 📉 -83.4%) vs baseline: +1.7% Memory: ✅ 31.870MB (SLO: <34.000MB -6.3%) vs baseline: +4.5% ✅ 1-distribution-metrics-100-timesTime: ✅ 211.154µs (SLO: <220.000µs -4.0%) vs baseline: -0.7% Memory: ✅ 31.870MB (SLO: <34.000MB -6.3%) vs baseline: +4.5% ✅ 1-gauge-metric-1-timesTime: ✅ 2.210µs (SLO: <20.000µs 📉 -89.0%) vs baseline: +0.8% Memory: ✅ 31.870MB (SLO: <34.000MB -6.3%) vs baseline: +4.4% ✅ 1-gauge-metrics-100-timesTime: ✅ 136.579µs (SLO: <150.000µs -8.9%) vs baseline: +0.3% Memory: ✅ 31.909MB (SLO: <34.000MB -6.1%) vs baseline: +4.5% ✅ 1-rate-metric-1-timesTime: ✅ 3.135µs (SLO: <20.000µs 📉 -84.3%) vs baseline: +2.7% Memory: ✅ 31.909MB (SLO: <34.000MB -6.1%) vs baseline: +5.0% ✅ 1-rate-metrics-100-timesTime: ✅ 215.155µs (SLO: <250.000µs 📉 -13.9%) vs baseline: +1.1% Memory: ✅ 31.929MB (SLO: <34.000MB -6.1%) vs baseline: +4.7% ✅ 100-count-metrics-100-timesTime: ✅ 20.830ms (SLO: <22.000ms -5.3%) vs baseline: +4.6% Memory: ✅ 31.870MB (SLO: <34.000MB -6.3%) vs baseline: +4.6% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.222ms (SLO: <2.300ms -3.4%) vs baseline: -0.6% Memory: ✅ 31.890MB (SLO: <34.000MB -6.2%) vs baseline: +4.9% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.404ms (SLO: <1.550ms -9.4%) vs baseline: +0.5% Memory: ✅ 31.949MB (SLO: <34.000MB -6.0%) vs baseline: +4.8% ✅ 100-rate-metrics-100-timesTime: ✅ 2.227ms (SLO: <2.550ms 📉 -12.7%) vs baseline: +2.4% Memory: ✅ 31.850MB (SLO: <34.000MB -6.3%) vs baseline: +4.2% ✅ flush-1-metricTime: ✅ 4.541µs (SLO: <20.000µs 📉 -77.3%) vs baseline: +1.3% Memory: ✅ 31.890MB (SLO: <34.000MB -6.2%) vs baseline: +4.7% ✅ flush-100-metricsTime: ✅ 177.604µs (SLO: <250.000µs 📉 -29.0%) vs baseline: +0.7% Memory: ✅ 31.890MB (SLO: <34.000MB -6.2%) vs baseline: +4.5% ✅ flush-1000-metricsTime: ✅ 2.154ms (SLO: <2.500ms 📉 -13.8%) vs baseline: +1.2% Memory: ✅ 32.676MB (SLO: <34.500MB -5.3%) vs baseline: +4.7% 🟡 Near SLO Breach (4 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.540ms (SLO: <22.300ms -7.9%) vs baseline: +0.3% Memory: ✅ 66.079MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +5.1% ✅ exception-replay-enabledTime: ✅ 1.338ms (SLO: <1.450ms -7.7%) vs baseline: -0.4% Memory: ✅ 64.157MB (SLO: <67.000MB -4.2%) vs baseline: +4.7% ✅ iastTime: ✅ 20.495ms (SLO: <22.250ms -7.9%) vs baseline: +0.1% Memory: ✅ 66.106MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +4.8% ✅ profilerTime: ✅ 15.581ms (SLO: <16.550ms -5.9%) vs baseline: +0.5% Memory: ✅ 54.033MB (SLO: <54.500MB 🟡 -0.9%) vs baseline: +4.8% ✅ resource-renamingTime: ✅ 20.590ms (SLO: <21.750ms -5.3%) vs baseline: +0.2% Memory: ✅ 66.121MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +4.9% ✅ span-code-originTime: ✅ 25.399ms (SLO: <28.200ms -9.9%) vs baseline: ~same Memory: ✅ 67.599MB (SLO: <69.500MB -2.7%) vs baseline: +5.0% ✅ tracerTime: ✅ 20.465ms (SLO: <21.750ms -5.9%) vs baseline: -0.2% Memory: ✅ 66.058MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +4.8% ✅ tracer-and-profilerTime: ✅ 22.671ms (SLO: <23.500ms -3.5%) vs baseline: ~same Memory: ✅ 67.938MB (SLO: <68.000MB 🟡 ~same) vs baseline: +5.2% ✅ tracer-dont-create-db-spansTime: ✅ 19.347ms (SLO: <21.500ms 📉 -10.0%) vs baseline: +0.1% Memory: ✅ 66.112MB (SLO: <67.000MB 🟡 -1.3%) vs baseline: +5.0% ✅ tracer-minimalTime: ✅ 16.605ms (SLO: <17.500ms -5.1%) vs baseline: -0.4% Memory: ✅ 66.015MB (SLO: <67.000MB 🟡 -1.5%) vs baseline: +4.7% ✅ tracer-nativeTime: ✅ 20.431ms (SLO: <21.750ms -6.1%) vs baseline: +0.1% Memory: ✅ 67.908MB (SLO: <72.500MB -6.3%) vs baseline: +5.1% ✅ tracer-no-cachesTime: ✅ 18.477ms (SLO: <19.650ms -6.0%) vs baseline: ~same Memory: ✅ 65.982MB (SLO: <67.000MB 🟡 -1.5%) vs baseline: +4.8% ✅ tracer-no-databasesTime: ✅ 18.815ms (SLO: <20.100ms -6.4%) vs baseline: +0.5% Memory: ✅ 65.784MB (SLO: <67.000MB 🟡 -1.8%) vs baseline: +4.5% ✅ tracer-no-middlewareTime: ✅ 20.187ms (SLO: <21.500ms -6.1%) vs baseline: +0.4% Memory: ✅ 66.076MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +4.9% ✅ tracer-no-templatesTime: ✅ 20.279ms (SLO: <22.000ms -7.8%) vs baseline: +0.1% Memory: ✅ 66.079MB (SLO: <67.000MB 🟡 -1.4%) vs baseline: +4.9% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.002ms (SLO: <19.850ms -9.3%) vs baseline: +0.3% Memory: ✅ 66.129MB (SLO: <66.500MB 🟡 -0.6%) vs baseline: +5.1% ✅ errortracking-enabled-userTime: ✅ 18.096ms (SLO: <19.400ms -6.7%) vs baseline: +0.2% Memory: ✅ 66.134MB (SLO: <66.500MB 🟡 -0.6%) vs baseline: +5.1% ✅ tracer-enabledTime: ✅ 18.071ms (SLO: <19.450ms -7.1%) vs baseline: -0.3% Memory: ✅ 65.847MB (SLO: <66.500MB 🟡 -1.0%) vs baseline: +4.6% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.596ms (SLO: <4.750ms -3.3%) vs baseline: -0.2% Memory: ✅ 62.340MB (SLO: <65.000MB -4.1%) vs baseline: +4.9% ✅ appsec-postTime: ✅ 6.615ms (SLO: <6.750ms 🟡 -2.0%) vs baseline: -0.3% Memory: ✅ 62.375MB (SLO: <65.000MB -4.0%) vs baseline: +4.9% ✅ appsec-telemetryTime: ✅ 4.581ms (SLO: <4.750ms -3.6%) vs baseline: -0.4% Memory: ✅ 62.344MB (SLO: <65.000MB -4.1%) vs baseline: +4.9% ✅ debuggerTime: ✅ 1.857ms (SLO: <2.000ms -7.1%) vs baseline: -0.2% Memory: ✅ 45.207MB (SLO: <47.000MB -3.8%) vs baseline: +4.4% ✅ iast-getTime: ✅ 1.858ms (SLO: <2.000ms -7.1%) vs baseline: -0.1% Memory: ✅ 42.081MB (SLO: <49.000MB 📉 -14.1%) vs baseline: +4.4% ✅ profilerTime: ✅ 1.915ms (SLO: <2.100ms -8.8%) vs baseline: -0.1% Memory: ✅ 46.653MB (SLO: <47.000MB 🟡 -0.7%) vs baseline: +4.7% ✅ resource-renamingTime: ✅ 3.362ms (SLO: <3.650ms -7.9%) vs baseline: -0.3% Memory: ✅ 52.576MB (SLO: <53.500MB 🟡 -1.7%) vs baseline: +4.8% ✅ tracerTime: ✅ 3.355ms (SLO: <3.650ms -8.1%) vs baseline: -0.1% Memory: ✅ 52.567MB (SLO: <53.500MB 🟡 -1.7%) vs baseline: +4.7% ✅ tracer-nativeTime: ✅ 3.351ms (SLO: <3.650ms -8.2%) vs baseline: -0.2% Memory: ✅ 54.338MB (SLO: <60.000MB -9.4%) vs baseline: +5.3% 🟡 recursivecomputation - 8/8✅ deepTime: ✅ 307.953ms (SLO: <320.950ms -4.0%) vs baseline: -0.4% Memory: ✅ 32.676MB (SLO: <34.500MB -5.3%) vs baseline: +4.7% ✅ deep-profiledTime: ✅ 328.096ms (SLO: <359.150ms -8.6%) vs baseline: ~same Memory: ✅ 38.755MB (SLO: <39.000MB 🟡 -0.6%) vs baseline: +6.7% ✅ mediumTime: ✅ 6.994ms (SLO: <7.400ms -5.5%) vs baseline: -0.1% Memory: ✅ 31.909MB (SLO: <34.000MB -6.1%) vs baseline: +4.8% ✅ shallowTime: ✅ 0.942ms (SLO: <1.050ms 📉 -10.3%) vs baseline: +0.2% Memory: ✅ 31.850MB (SLO: <34.000MB -6.3%) vs baseline: +4.4%
|
brettlangdon
left a comment
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.
any way you can break this up into smaller PRs, there is a lot of AI generated content here to review, would be easier to approach as one-off improvements.
There is also stuff like the bootstrap skill which is probably showing areas where we need to improve our onboarding/dev experience. ideally no one really needs any of those steps ever.... I think I mostly have test running where you only need docker installed in order to find/run a test suite (from riot).
This would mean things like pyenv/installing all Python versions, installing deps needed to build/install native packages locally, etc are all expert level optimizations.
I am also trying to make re-building the native extensions much faster in the docker container as well, so hopefully the advanced usage of calling build_ext directly is no longer needed.
| - `opentelemetry-api>=1,<2` | ||
| - `wrapt>=1,<3` | ||
|
|
||
| ### Install Development Dependencies |
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.
this seems wrong, no one should have to install these dependencies manually
| - **Tracer**: Object that creates and manages spans (main entry point for manual instrumentation) | ||
| - **Profiler**: Component collecting CPU/memory usage data at code level | ||
| - **ddtrace-run**: CLI utility for automatic instrumentation via monkey-patching | ||
| - **Tag**: Key-value metadata added to spans for filtering/grouping/analysis |
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.
nit: our public doc calls these "span attributes" now so it may be good to clarify with a similar definition: https://docs.datadoghq.com/tracing/trace_explorer/span_tags_attributes/#span-attributes
| docker-compose up -d | ||
|
|
||
| # Verify services are running | ||
| docker-compose ps | ||
|
|
||
| # View service logs | ||
| docker-compose logs testagent | ||
| docker-compose logs redis | ||
|
|
||
| # Stop services when done | ||
| docker-compose down |
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.
Note if this repo uses compose v2, the new command is docker compose, not docker-compose: https://docs.docker.com/compose/releases/migrate/#what-are-the-differences-between-compose-v1-and-compose-v2
Update AI Agent Instructions and Add Promptfoo Tests
Summary
This PR enhances the AI agent development experience by providing comprehensive documentation, structured skills/workflows, and automated validation tests for the dd-trace-py project setup.
Changes Overview
📚 Enhanced AI Agent Documentation
.claude/CLAUDE.md- Comprehensive project guide for Claude CodeAGENTS.md- Initial setup instructions for AI assistants🛠️ New Skills System
.claude/skills/bootstrap/SKILL.md- Environment setup skill.claude/skills/run-tests/SKILL.md- Test execution skill (updated)📖 IAST/AppSec Development Guide
.cursor/rules/iast.mdc- Complete IAST implementation guide🧪 Promptfoo Test Suite
Promptfoo is an open-source testing and evaluation framework for LLM (Large Language Model) applications that helps developers validate prompts, models, and AI outputs through automated assertions and comparisons.
It allows you to write test suites (like unit tests but for AI) to ensure your prompts produce consistent, accurate results across different models, versions, and scenarios - essential for production AI applications.
.promptfoo/tests_install_project.yaml- Automated validation tests.promptfoo/README.md- Complete promptfoo documentation.promptfoo/local_cursor_provider.py- Custom provider for Cursor integration.promptfoo/__init__.py- Python package initialization🔧 Configuration Updates
.cursor/rules/promptfoo-llm.mdc- Promptfoo integration rules (new file)Testing
Run Promptfoo Tests