-
Notifications
You must be signed in to change notification settings - Fork 461
chore(google_genai): extract model name from resp, not kwargs #14821
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: 245 ± 6 ms. The average import time from base is: 240 ± 20 ms. The import time difference between this PR and base is: 1.8 ± 0.7 ms. The difference is not statistically significant (z = 2.62). Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate yunkim/google-genai-model-parsing (556c893) with baseline main (8aa09ab) 🟡 Near SLO Breach (5 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.445ms (SLO: <22.300ms -8.3%) vs baseline: -0.3% Memory: ✅ 65.426MB (SLO: <67.000MB -2.3%) vs baseline: +4.8% ✅ exception-replay-enabledTime: ✅ 1.344ms (SLO: <1.450ms -7.3%) vs baseline: -0.2% Memory: ✅ 64.590MB (SLO: <67.000MB -3.6%) vs baseline: +4.8% ✅ iastTime: ✅ 20.543ms (SLO: <22.250ms -7.7%) vs baseline: +0.3% Memory: ✅ 65.509MB (SLO: <67.000MB -2.2%) vs baseline: +4.9% ✅ profilerTime: ✅ 15.330ms (SLO: <16.550ms -7.4%) vs baseline: +0.3% Memory: ✅ 53.711MB (SLO: <54.500MB 🟡 -1.4%) vs baseline: +4.8% ✅ resource-renamingTime: ✅ 20.565ms (SLO: <21.750ms -5.5%) vs baseline: -0.3% Memory: ✅ 65.365MB (SLO: <67.000MB -2.4%) vs baseline: +4.7% ✅ span-code-originTime: ✅ 26.273ms (SLO: <28.200ms -6.8%) vs baseline: +0.3% Memory: ✅ 67.545MB (SLO: <69.500MB -2.8%) vs baseline: +4.8% ✅ tracerTime: ✅ 20.479ms (SLO: <21.750ms -5.8%) vs baseline: -0.5% Memory: ✅ 65.435MB (SLO: <67.000MB -2.3%) vs baseline: +4.8% ✅ tracer-and-profilerTime: ✅ 22.115ms (SLO: <23.500ms -5.9%) vs baseline: ~same Memory: ✅ 66.682MB (SLO: <67.500MB 🟡 -1.2%) vs baseline: +4.9% ✅ tracer-dont-create-db-spansTime: ✅ 19.307ms (SLO: <21.500ms 📉 -10.2%) vs baseline: -0.4% Memory: ✅ 65.376MB (SLO: <66.000MB 🟡 -0.9%) vs baseline: +4.7% ✅ tracer-minimalTime: ✅ 16.654ms (SLO: <17.500ms -4.8%) vs baseline: +0.4% Memory: ✅ 65.374MB (SLO: <66.000MB 🟡 -0.9%) vs baseline: +4.7% ✅ tracer-nativeTime: ✅ 20.437ms (SLO: <21.750ms -6.0%) vs baseline: -0.5% Memory: ✅ 71.397MB (SLO: <72.500MB 🟡 -1.5%) vs baseline: +5.1% ✅ tracer-no-cachesTime: ✅ 18.479ms (SLO: <19.650ms -6.0%) vs baseline: +0.2% Memory: ✅ 65.292MB (SLO: <67.000MB -2.5%) vs baseline: +4.5% ✅ tracer-no-databasesTime: ✅ 18.867ms (SLO: <20.100ms -6.1%) vs baseline: +0.4% Memory: ✅ 65.323MB (SLO: <67.000MB -2.5%) vs baseline: +4.7% ✅ tracer-no-middlewareTime: ✅ 20.129ms (SLO: <21.500ms -6.4%) vs baseline: -0.5% Memory: ✅ 65.408MB (SLO: <67.000MB -2.4%) vs baseline: +4.8% ✅ tracer-no-templatesTime: ✅ 20.278ms (SLO: <22.000ms -7.8%) vs baseline: -0.6% Memory: ✅ 65.457MB (SLO: <67.000MB -2.3%) vs baseline: +4.9% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.264ms (SLO: <19.850ms -8.0%) vs baseline: +1.3% Memory: ✅ 65.254MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +4.8% ✅ errortracking-enabled-userTime: ✅ 18.097ms (SLO: <19.400ms -6.7%) vs baseline: ~same Memory: ✅ 65.176MB (SLO: <66.500MB 🟡 -2.0%) vs baseline: +4.8% ✅ tracer-enabledTime: ✅ 18.154ms (SLO: <19.450ms -6.7%) vs baseline: +0.5% Memory: ✅ 65.274MB (SLO: <66.500MB 🟡 -1.8%) vs baseline: +4.9% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.571ms (SLO: <4.750ms -3.8%) vs baseline: +0.3% Memory: ✅ 61.932MB (SLO: <65.000MB -4.7%) vs baseline: +4.8% ✅ appsec-postTime: ✅ 6.565ms (SLO: <6.750ms -2.7%) vs baseline: -0.1% Memory: ✅ 62.030MB (SLO: <65.000MB -4.6%) vs baseline: +5.0% ✅ appsec-telemetryTime: ✅ 4.578ms (SLO: <4.750ms -3.6%) vs baseline: +0.6% Memory: ✅ 61.912MB (SLO: <65.000MB -4.8%) vs baseline: +4.8% ✅ debuggerTime: ✅ 1.854ms (SLO: <2.000ms -7.3%) vs baseline: -0.1% Memory: ✅ 45.338MB (SLO: <47.000MB -3.5%) vs baseline: +4.7% ✅ iast-getTime: ✅ 1.879ms (SLO: <2.000ms -6.1%) vs baseline: +1.1% Memory: ✅ 42.349MB (SLO: <49.000MB 📉 -13.6%) vs baseline: +4.8% ✅ profilerTime: ✅ 1.911ms (SLO: <2.100ms -9.0%) vs baseline: +0.2% Memory: ✅ 46.419MB (SLO: <47.000MB 🟡 -1.2%) vs baseline: +4.6% ✅ resource-renamingTime: ✅ 3.385ms (SLO: <3.650ms -7.2%) vs baseline: +0.1% Memory: ✅ 52.239MB (SLO: <53.500MB -2.4%) vs baseline: +4.8% ✅ tracerTime: ✅ 3.373ms (SLO: <3.650ms -7.6%) vs baseline: +0.4% Memory: ✅ 52.239MB (SLO: <53.500MB -2.4%) vs baseline: +4.9% ✅ tracer-nativeTime: ✅ 3.363ms (SLO: <3.650ms -7.9%) vs baseline: +0.1% Memory: ✅ 58.309MB (SLO: <60.000MB -2.8%) vs baseline: +4.9% 🟡 otelspan - 22/22✅ add-eventTime: ✅ 42.870ms (SLO: <47.150ms -9.1%) vs baseline: +1.3% Memory: ✅ 44.425MB (SLO: <47.000MB -5.5%) vs baseline: +4.8% ✅ add-metricsTime: ✅ 319.215ms (SLO: <344.800ms -7.4%) vs baseline: +0.8% Memory: ✅ 595.153MB (SLO: <600.000MB 🟡 -0.8%) vs baseline: +4.8% ✅ add-tagsTime: ✅ 284.937ms (SLO: <314.000ms -9.3%) vs baseline: -1.0% Memory: ✅ 596.677MB (SLO: <600.000MB 🟡 -0.6%) vs baseline: +4.9% ✅ get-contextTime: ✅ 80.852ms (SLO: <92.350ms 📉 -12.5%) vs baseline: +0.9% Memory: ✅ 40.020MB (SLO: <46.500MB 📉 -13.9%) vs baseline: +5.1% ✅ is-recordingTime: ✅ 39.096ms (SLO: <44.500ms 📉 -12.1%) vs baseline: +1.0% Memory: ✅ 43.950MB (SLO: <47.500MB -7.5%) vs baseline: +4.9% ✅ record-exceptionTime: ✅ 59.137ms (SLO: <67.650ms 📉 -12.6%) vs baseline: +0.3% Memory: ✅ 40.209MB (SLO: <47.000MB 📉 -14.4%) vs baseline: +4.8% ✅ set-statusTime: ✅ 44.794ms (SLO: <50.400ms 📉 -11.1%) vs baseline: +0.2% Memory: ✅ 43.882MB (SLO: <47.000MB -6.6%) vs baseline: +4.6% ✅ startTime: ✅ 37.980ms (SLO: <43.450ms 📉 -12.6%) vs baseline: ~same Memory: ✅ 43.949MB (SLO: <47.000MB -6.5%) vs baseline: +4.9% ✅ start-finishTime: ✅ 83.226ms (SLO: <88.000ms -5.4%) vs baseline: +0.8% Memory: ✅ 34.603MB (SLO: <46.500MB 📉 -25.6%) vs baseline: +5.2% ✅ start-finish-telemetryTime: ✅ 84.613ms (SLO: <89.000ms -4.9%) vs baseline: +0.5% Memory: ✅ 34.505MB (SLO: <46.500MB 📉 -25.8%) vs baseline: +4.9% ✅ update-nameTime: ✅ 40.147ms (SLO: <45.150ms 📉 -11.1%) vs baseline: +0.2% Memory: ✅ 44.254MB (SLO: <47.000MB -5.8%) vs baseline: +4.8% 🟡 span - 26/26✅ add-eventTime: ✅ 20.807ms (SLO: <22.500ms -7.5%) vs baseline: +0.3% Memory: ✅ 50.363MB (SLO: <53.000MB -5.0%) vs baseline: +4.9% ✅ add-metricsTime: ✅ 90.666ms (SLO: <93.500ms -3.0%) vs baseline: -0.9% Memory: ✅ 660.832MB (SLO: <961.000MB 📉 -31.2%) vs baseline: +4.8% ✅ add-tagsTime: ✅ 148.373ms (SLO: <155.000ms -4.3%) vs baseline: +0.4% Memory: ✅ 661.260MB (SLO: <962.500MB 📉 -31.3%) vs baseline: +4.8% ✅ get-contextTime: ✅ 19.371ms (SLO: <20.500ms -5.5%) vs baseline: +0.3% Memory: ✅ 49.188MB (SLO: <53.000MB -7.2%) vs baseline: +4.9% ✅ is-recordingTime: ✅ 19.697ms (SLO: <20.500ms -3.9%) vs baseline: +0.2% Memory: ✅ 49.208MB (SLO: <53.000MB -7.2%) vs baseline: +5.0% ✅ record-exceptionTime: ✅ 38.491ms (SLO: <40.000ms -3.8%) vs baseline: +0.3% Memory: ✅ 42.772MB (SLO: <53.000MB 📉 -19.3%) vs baseline: +4.9% ✅ set-statusTime: ✅ 21.289ms (SLO: <22.000ms -3.2%) vs baseline: ~same Memory: ✅ 49.132MB (SLO: <53.000MB -7.3%) vs baseline: +4.7% ✅ startTime: ✅ 19.236ms (SLO: <20.500ms -6.2%) vs baseline: -0.2% Memory: ✅ 49.168MB (SLO: <53.000MB -7.2%) vs baseline: +4.8% ✅ start-finishTime: ✅ 51.470ms (SLO: <52.500ms 🟡 -2.0%) vs baseline: ~same Memory: ✅ 32.126MB (SLO: <34.000MB -5.5%) vs baseline: +4.9% ✅ start-finish-telemetryTime: ✅ 52.668ms (SLO: <54.500ms -3.4%) vs baseline: -0.2% Memory: ✅ 32.086MB (SLO: <34.000MB -5.6%) vs baseline: +4.7% ✅ start-finish-traceid128Time: ✅ 55.181ms (SLO: <56.000ms 🟡 -1.5%) vs baseline: +0.4% Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +5.0% ✅ start-traceid128Time: ✅ 19.700ms (SLO: <22.500ms 📉 -12.4%) vs baseline: +0.2% Memory: ✅ 49.058MB (SLO: <53.000MB -7.4%) vs baseline: +4.7% ✅ update-nameTime: ✅ 20.251ms (SLO: <22.000ms -8.0%) vs baseline: +0.5% Memory: ✅ 49.833MB (SLO: <53.000MB -6.0%) vs baseline: +4.9%
|
MLOB-4058
Description
Changes the google genai integration to extract model name from the response, rather than from kwargs. This functionally shouldn't change the behavior since our current model parsing helper added workarounds to sanitize model paths from the kwarg model ID, but should ensure stability long term by avoiding the complexity of using kwargs to guess the model name.
Testing
Existing tests should suffice, since we expect the same model name to be returned as part of
response.model_version
.Risks
Additional Notes