-
Notifications
You must be signed in to change notification settings - Fork 469
feat(pydantic_ai): support stream_output in pydantic_ai>=1.0.0
#15535
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
|
|
| if exc_type: | ||
| self._dd_span.set_exc_info(exc_type, exc_val, exc_tb) | ||
| elif self._dd_integration.is_pc_sampled_llmobs(self._dd_span): | ||
| else: |
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.
just a drive-by change, i don't think we really rely on is_pc_sampled_llmobs anymore, but can add it back if i'm wrong!
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 246 ± 2 ms. The average import time from base is: 248 ± 2 ms. The import time difference between this PR and base is: -2.6 ± 0.1 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate sabrenner/more-pydantic-support (ce2198a) with baseline main (ca3c521) 📈 Performance Regressions (3 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 0.403µs (SLO: <10.000µs 📉 -96.0%) vs baseline: +1.0% Memory: ✅ 40.246MB (SLO: <41.500MB -3.0%) vs baseline: +4.8% ✅ add_inplace_aspectTime: ✅ 0.408µs (SLO: <10.000µs 📉 -95.9%) vs baseline: -1.1% Memory: ✅ 40.246MB (SLO: <41.500MB -3.0%) vs baseline: +4.1% ✅ add_inplace_noaspectTime: ✅ 0.317µs (SLO: <10.000µs 📉 -96.8%) vs baseline: -0.8% Memory: ✅ 40.029MB (SLO: <41.500MB -3.5%) vs baseline: +4.4% ✅ add_noaspectTime: ✅ 0.279µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +1.2% Memory: ✅ 40.187MB (SLO: <41.500MB -3.2%) vs baseline: +4.8% ✅ bytearray_aspectTime: ✅ 1.355µs (SLO: <10.000µs 📉 -86.5%) vs baseline: +0.9% Memory: ✅ 40.167MB (SLO: <41.500MB -3.2%) vs baseline: +5.1% ✅ bytearray_extend_aspectTime: ✅ 1.508µs (SLO: <10.000µs 📉 -84.9%) vs baseline: ~same Memory: ✅ 40.187MB (SLO: <41.500MB -3.2%) vs baseline: +4.6% ✅ bytearray_extend_noaspectTime: ✅ 0.614µs (SLO: <10.000µs 📉 -93.9%) vs baseline: +0.6% Memory: ✅ 40.246MB (SLO: <41.500MB -3.0%) vs baseline: +4.5% ✅ bytearray_noaspectTime: ✅ 0.480µs (SLO: <10.000µs 📉 -95.2%) vs baseline: -1.4% Memory: ✅ 40.364MB (SLO: <41.500MB -2.7%) vs baseline: +5.3% ✅ bytes_aspectTime: ✅ 1.296µs (SLO: <10.000µs 📉 -87.0%) vs baseline: +0.9% Memory: ✅ 40.246MB (SLO: <41.500MB -3.0%) vs baseline: +4.8% ✅ bytes_noaspectTime: ✅ 0.490µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -1.0% Memory: ✅ 40.226MB (SLO: <41.500MB -3.1%) vs baseline: +4.8% ✅ bytesio_aspectTime: ✅ 1.347µs (SLO: <10.000µs 📉 -86.5%) vs baseline: +2.2% Memory: ✅ 40.187MB (SLO: <41.500MB -3.2%) vs baseline: +4.8% ✅ bytesio_noaspectTime: ✅ 0.498µs (SLO: <10.000µs 📉 -95.0%) vs baseline: -0.6% Memory: ✅ 40.364MB (SLO: <41.500MB -2.7%) vs baseline: +5.1% ✅ capitalize_aspectTime: ✅ 0.739µs (SLO: <10.000µs 📉 -92.6%) vs baseline: -0.5% Memory: ✅ 40.265MB (SLO: <41.500MB -3.0%) vs baseline: +4.7% ✅ capitalize_noaspectTime: ✅ 0.436µs (SLO: <10.000µs 📉 -95.6%) vs baseline: +0.5% Memory: ✅ 40.128MB (SLO: <41.500MB -3.3%) vs baseline: +4.4% ✅ casefold_aspectTime: ✅ 0.738µs (SLO: <10.000µs 📉 -92.6%) vs baseline: -0.5% Memory: ✅ 40.285MB (SLO: <41.500MB -2.9%) vs baseline: +4.9% ✅ casefold_noaspectTime: ✅ 0.369µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -1.5% Memory: ✅ 40.285MB (SLO: <41.500MB -2.9%) vs baseline: +4.7% ✅ decode_aspectTime: ✅ 0.727µs (SLO: <10.000µs 📉 -92.7%) vs baseline: +0.2% Memory: ✅ 40.147MB (SLO: <41.500MB -3.3%) vs baseline: +4.8% ✅ decode_noaspectTime: ✅ 0.420µs (SLO: <10.000µs 📉 -95.8%) vs baseline: -0.4% Memory: ✅ 40.383MB (SLO: <41.500MB -2.7%) vs baseline: +5.4% ✅ encode_aspectTime: ✅ 0.717µs (SLO: <10.000µs 📉 -92.8%) vs baseline: +1.3% Memory: ✅ 40.305MB (SLO: <41.500MB -2.9%) vs baseline: +5.0% ✅ encode_noaspectTime: ✅ 0.401µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -0.3% Memory: ✅ 40.265MB (SLO: <41.500MB -3.0%) vs baseline: +5.1% ✅ format_aspectTime: ✅ 3.434µs (SLO: <10.000µs 📉 -65.7%) vs baseline: ~same Memory: ✅ 40.344MB (SLO: <41.500MB -2.8%) vs baseline: +4.1% ✅ format_map_aspectTime: ✅ 3.557µs (SLO: <10.000µs 📉 -64.4%) vs baseline: +0.2% Memory: ✅ 40.206MB (SLO: <41.500MB -3.1%) vs baseline: +5.0% ✅ format_map_noaspectTime: ✅ 0.775µs (SLO: <10.000µs 📉 -92.2%) vs baseline: +0.4% Memory: ✅ 40.128MB (SLO: <41.500MB -3.3%) vs baseline: +4.8% ✅ format_noaspectTime: ✅ 0.598µs (SLO: <10.000µs 📉 -94.0%) vs baseline: -0.1% Memory: ✅ 40.246MB (SLO: <41.500MB -3.0%) vs baseline: +4.9% ✅ index_aspectTime: ✅ 0.359µs (SLO: <10.000µs 📉 -96.4%) vs baseline: +0.9% Memory: ✅ 40.147MB (SLO: <41.500MB -3.3%) vs baseline: +4.6% ✅ index_noaspectTime: ✅ 0.279µs (SLO: <10.000µs 📉 -97.2%) vs baseline: -0.9% Memory: ✅ 40.344MB (SLO: <41.500MB -2.8%) vs baseline: +5.5% ✅ join_aspectTime: ✅ 1.344µs (SLO: <10.000µs 📉 -86.6%) vs baseline: +0.9% Memory: ✅ 40.187MB (SLO: <41.500MB -3.2%) vs baseline: +4.3% ✅ join_noaspectTime: ✅ 0.491µs (SLO: <10.000µs 📉 -95.1%) vs baseline: +0.1% Memory: ✅ 40.344MB (SLO: <41.500MB -2.8%) vs baseline: +4.8% ✅ ljust_aspectTime: ✅ 2.616µs (SLO: <20.000µs 📉 -86.9%) vs baseline: +2.9% Memory: ✅ 40.305MB (SLO: <41.500MB -2.9%) vs baseline: +5.1% ✅ ljust_noaspectTime: ✅ 0.406µs (SLO: <10.000µs 📉 -95.9%) vs baseline: -1.1% Memory: ✅ 40.206MB (SLO: <41.500MB -3.1%) vs baseline: +4.8% ✅ lower_aspectTime: ✅ 2.315µs (SLO: <10.000µs 📉 -76.9%) vs baseline: +2.8% Memory: ✅ 40.246MB (SLO: <41.500MB -3.0%) vs baseline: +5.2% ✅ lower_noaspectTime: ✅ 0.367µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +0.3% Memory: ✅ 40.147MB (SLO: <41.500MB -3.3%) vs baseline: +4.7% ✅ lstrip_aspectTime: ✅ 2.250µs (SLO: <20.000µs 📉 -88.7%) vs baseline: +0.3% Memory: ✅ 40.088MB (SLO: <41.500MB -3.4%) vs baseline: +3.6% ✅ lstrip_noaspectTime: ✅ 0.381µs (SLO: <10.000µs 📉 -96.2%) vs baseline: ~same Memory: ✅ 40.265MB (SLO: <41.500MB -3.0%) vs baseline: +4.8% ✅ modulo_aspectTime: ✅ 1.051µs (SLO: <10.000µs 📉 -89.5%) vs baseline: +6.1% Memory: ✅ 40.187MB (SLO: <41.500MB -3.2%) vs baseline: +5.0% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 1.548µs (SLO: <10.000µs 📉 -84.5%) vs baseline: -0.8% Memory: ✅ 40.285MB (SLO: <41.500MB -2.9%) vs baseline: +5.1% ✅ modulo_aspect_for_bytesTime: ✅ 0.973µs (SLO: <10.000µs 📉 -90.3%) vs baseline: -0.6% Memory: ✅ 40.187MB (SLO: <41.500MB -3.2%) vs baseline: +4.4% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 1.246µs (SLO: <10.000µs 📉 -87.5%) vs baseline: +2.2% Memory: ✅ 40.128MB (SLO: <41.500MB -3.3%) vs baseline: +4.6% ✅ modulo_noaspectTime: ✅ 0.630µs (SLO: <10.000µs 📉 -93.7%) vs baseline: ~same Memory: ✅ 40.147MB (SLO: <41.500MB -3.3%) vs baseline: +4.3% ✅ replace_aspectTime: ✅ 4.859µs (SLO: <10.000µs 📉 -51.4%) vs baseline: -1.7% Memory: ✅ 40.423MB (SLO: <41.500MB -2.6%) vs baseline: +5.2% ✅ replace_noaspectTime: ✅ 0.460µs (SLO: <10.000µs 📉 -95.4%) vs baseline: -0.5% Memory: ✅ 40.187MB (SLO: <41.500MB -3.2%) vs baseline: +4.8% ✅ repr_aspectTime: ✅ 0.910µs (SLO: <10.000µs 📉 -90.9%) vs baseline: -0.2% Memory: ✅ 40.246MB (SLO: <41.500MB -3.0%) vs baseline: +4.7% ✅ repr_noaspectTime: ✅ 0.416µs (SLO: <10.000µs 📉 -95.8%) vs baseline: -0.5% Memory: ✅ 40.128MB (SLO: <41.500MB -3.3%) vs baseline: +4.5% ✅ rstrip_aspectTime: ✅ 1.951µs (SLO: <20.000µs 📉 -90.2%) vs baseline: +0.7% Memory: ✅ 40.403MB (SLO: <41.500MB -2.6%) vs baseline: +4.5% ✅ rstrip_noaspectTime: ✅ 0.379µs (SLO: <10.000µs 📉 -96.2%) vs baseline: +0.6% Memory: ✅ 40.324MB (SLO: <41.500MB -2.8%) vs baseline: +5.1% ✅ slice_aspectTime: ✅ 0.489µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -1.9% Memory: ✅ 40.206MB (SLO: <41.500MB -3.1%) vs baseline: +4.4% ✅ slice_noaspectTime: ✅ 0.452µs (SLO: <10.000µs 📉 -95.5%) vs baseline: +1.2% Memory: ✅ 40.285MB (SLO: <41.500MB -2.9%) vs baseline: +4.7% ✅ stringio_aspectTime: ✅ 1.542µs (SLO: <10.000µs 📉 -84.6%) vs baseline: +0.3% Memory: ✅ 40.206MB (SLO: <41.500MB -3.1%) vs baseline: +4.7% ✅ stringio_noaspectTime: ✅ 0.717µs (SLO: <10.000µs 📉 -92.8%) vs baseline: -0.5% Memory: ✅ 40.265MB (SLO: <41.500MB -3.0%) vs baseline: +4.7% ✅ strip_aspectTime: ✅ 2.224µs (SLO: <20.000µs 📉 -88.9%) vs baseline: +0.1% Memory: ✅ 40.246MB (SLO: <41.500MB -3.0%) vs baseline: +4.8% ✅ strip_noaspectTime: ✅ 0.385µs (SLO: <10.000µs 📉 -96.1%) vs baseline: +0.2% Memory: ✅ 40.187MB (SLO: <41.500MB -3.2%) vs baseline: +4.8% ✅ swapcase_aspectTime: ✅ 2.804µs (SLO: <10.000µs 📉 -72.0%) vs baseline: 📈 +14.4% Memory: ✅ 40.285MB (SLO: <41.500MB -2.9%) vs baseline: +4.6% ✅ swapcase_noaspectTime: ✅ 0.536µs (SLO: <10.000µs 📉 -94.6%) vs baseline: -0.1% Memory: ✅ 40.167MB (SLO: <41.500MB -3.2%) vs baseline: +4.6% ✅ title_aspectTime: ✅ 2.445µs (SLO: <10.000µs 📉 -75.5%) vs baseline: +1.9% Memory: ✅ 40.108MB (SLO: <41.500MB -3.4%) vs baseline: +4.5% ✅ title_noaspectTime: ✅ 0.500µs (SLO: <10.000µs 📉 -95.0%) vs baseline: -0.3% Memory: ✅ 40.246MB (SLO: <41.500MB -3.0%) vs baseline: +5.2% ✅ translate_aspectTime: ✅ 3.328µs (SLO: <10.000µs 📉 -66.7%) vs baseline: +0.6% Memory: ✅ 40.305MB (SLO: <41.500MB -2.9%) vs baseline: +5.0% ✅ translate_noaspectTime: ✅ 1.042µs (SLO: <10.000µs 📉 -89.6%) vs baseline: +0.5% Memory: ✅ 40.147MB (SLO: <41.500MB -3.3%) vs baseline: +4.6% ✅ upper_aspectTime: ✅ 2.306µs (SLO: <10.000µs 📉 -76.9%) vs baseline: +3.1% Memory: ✅ 40.305MB (SLO: <41.500MB -2.9%) vs baseline: +5.1% ✅ upper_noaspectTime: ✅ 0.368µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -1.8% Memory: ✅ 40.285MB (SLO: <41.500MB -2.9%) vs baseline: +4.9% 📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 5.212µs (SLO: <10.000µs 📉 -47.9%) vs baseline: 📈 +26.5% Memory: ✅ 40.305MB (SLO: <41.000MB 🟡 -1.7%) vs baseline: +5.0% ✅ ospathbasename_noaspectTime: ✅ 1.088µs (SLO: <10.000µs 📉 -89.1%) vs baseline: +0.9% Memory: ✅ 40.187MB (SLO: <41.000MB 🟡 -2.0%) vs baseline: +4.8% ✅ ospathjoin_aspectTime: ✅ 6.109µs (SLO: <10.000µs 📉 -38.9%) vs baseline: -0.7% Memory: ✅ 40.246MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +4.9% ✅ ospathjoin_noaspectTime: ✅ 2.294µs (SLO: <10.000µs 📉 -77.1%) vs baseline: +0.3% Memory: ✅ 40.147MB (SLO: <41.000MB -2.1%) vs baseline: +4.6% ✅ ospathnormcase_aspectTime: ✅ 3.424µs (SLO: <10.000µs 📉 -65.8%) vs baseline: -0.6% Memory: ✅ 40.069MB (SLO: <41.000MB -2.3%) vs baseline: +4.0% ✅ ospathnormcase_noaspectTime: ✅ 0.580µs (SLO: <10.000µs 📉 -94.2%) vs baseline: ~same Memory: ✅ 40.147MB (SLO: <41.000MB -2.1%) vs baseline: +4.6% ✅ ospathsplit_aspectTime: ✅ 4.755µs (SLO: <10.000µs 📉 -52.5%) vs baseline: +0.1% Memory: ✅ 40.246MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +4.9% ✅ ospathsplit_noaspectTime: ✅ 1.596µs (SLO: <10.000µs 📉 -84.0%) vs baseline: +0.6% Memory: ✅ 40.167MB (SLO: <41.000MB -2.0%) vs baseline: +4.9% ✅ ospathsplitdrive_aspectTime: ✅ 3.654µs (SLO: <10.000µs 📉 -63.5%) vs baseline: ~same Memory: ✅ 40.128MB (SLO: <41.000MB -2.1%) vs baseline: +4.3% ✅ ospathsplitdrive_noaspectTime: ✅ 0.695µs (SLO: <10.000µs 📉 -93.0%) vs baseline: -1.8% Memory: ✅ 40.226MB (SLO: <41.000MB 🟡 -1.9%) vs baseline: +4.6% ✅ ospathsplitext_aspectTime: ✅ 4.514µs (SLO: <10.000µs 📉 -54.9%) vs baseline: +1.0% Memory: ✅ 40.265MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +4.9% ✅ ospathsplitext_noaspectTime: ✅ 1.372µs (SLO: <10.000µs 📉 -86.3%) vs baseline: -1.6% Memory: ✅ 40.246MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +4.6% 📈 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 3.355µs (SLO: <20.000µs 📉 -83.2%) vs baseline: 📈 +15.3% Memory: ✅ 35.075MB (SLO: <35.500MB 🟡 -1.2%) vs baseline: +4.8% ✅ 1-count-metrics-100-timesTime: ✅ 200.547µs (SLO: <220.000µs -8.8%) vs baseline: -0.2% Memory: ✅ 35.055MB (SLO: <35.500MB 🟡 -1.3%) vs baseline: +4.9% ✅ 1-distribution-metric-1-timesTime: ✅ 3.276µs (SLO: <20.000µs 📉 -83.6%) vs baseline: ~same Memory: ✅ 35.055MB (SLO: <35.500MB 🟡 -1.3%) vs baseline: +4.7% ✅ 1-distribution-metrics-100-timesTime: ✅ 215.462µs (SLO: <230.000µs -6.3%) vs baseline: -1.2% Memory: ✅ 35.095MB (SLO: <35.500MB 🟡 -1.1%) vs baseline: +4.9% ✅ 1-gauge-metric-1-timesTime: ✅ 2.164µs (SLO: <20.000µs 📉 -89.2%) vs baseline: +0.9% Memory: ✅ 35.114MB (SLO: <35.500MB 🟡 -1.1%) vs baseline: +4.9% ✅ 1-gauge-metrics-100-timesTime: ✅ 136.318µs (SLO: <150.000µs -9.1%) vs baseline: -0.4% Memory: ✅ 35.075MB (SLO: <35.500MB 🟡 -1.2%) vs baseline: +4.7% ✅ 1-rate-metric-1-timesTime: ✅ 3.063µs (SLO: <20.000µs 📉 -84.7%) vs baseline: ~same Memory: ✅ 35.075MB (SLO: <35.500MB 🟡 -1.2%) vs baseline: +4.8% ✅ 1-rate-metrics-100-timesTime: ✅ 214.774µs (SLO: <250.000µs 📉 -14.1%) vs baseline: -0.2% Memory: ✅ 35.095MB (SLO: <35.500MB 🟡 -1.1%) vs baseline: +4.9% ✅ 100-count-metrics-100-timesTime: ✅ 20.474ms (SLO: <22.000ms -6.9%) vs baseline: +0.5% Memory: ✅ 34.741MB (SLO: <35.500MB -2.1%) vs baseline: +4.9% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.265ms (SLO: <2.550ms 📉 -11.2%) vs baseline: -0.7% Memory: ✅ 35.055MB (SLO: <35.500MB 🟡 -1.3%) vs baseline: +4.7% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.408ms (SLO: <1.550ms -9.2%) vs baseline: +0.3% Memory: ✅ 34.839MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.7% ✅ 100-rate-metrics-100-timesTime: ✅ 2.218ms (SLO: <2.550ms 📉 -13.0%) vs baseline: -0.5% Memory: ✅ 34.819MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +5.1% ✅ flush-1-metricTime: ✅ 4.632µs (SLO: <20.000µs 📉 -76.8%) vs baseline: -0.9% Memory: ✅ 35.095MB (SLO: <35.500MB 🟡 -1.1%) vs baseline: +5.0% ✅ flush-100-metricsTime: ✅ 175.541µs (SLO: <250.000µs 📉 -29.8%) vs baseline: +0.3% Memory: ✅ 35.095MB (SLO: <35.500MB 🟡 -1.1%) vs baseline: +4.7% ✅ flush-1000-metricsTime: ✅ 2.174ms (SLO: <2.500ms 📉 -13.1%) vs baseline: -0.7% Memory: ✅ 35.842MB (SLO: <36.500MB 🟡 -1.8%) vs baseline: +4.5% 🟡 Near SLO Breach (17 suites)🟡 coreapiscenario - 10/10 (1 unstable)
|
Note: Most LOC are from regenerating riot lockfiles.
Description
Supports
stream_outputon Pydantic AI agent results, which was added inpydantic_ai>=1.0.0. To help accomplish testing this, I've bumped the range of our testing support, and updated tests. The only real change was that for agent manifests, emptyinstructionsare now an empty array[]instead ofNone. I didn't change source and instead changed the test assertion to be conditional on the version since I don't think it makes sense to normalize it.Testing
Updated
riotfile.pywith newestpydantic_aiversionsRisks
None, all other tests passed with minimal source & test changes