feat(aiohttp): resolve full URL when ClientSession is initialized with base_url#17167
feat(aiohttp): resolve full URL when ClientSession is initialized with base_url#17167
Conversation
Codeowners resolved as |
This comment has been minimized.
This comment has been minimized.
Performance SLOsComparing candidate quinna/aiohttp-client-session (f69762f) with baseline main (e103911) 📈 Performance Regressions (2 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 103.379µs (SLO: <130.000µs 📉 -20.5%) vs baseline: +0.9% Memory: ✅ 44.151MB (SLO: <46.000MB -4.0%) vs baseline: +5.4% ✅ add_inplace_aspectTime: ✅ 99.818µs (SLO: <130.000µs 📉 -23.2%) vs baseline: -1.8% Memory: ✅ 43.958MB (SLO: <46.000MB -4.4%) vs baseline: +5.0% ✅ add_inplace_noaspectTime: ✅ 28.105µs (SLO: <40.000µs 📉 -29.7%) vs baseline: -0.6% Memory: ✅ 44.024MB (SLO: <46.000MB -4.3%) vs baseline: +5.2% ✅ add_noaspectTime: ✅ 48.844µs (SLO: <70.000µs 📉 -30.2%) vs baseline: -1.4% Memory: ✅ 43.997MB (SLO: <46.000MB -4.4%) vs baseline: +5.0% ✅ bytearray_aspectTime: ✅ 249.375µs (SLO: <400.000µs 📉 -37.7%) vs baseline: -1.8% Memory: ✅ 44.001MB (SLO: <46.000MB -4.3%) vs baseline: +4.9% ✅ bytearray_extend_aspectTime: ✅ 648.430µs (SLO: <800.000µs 📉 -18.9%) vs baseline: +1.5% Memory: ✅ 44.251MB (SLO: <46.000MB -3.8%) vs baseline: +5.6% ✅ bytearray_extend_noaspectTime: ✅ 265.978µs (SLO: <400.000µs 📉 -33.5%) vs baseline: -2.2% Memory: ✅ 44.032MB (SLO: <46.000MB -4.3%) vs baseline: +5.2% ✅ bytearray_noaspectTime: ✅ 136.573µs (SLO: <300.000µs 📉 -54.5%) vs baseline: -4.1% Memory: ✅ 43.990MB (SLO: <46.000MB -4.4%) vs baseline: +4.9% ✅ bytes_aspectTime: ✅ 217.302µs (SLO: <300.000µs 📉 -27.6%) vs baseline: -0.3% Memory: ✅ 44.072MB (SLO: <46.000MB -4.2%) vs baseline: +5.0% ✅ bytes_noaspectTime: ✅ 133.518µs (SLO: <200.000µs 📉 -33.2%) vs baseline: -0.9% Memory: ✅ 43.993MB (SLO: <46.000MB -4.4%) vs baseline: +5.1% ✅ bytesio_aspectTime: ✅ 3.763ms (SLO: <5.000ms 📉 -24.7%) vs baseline: -2.3% Memory: ✅ 43.923MB (SLO: <46.000MB -4.5%) vs baseline: +4.9% ✅ bytesio_noaspectTime: ✅ 315.298µs (SLO: <420.000µs 📉 -24.9%) vs baseline: +0.1% Memory: ✅ 44.033MB (SLO: <46.000MB -4.3%) vs baseline: +5.1% ✅ capitalize_aspectTime: ✅ 89.158µs (SLO: <300.000µs 📉 -70.3%) vs baseline: +1.1% Memory: ✅ 44.210MB (SLO: <46.000MB -3.9%) vs baseline: +5.7% ✅ capitalize_noaspectTime: ✅ 249.033µs (SLO: <300.000µs 📉 -17.0%) vs baseline: -3.5% Memory: ✅ 44.047MB (SLO: <46.000MB -4.2%) vs baseline: +5.0% ✅ casefold_aspectTime: ✅ 89.855µs (SLO: <500.000µs 📉 -82.0%) vs baseline: +1.0% Memory: ✅ 43.961MB (SLO: <46.000MB -4.4%) vs baseline: +5.1% ✅ casefold_noaspectTime: ✅ 301.675µs (SLO: <500.000µs 📉 -39.7%) vs baseline: -2.5% Memory: ✅ 43.955MB (SLO: <46.000MB -4.4%) vs baseline: +4.9% ✅ decode_aspectTime: ✅ 87.361µs (SLO: <100.000µs 📉 -12.6%) vs baseline: +0.4% Memory: ✅ 44.017MB (SLO: <46.000MB -4.3%) vs baseline: +5.1% ✅ decode_noaspectTime: ✅ 152.015µs (SLO: <210.000µs 📉 -27.6%) vs baseline: -0.3% Memory: ✅ 43.992MB (SLO: <46.000MB -4.4%) vs baseline: +5.1% ✅ encode_aspectTime: ✅ 84.543µs (SLO: <200.000µs 📉 -57.7%) vs baseline: ~same Memory: ✅ 43.936MB (SLO: <46.000MB -4.5%) vs baseline: +4.9% ✅ encode_noaspectTime: ✅ 141.001µs (SLO: <200.000µs 📉 -29.5%) vs baseline: +0.3% Memory: ✅ 43.975MB (SLO: <46.000MB -4.4%) vs baseline: +4.9% ✅ format_aspectTime: ✅ 14.620ms (SLO: <19.200ms 📉 -23.9%) vs baseline: ~same Memory: ✅ 44.056MB (SLO: <46.000MB -4.2%) vs baseline: +5.0% ✅ format_map_aspectTime: ✅ 16.385ms (SLO: <21.500ms 📉 -23.8%) vs baseline: +0.2% Memory: ✅ 44.323MB (SLO: <46.000MB -3.6%) vs baseline: +5.5% ✅ format_map_noaspectTime: ✅ 368.852µs (SLO: <500.000µs 📉 -26.2%) vs baseline: +0.4% Memory: ✅ 43.996MB (SLO: <46.000MB -4.4%) vs baseline: +5.0% ✅ format_noaspectTime: ✅ 299.631µs (SLO: <500.000µs 📉 -40.1%) vs baseline: -2.2% Memory: ✅ 44.093MB (SLO: <46.000MB -4.1%) vs baseline: +5.3% ✅ index_aspectTime: ✅ 124.212µs (SLO: <300.000µs 📉 -58.6%) vs baseline: -1.9% Memory: ✅ 44.028MB (SLO: <46.000MB -4.3%) vs baseline: +5.1% ✅ index_noaspectTime: ✅ 40.319µs (SLO: <300.000µs 📉 -86.6%) vs baseline: -0.2% Memory: ✅ 43.994MB (SLO: <46.000MB -4.4%) vs baseline: +5.1% ✅ join_aspectTime: ✅ 210.056µs (SLO: <300.000µs 📉 -30.0%) vs baseline: -4.2% Memory: ✅ 44.007MB (SLO: <46.000MB -4.3%) vs baseline: +5.1% ✅ join_noaspectTime: ✅ 142.963µs (SLO: <300.000µs 📉 -52.3%) vs baseline: -3.8% Memory: ✅ 43.840MB (SLO: <46.000MB -4.7%) vs baseline: +4.6% ✅ ljust_aspectTime: ✅ 577.494µs (SLO: <700.000µs 📉 -17.5%) vs baseline: 📈 +14.1% Memory: ✅ 43.963MB (SLO: <46.000MB -4.4%) vs baseline: +4.8% ✅ ljust_noaspectTime: ✅ 255.310µs (SLO: <300.000µs 📉 -14.9%) vs baseline: -1.8% Memory: ✅ 44.034MB (SLO: <46.000MB -4.3%) vs baseline: +5.1% ✅ lower_aspectTime: ✅ 294.569µs (SLO: <500.000µs 📉 -41.1%) vs baseline: -2.1% Memory: ✅ 44.025MB (SLO: <46.000MB -4.3%) vs baseline: +5.3% ✅ lower_noaspectTime: ✅ 233.372µs (SLO: <300.000µs 📉 -22.2%) vs baseline: -1.3% Memory: ✅ 43.913MB (SLO: <46.000MB -4.5%) vs baseline: +4.8% ✅ lstrip_aspectTime: ✅ 0.269ms (SLO: <3.000ms 📉 -91.0%) vs baseline: -4.3% Memory: ✅ 43.934MB (SLO: <46.000MB -4.5%) vs baseline: +5.0% ✅ lstrip_noaspectTime: ✅ 0.178ms (SLO: <3.000ms 📉 -94.1%) vs baseline: -0.9% Memory: ✅ 44.013MB (SLO: <46.000MB -4.3%) vs baseline: +5.1% ✅ modulo_aspectTime: ✅ 14.295ms (SLO: <18.750ms 📉 -23.8%) vs baseline: ~same Memory: ✅ 44.034MB (SLO: <46.000MB -4.3%) vs baseline: +4.9% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 14.771ms (SLO: <19.350ms 📉 -23.7%) vs baseline: ~same Memory: ✅ 44.126MB (SLO: <46.000MB -4.1%) vs baseline: +5.1% ✅ modulo_aspect_for_bytesTime: ✅ 14.469ms (SLO: <18.900ms 📉 -23.4%) vs baseline: +0.7% Memory: ✅ 44.002MB (SLO: <46.000MB -4.3%) vs baseline: +4.8% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 14.599ms (SLO: <19.150ms 📉 -23.8%) vs baseline: -0.1% Memory: ✅ 44.134MB (SLO: <46.000MB -4.1%) vs baseline: +5.2% ✅ modulo_noaspectTime: ✅ 0.359ms (SLO: <3.000ms 📉 -88.0%) vs baseline: -1.4% Memory: ✅ 43.958MB (SLO: <46.000MB -4.4%) vs baseline: +4.9% ✅ replace_aspectTime: ✅ 18.437ms (SLO: <24.000ms 📉 -23.2%) vs baseline: +0.3% Memory: ✅ 44.098MB (SLO: <46.000MB -4.1%) vs baseline: +5.0% ✅ replace_noaspectTime: ✅ 278.859µs (SLO: <400.000µs 📉 -30.3%) vs baseline: -0.3% Memory: ✅ 44.057MB (SLO: <46.000MB -4.2%) vs baseline: +5.2% ✅ repr_aspectTime: ✅ 309.869µs (SLO: <420.000µs 📉 -26.2%) vs baseline: -3.3% Memory: ✅ 44.084MB (SLO: <46.000MB -4.2%) vs baseline: +5.4% ✅ repr_noaspectTime: ✅ 46.662µs (SLO: <90.000µs 📉 -48.2%) vs baseline: -0.1% Memory: ✅ 43.944MB (SLO: <46.000MB -4.5%) vs baseline: +5.2% ✅ rstrip_aspectTime: ✅ 384.167µs (SLO: <500.000µs 📉 -23.2%) vs baseline: -1.0% Memory: ✅ 43.956MB (SLO: <46.000MB -4.4%) vs baseline: +4.9% ✅ rstrip_noaspectTime: ✅ 183.785µs (SLO: <300.000µs 📉 -38.7%) vs baseline: +1.6% Memory: ✅ 43.999MB (SLO: <46.000MB -4.4%) vs baseline: +5.0% ✅ slice_aspectTime: ✅ 182.124µs (SLO: <300.000µs 📉 -39.3%) vs baseline: -0.7% Memory: ✅ 44.076MB (SLO: <46.000MB -4.2%) vs baseline: +5.4% ✅ slice_noaspectTime: ✅ 54.845µs (SLO: <90.000µs 📉 -39.1%) vs baseline: +0.8% Memory: ✅ 43.915MB (SLO: <46.000MB -4.5%) vs baseline: +4.8% ✅ stringio_aspectTime: ✅ 4.392ms (SLO: <5.000ms 📉 -12.2%) vs baseline: 📈 +12.8% Memory: ✅ 44.000MB (SLO: <46.000MB -4.3%) vs baseline: +5.0% ✅ stringio_noaspectTime: ✅ 350.397µs (SLO: <500.000µs 📉 -29.9%) vs baseline: +0.8% Memory: ✅ 43.995MB (SLO: <46.000MB -4.4%) vs baseline: +5.1% ✅ strip_aspectTime: ✅ 268.019µs (SLO: <350.000µs 📉 -23.4%) vs baseline: -3.8% Memory: ✅ 44.023MB (SLO: <46.000MB -4.3%) vs baseline: +5.1% ✅ strip_noaspectTime: ✅ 177.220µs (SLO: <240.000µs 📉 -26.2%) vs baseline: -0.3% Memory: ✅ 43.974MB (SLO: <46.000MB -4.4%) vs baseline: +5.1% ✅ swapcase_aspectTime: ✅ 328.548µs (SLO: <500.000µs 📉 -34.3%) vs baseline: -2.5% Memory: ✅ 43.963MB (SLO: <46.000MB -4.4%) vs baseline: +5.0% ✅ swapcase_noaspectTime: ✅ 269.764µs (SLO: <400.000µs 📉 -32.6%) vs baseline: -1.5% Memory: ✅ 43.975MB (SLO: <46.000MB -4.4%) vs baseline: +5.1% ✅ title_aspectTime: ✅ 317.169µs (SLO: <500.000µs 📉 -36.6%) vs baseline: -2.8% Memory: ✅ 44.098MB (SLO: <46.000MB -4.1%) vs baseline: +5.3% ✅ title_noaspectTime: ✅ 256.969µs (SLO: <400.000µs 📉 -35.8%) vs baseline: -2.2% Memory: ✅ 43.953MB (SLO: <46.000MB -4.5%) vs baseline: +5.1% ✅ translate_aspectTime: ✅ 489.767µs (SLO: <700.000µs 📉 -30.0%) vs baseline: -0.7% Memory: ✅ 44.022MB (SLO: <46.000MB -4.3%) vs baseline: +5.4% ✅ translate_noaspectTime: ✅ 422.429µs (SLO: <500.000µs 📉 -15.5%) vs baseline: -2.5% Memory: ✅ 43.929MB (SLO: <46.000MB -4.5%) vs baseline: +5.1% ✅ upper_aspectTime: ✅ 291.793µs (SLO: <500.000µs 📉 -41.6%) vs baseline: -3.6% Memory: ✅ 43.950MB (SLO: <46.000MB -4.5%) vs baseline: +5.0% ✅ upper_noaspectTime: ✅ 233.984µs (SLO: <400.000µs 📉 -41.5%) vs baseline: -2.2% Memory: ✅ 44.048MB (SLO: <46.000MB -4.2%) vs baseline: +5.2% 📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 506.693µs (SLO: <700.000µs 📉 -27.6%) vs baseline: 📈 +17.5% Memory: ✅ 43.737MB (SLO: <46.000MB -4.9%) vs baseline: +4.9% ✅ ospathbasename_noaspectTime: ✅ 427.329µs (SLO: <700.000µs 📉 -39.0%) vs baseline: -2.7% Memory: ✅ 43.655MB (SLO: <46.000MB -5.1%) vs baseline: +5.0% ✅ ospathjoin_aspectTime: ✅ 627.537µs (SLO: <700.000µs 📉 -10.4%) vs baseline: +1.1% Memory: ✅ 43.949MB (SLO: <46.000MB -4.5%) vs baseline: +5.5% ✅ ospathjoin_noaspectTime: ✅ 629.921µs (SLO: <700.000µs 📉 -10.0%) vs baseline: ~same Memory: ✅ 44.083MB (SLO: <46.000MB -4.2%) vs baseline: +5.3% ✅ ospathnormcase_aspectTime: ✅ 347.577µs (SLO: <700.000µs 📉 -50.3%) vs baseline: -3.4% Memory: ✅ 43.734MB (SLO: <46.000MB -4.9%) vs baseline: +4.7% ✅ ospathnormcase_noaspectTime: ✅ 353.752µs (SLO: <700.000µs 📉 -49.5%) vs baseline: -4.1% Memory: ✅ 43.722MB (SLO: <46.000MB -5.0%) vs baseline: +5.0% ✅ ospathsplit_aspectTime: ✅ 487.153µs (SLO: <700.000µs 📉 -30.4%) vs baseline: -1.3% Memory: ✅ 43.963MB (SLO: <46.000MB -4.4%) vs baseline: +5.5% ✅ ospathsplit_noaspectTime: ✅ 495.997µs (SLO: <700.000µs 📉 -29.1%) vs baseline: -0.6% Memory: ✅ 43.928MB (SLO: <46.000MB -4.5%) vs baseline: +4.5% ✅ ospathsplitdrive_aspectTime: ✅ 371.955µs (SLO: <700.000µs 📉 -46.9%) vs baseline: -1.2% Memory: ✅ 43.846MB (SLO: <46.000MB -4.7%) vs baseline: +5.1% ✅ ospathsplitdrive_noaspectTime: ✅ 72.585µs (SLO: <700.000µs 📉 -89.6%) vs baseline: -0.8% Memory: ✅ 43.717MB (SLO: <46.000MB -5.0%) vs baseline: +4.5% ✅ ospathsplitext_aspectTime: ✅ 454.728µs (SLO: <700.000µs 📉 -35.0%) vs baseline: -2.2% Memory: ✅ 43.720MB (SLO: <46.000MB -5.0%) vs baseline: +4.7% ✅ ospathsplitext_noaspectTime: ✅ 464.231µs (SLO: <700.000µs 📉 -33.7%) vs baseline: -1.1% Memory: ✅ 43.684MB (SLO: <46.000MB -5.0%) vs baseline: +4.9% 🟡 Near SLO Breach (2 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 19.739ms (SLO: <22.300ms 📉 -11.5%) vs baseline: +0.1% Memory: ✅ 68.838MB (SLO: <73.500MB -6.3%) vs baseline: +5.0% ✅ exception-replay-enabledTime: ✅ 1.397ms (SLO: <1.450ms -3.6%) vs baseline: -0.3% Memory: ✅ 66.787MB (SLO: <71.500MB -6.6%) vs baseline: +4.8% ✅ iastTime: ✅ 19.774ms (SLO: <22.250ms 📉 -11.1%) vs baseline: -0.2% Memory: ✅ 68.870MB (SLO: <75.000MB -8.2%) vs baseline: +5.1% ✅ profilerTime: ✅ 15.200ms (SLO: <16.550ms -8.2%) vs baseline: +0.4% Memory: ✅ 60.394MB (SLO: <61.000MB 🟡 -1.0%) vs baseline: +4.7% ✅ resource-renamingTime: ✅ 19.643ms (SLO: <21.750ms -9.7%) vs baseline: ~same Memory: ✅ 68.767MB (SLO: <73.500MB -6.4%) vs baseline: +4.9% ✅ span-code-originTime: ✅ 20.063ms (SLO: <28.200ms 📉 -28.9%) vs baseline: +0.9% Memory: ✅ 68.547MB (SLO: <75.000MB -8.6%) vs baseline: +4.7% ✅ tracerTime: ✅ 19.714ms (SLO: <21.750ms -9.4%) vs baseline: -0.3% Memory: ✅ 68.868MB (SLO: <75.000MB -8.2%) vs baseline: +5.0% ✅ tracer-and-profilerTime: ✅ 21.079ms (SLO: <23.500ms 📉 -10.3%) vs baseline: ~same Memory: ✅ 70.811MB (SLO: <75.000MB -5.6%) vs baseline: +5.1% ✅ tracer-dont-create-db-spansTime: ✅ 19.806ms (SLO: <21.500ms -7.9%) vs baseline: +0.1% Memory: ✅ 68.756MB (SLO: <75.000MB -8.3%) vs baseline: +5.0% ✅ tracer-minimalTime: ✅ 16.749ms (SLO: <17.500ms -4.3%) vs baseline: -0.2% Memory: ✅ 68.778MB (SLO: <75.000MB -8.3%) vs baseline: +5.0% ✅ tracer-nativeTime: ✅ 19.670ms (SLO: <21.750ms -9.6%) vs baseline: +0.1% Memory: ✅ 68.837MB (SLO: <72.500MB -5.1%) vs baseline: +5.1% ✅ tracer-no-cachesTime: ✅ 17.579ms (SLO: <19.650ms 📉 -10.5%) vs baseline: +0.1% Memory: ✅ 68.817MB (SLO: <75.000MB -8.2%) vs baseline: +5.0% ✅ tracer-no-databasesTime: ✅ 19.405ms (SLO: <20.100ms -3.5%) vs baseline: +0.6% Memory: ✅ 68.743MB (SLO: <75.000MB -8.3%) vs baseline: +4.9% ✅ tracer-no-middlewareTime: ✅ 19.439ms (SLO: <21.500ms -9.6%) vs baseline: +0.3% Memory: ✅ 68.726MB (SLO: <75.000MB -8.4%) vs baseline: +4.9% ✅ tracer-no-templatesTime: ✅ 19.667ms (SLO: <22.000ms 📉 -10.6%) vs baseline: +1.0% Memory: ✅ 68.785MB (SLO: <73.500MB -6.4%) vs baseline: +5.1% 🟡 recursivecomputation - 8/8✅ deepTime: ✅ 312.155ms (SLO: <320.950ms -2.7%) vs baseline: +0.2% Memory: ✅ 37.532MB (SLO: <38.750MB -3.1%) vs baseline: +5.2% ✅ deep-profiledTime: ✅ 333.143ms (SLO: <359.150ms -7.2%) vs baseline: +0.4% Memory: ✅ 43.883MB (SLO: <46.000MB -4.6%) vs baseline: +4.8% ✅ mediumTime: ✅ 7.282ms (SLO: <7.400ms 🟡 -1.6%) vs baseline: -0.2% Memory: ✅ 36.294MB (SLO: <38.000MB -4.5%) vs baseline: +4.7% ✅ shallowTime: ✅ 1.019ms (SLO: <1.050ms -3.0%) vs baseline: +1.5% Memory: ✅ 36.313MB (SLO: <38.000MB -4.4%) vs baseline: +5.0%
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e31f7dc73d
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| { | ||
| "name": "aiohttp.request", | ||
| "service": "tests.contrib.aiohttp", | ||
| "resource": "aiohttp.request", |
There was a problem hiding this comment.
Do you know why the resource is just resolving as the operation name?
Description
When
aiohttp.ClientSessionis created withbase_url, aiohttp resolves relative paths against it internally before making requests. Previously, the tracer was reading the raw (unresolved) URL argument, so spans recorded paths like/status/200instead of the fullhttp://host:port/status/200.Addresses: #16250
Testing
test_base_urlsnapshot test coveringClientSession(base_url=...)+ relative path requestbase_urlparameter was introduced in 3.8.0)Risks
Additional Notes