-
Notifications
You must be signed in to change notification settings - Fork 463
feat(llmobs): allow versioned dataset pulling #14921
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: 246 ± 4 ms. The average import time from base is: 247 ± 3 ms. The import time difference between this PR and base is: -1.3 ± 0.2 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate gary/mlob-3837 (1013ec3) with baseline main (0b0f0d3) ❌ Test Failures (1 suite)❌ otelspan - 20/22✅ add-eventTime: ✅ 40.299ms (SLO: <47.150ms 📉 -14.5%) vs baseline: +0.2% Memory: ✅ 43.769MB (SLO: <47.000MB -6.9%) vs baseline: +4.9% ❌ add-metricsTime: ✅ 317.722ms (SLO: <344.800ms -7.9%) vs baseline: +0.4% Memory: ❌ 652.050MB (SLO: <630.000MB +3.5%) vs baseline: +4.9% ❌ add-tagsTime: ✅ 288.951ms (SLO: <314.000ms -8.0%) vs baseline: +0.3% Memory: ❌ 653.484MB (SLO: <630.000MB +3.7%) vs baseline: +5.0% ✅ get-contextTime: ✅ 80.186ms (SLO: <92.350ms 📉 -13.2%) vs baseline: +0.2% Memory: ✅ 39.663MB (SLO: <46.500MB 📉 -14.7%) vs baseline: +4.9% ✅ is-recordingTime: ✅ 38.436ms (SLO: <44.500ms 📉 -13.6%) vs baseline: +1.2% Memory: ✅ 43.169MB (SLO: <47.500MB -9.1%) vs baseline: +5.0% ✅ record-exceptionTime: ✅ 58.264ms (SLO: <67.650ms 📉 -13.9%) vs baseline: +0.4% Memory: ✅ 39.832MB (SLO: <47.000MB 📉 -15.3%) vs baseline: +4.7% ✅ set-statusTime: ✅ 43.838ms (SLO: <50.400ms 📉 -13.0%) vs baseline: -0.2% Memory: ✅ 43.243MB (SLO: <47.000MB -8.0%) vs baseline: +4.9% ✅ startTime: ✅ 37.256ms (SLO: <43.450ms 📉 -14.3%) vs baseline: ~same Memory: ✅ 43.211MB (SLO: <47.000MB -8.1%) vs baseline: +5.0% ✅ start-finishTime: ✅ 82.214ms (SLO: <88.000ms -6.6%) vs baseline: ~same Memory: ✅ 34.564MB (SLO: <46.500MB 📉 -25.7%) vs baseline: +4.9% ✅ start-finish-telemetryTime: ✅ 83.935ms (SLO: <89.000ms -5.7%) vs baseline: +0.4% Memory: ✅ 34.603MB (SLO: <46.500MB 📉 -25.6%) vs baseline: +5.0% ✅ update-nameTime: ✅ 38.799ms (SLO: <45.150ms 📉 -14.1%) vs baseline: +0.5% Memory: ✅ 43.527MB (SLO: <47.000MB -7.4%) vs baseline: +5.0% 📈 Performance Regressions (2 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 0.407µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.8% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ add_inplace_aspectTime: ✅ 0.414µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +1.2% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ add_inplace_noaspectTime: ✅ 0.319µs (SLO: <10.000µs 📉 -96.8%) vs baseline: -0.6% Memory: ✅ 37.886MB (SLO: <39.000MB -2.9%) vs baseline: +4.4% ✅ add_noaspectTime: ✅ 0.279µs (SLO: <10.000µs 📉 -97.2%) vs baseline: -1.4% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.9% ✅ bytearray_aspectTime: ✅ 1.332µs (SLO: <10.000µs 📉 -86.7%) vs baseline: ~same Memory: ✅ 38.024MB (SLO: <39.000MB -2.5%) vs baseline: +4.6% ✅ bytearray_extend_aspectTime: ✅ 1.548µs (SLO: <10.000µs 📉 -84.5%) vs baseline: +1.5% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ bytearray_extend_noaspectTime: ✅ 0.615µs (SLO: <10.000µs 📉 -93.9%) vs baseline: +0.8% Memory: ✅ 38.024MB (SLO: <39.000MB -2.5%) vs baseline: +4.6% ✅ bytearray_noaspectTime: ✅ 0.481µs (SLO: <10.000µs 📉 -95.2%) vs baseline: -0.2% Memory: ✅ 37.985MB (SLO: <39.000MB -2.6%) vs baseline: +4.6% ✅ bytes_aspectTime: ✅ 1.279µs (SLO: <10.000µs 📉 -87.2%) vs baseline: -1.0% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ bytes_noaspectTime: ✅ 0.493µs (SLO: <10.000µs 📉 -95.1%) vs baseline: +0.2% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.9% ✅ bytesio_aspectTime: ✅ 1.317µs (SLO: <10.000µs 📉 -86.8%) vs baseline: +0.8% Memory: ✅ 38.142MB (SLO: <39.000MB -2.2%) vs baseline: +5.0% ✅ bytesio_noaspectTime: ✅ 0.503µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +2.1% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ capitalize_aspectTime: ✅ 0.736µs (SLO: <10.000µs 📉 -92.6%) vs baseline: +0.6% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ capitalize_noaspectTime: ✅ 0.432µs (SLO: <10.000µs 📉 -95.7%) vs baseline: -1.2% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ casefold_aspectTime: ✅ 0.738µs (SLO: <10.000µs 📉 -92.6%) vs baseline: -0.5% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ casefold_noaspectTime: ✅ 0.368µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.6% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.1% ✅ decode_aspectTime: ✅ 0.729µs (SLO: <10.000µs 📉 -92.7%) vs baseline: ~same Memory: ✅ 38.024MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ decode_noaspectTime: ✅ 0.427µs (SLO: <10.000µs 📉 -95.7%) vs baseline: +1.4% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.8% ✅ encode_aspectTime: ✅ 0.711µs (SLO: <10.000µs 📉 -92.9%) vs baseline: +0.5% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +5.1% ✅ encode_noaspectTime: ✅ 0.397µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -1.6% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ format_aspectTime: ✅ 3.352µs (SLO: <10.000µs 📉 -66.5%) vs baseline: -0.3% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ format_map_aspectTime: ✅ 3.590µs (SLO: <10.000µs 📉 -64.1%) vs baseline: +0.6% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ format_map_noaspectTime: ✅ 0.774µs (SLO: <10.000µs 📉 -92.3%) vs baseline: ~same Memory: ✅ 37.808MB (SLO: <39.000MB -3.1%) vs baseline: +4.1% ✅ format_noaspectTime: ✅ 0.593µs (SLO: <10.000µs 📉 -94.1%) vs baseline: -0.6% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +5.0% ✅ index_aspectTime: ✅ 0.358µs (SLO: <10.000µs 📉 -96.4%) vs baseline: +0.3% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ index_noaspectTime: ✅ 0.277µs (SLO: <10.000µs 📉 -97.2%) vs baseline: -0.4% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ join_aspectTime: ✅ 1.314µs (SLO: <10.000µs 📉 -86.9%) vs baseline: -1.0% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ join_noaspectTime: ✅ 0.489µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.2% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ ljust_aspectTime: ✅ 2.795µs (SLO: <20.000µs 📉 -86.0%) vs baseline: +6.2% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ ljust_noaspectTime: ✅ 0.404µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -0.4% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ lower_aspectTime: ✅ 2.276µs (SLO: <10.000µs 📉 -77.2%) vs baseline: +2.0% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ lower_noaspectTime: ✅ 0.363µs (SLO: <10.000µs 📉 -96.4%) vs baseline: -2.0% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ lstrip_aspectTime: ✅ 2.462µs (SLO: <20.000µs 📉 -87.7%) vs baseline: 📈 +12.0% Memory: ✅ 38.024MB (SLO: <39.000MB -2.5%) vs baseline: +4.9% ✅ lstrip_noaspectTime: ✅ 0.383µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -1.2% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ modulo_aspectTime: ✅ 1.008µs (SLO: <10.000µs 📉 -89.9%) vs baseline: +1.4% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 1.544µs (SLO: <10.000µs 📉 -84.6%) vs baseline: -0.4% Memory: ✅ 38.024MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ modulo_aspect_for_bytesTime: ✅ 0.986µs (SLO: <10.000µs 📉 -90.1%) vs baseline: +1.3% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 1.212µs (SLO: <10.000µs 📉 -87.9%) vs baseline: +0.6% Memory: ✅ 38.024MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ modulo_noaspectTime: ✅ 0.621µs (SLO: <10.000µs 📉 -93.8%) vs baseline: -0.2% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ replace_aspectTime: ✅ 4.829µs (SLO: <10.000µs 📉 -51.7%) vs baseline: -0.7% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.6% ✅ replace_noaspectTime: ✅ 0.458µs (SLO: <10.000µs 📉 -95.4%) vs baseline: -0.5% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ repr_aspectTime: ✅ 0.913µs (SLO: <10.000µs 📉 -90.9%) vs baseline: +0.3% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ repr_noaspectTime: ✅ 0.423µs (SLO: <10.000µs 📉 -95.8%) vs baseline: +0.4% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ rstrip_aspectTime: ✅ 1.916µs (SLO: <20.000µs 📉 -90.4%) vs baseline: -0.5% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ rstrip_noaspectTime: ✅ 0.379µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.6% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ slice_aspectTime: ✅ 0.498µs (SLO: <10.000µs 📉 -95.0%) vs baseline: -0.3% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ slice_noaspectTime: ✅ 0.445µs (SLO: <10.000µs 📉 -95.5%) vs baseline: +0.3% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ stringio_aspectTime: ✅ 1.754µs (SLO: <10.000µs 📉 -82.5%) vs baseline: 📈 +12.5% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ stringio_noaspectTime: ✅ 0.714µs (SLO: <10.000µs 📉 -92.9%) vs baseline: -0.7% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ strip_aspectTime: ✅ 2.212µs (SLO: <20.000µs 📉 -88.9%) vs baseline: +0.2% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +5.0% ✅ strip_noaspectTime: ✅ 0.387µs (SLO: <10.000µs 📉 -96.1%) vs baseline: +0.7% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ swapcase_aspectTime: ✅ 2.559µs (SLO: <10.000µs 📉 -74.4%) vs baseline: +4.2% Memory: ✅ 38.024MB (SLO: <39.000MB -2.5%) vs baseline: +4.9% ✅ swapcase_noaspectTime: ✅ 0.537µs (SLO: <10.000µs 📉 -94.6%) vs baseline: -1.4% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ title_aspectTime: ✅ 2.401µs (SLO: <10.000µs 📉 -76.0%) vs baseline: ~same Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ title_noaspectTime: ✅ 0.502µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +0.1% Memory: ✅ 37.985MB (SLO: <39.000MB -2.6%) vs baseline: +4.7% ✅ translate_aspectTime: ✅ 3.321µs (SLO: <10.000µs 📉 -66.8%) vs baseline: +1.2% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.8% ✅ translate_noaspectTime: ✅ 1.037µs (SLO: <10.000µs 📉 -89.6%) vs baseline: ~same Memory: ✅ 37.867MB (SLO: <39.000MB -2.9%) vs baseline: +4.3% ✅ upper_aspectTime: ✅ 2.277µs (SLO: <10.000µs 📉 -77.2%) vs baseline: +1.4% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.8% ✅ upper_noaspectTime: ✅ 0.372µs (SLO: <10.000µs 📉 -96.3%) vs baseline: ~same Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% 📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 5.073µs (SLO: <10.000µs 📉 -49.3%) vs baseline: 📈 +17.3% Memory: ✅ 37.611MB (SLO: <39.000MB -3.6%) vs baseline: +4.6% ✅ ospathbasename_noaspectTime: ✅ 1.096µs (SLO: <10.000µs 📉 -89.0%) vs baseline: -0.4% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ ospathjoin_aspectTime: ✅ 6.198µs (SLO: <10.000µs 📉 -38.0%) vs baseline: -0.2% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +5.1% ✅ ospathjoin_noaspectTime: ✅ 2.324µs (SLO: <10.000µs 📉 -76.8%) vs baseline: +0.8% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ ospathnormcase_aspectTime: ✅ 3.976µs (SLO: <10.000µs 📉 -60.2%) vs baseline: 📈 +12.1% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ ospathnormcase_noaspectTime: ✅ 0.580µs (SLO: <10.000µs 📉 -94.2%) vs baseline: +0.3% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ ospathsplit_aspectTime: ✅ 4.934µs (SLO: <10.000µs 📉 -50.7%) vs baseline: -0.5% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ ospathsplit_noaspectTime: ✅ 1.595µs (SLO: <10.000µs 📉 -84.0%) vs baseline: -0.7% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +4.8% ✅ ospathsplitdrive_aspectTime: ✅ 3.786µs (SLO: <10.000µs 📉 -62.1%) vs baseline: +0.8% Memory: ✅ 37.729MB (SLO: <39.000MB -3.3%) vs baseline: +5.0% ✅ ospathsplitdrive_noaspectTime: ✅ 0.705µs (SLO: <10.000µs 📉 -92.9%) vs baseline: +0.5% Memory: ✅ 37.690MB (SLO: <39.000MB -3.4%) vs baseline: +5.1% ✅ ospathsplitext_aspectTime: ✅ 5.305µs (SLO: <10.000µs 📉 -46.9%) vs baseline: 📈 +14.8% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.9% ✅ ospathsplitext_noaspectTime: ✅ 1.380µs (SLO: <10.000µs 📉 -86.2%) vs baseline: -1.0% Memory: ✅ 37.709MB (SLO: <39.000MB -3.3%) vs baseline: +4.9% 🟡 Near SLO Breach (4 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.403ms (SLO: <22.300ms -8.5%) vs baseline: -0.3% Memory: ✅ 65.512MB (SLO: <67.000MB -2.2%) vs baseline: +4.8% ✅ exception-replay-enabledTime: ✅ 1.341ms (SLO: <1.450ms -7.5%) vs baseline: ~same Memory: ✅ 64.555MB (SLO: <67.000MB -3.6%) vs baseline: +4.9% ✅ iastTime: ✅ 20.371ms (SLO: <22.250ms -8.4%) vs baseline: -0.3% Memory: ✅ 65.393MB (SLO: <67.000MB -2.4%) vs baseline: +4.7% ✅ profilerTime: ✅ 15.246ms (SLO: <16.550ms -7.9%) vs baseline: +0.2% Memory: ✅ 53.930MB (SLO: <54.500MB 🟡 -1.0%) vs baseline: +5.1% ✅ resource-renamingTime: ✅ 20.467ms (SLO: <21.750ms -5.9%) vs baseline: -0.6% Memory: ✅ 65.440MB (SLO: <67.000MB -2.3%) vs baseline: +4.8% ✅ span-code-originTime: ✅ 25.347ms (SLO: <28.200ms 📉 -10.1%) vs baseline: -0.2% Memory: ✅ 67.553MB (SLO: <69.500MB -2.8%) vs baseline: +4.6% ✅ tracerTime: ✅ 20.418ms (SLO: <21.750ms -6.1%) vs baseline: -0.2% Memory: ✅ 65.514MB (SLO: <67.000MB -2.2%) vs baseline: +5.1% ✅ tracer-and-profilerTime: ✅ 21.955ms (SLO: <23.500ms -6.6%) vs baseline: -0.4% Memory: ✅ 66.681MB (SLO: <67.500MB 🟡 -1.2%) vs baseline: +4.8% ✅ tracer-dont-create-db-spansTime: ✅ 19.252ms (SLO: <21.500ms 📉 -10.5%) vs baseline: -0.3% Memory: ✅ 65.450MB (SLO: <66.000MB 🟡 -0.8%) vs baseline: +4.8% ✅ tracer-minimalTime: ✅ 16.630ms (SLO: <17.500ms -5.0%) vs baseline: +0.1% Memory: ✅ 65.413MB (SLO: <66.000MB 🟡 -0.9%) vs baseline: +4.7% ✅ tracer-nativeTime: ✅ 20.473ms (SLO: <21.750ms -5.9%) vs baseline: +0.2% Memory: ✅ 71.261MB (SLO: <72.500MB 🟡 -1.7%) vs baseline: +4.7% ✅ tracer-no-cachesTime: ✅ 18.426ms (SLO: <19.650ms -6.2%) vs baseline: ~same Memory: ✅ 65.422MB (SLO: <67.000MB -2.4%) vs baseline: +4.7% ✅ tracer-no-databasesTime: ✅ 18.721ms (SLO: <20.100ms -6.9%) vs baseline: -0.2% Memory: ✅ 65.429MB (SLO: <67.000MB -2.3%) vs baseline: +4.8% ✅ tracer-no-middlewareTime: ✅ 20.143ms (SLO: <21.500ms -6.3%) vs baseline: +0.2% Memory: ✅ 65.412MB (SLO: <67.000MB -2.4%) vs baseline: +4.8% ✅ tracer-no-templatesTime: ✅ 20.219ms (SLO: <22.000ms -8.1%) vs baseline: -0.4% Memory: ✅ 65.462MB (SLO: <67.000MB -2.3%) vs baseline: +4.8% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.151ms (SLO: <19.850ms -8.6%) vs baseline: +0.6% Memory: ✅ 65.333MB (SLO: <66.500MB 🟡 -1.8%) vs baseline: +5.0% ✅ errortracking-enabled-userTime: ✅ 18.040ms (SLO: <19.400ms -7.0%) vs baseline: ~same Memory: ✅ 65.174MB (SLO: <66.500MB 🟡 -2.0%) vs baseline: +4.7% ✅ tracer-enabledTime: ✅ 18.163ms (SLO: <19.450ms -6.6%) vs baseline: +0.3% Memory: ✅ 65.274MB (SLO: <66.500MB 🟡 -1.8%) vs baseline: +4.9% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.586ms (SLO: <4.750ms -3.4%) vs baseline: +0.2% Memory: ✅ 61.971MB (SLO: <65.000MB -4.7%) vs baseline: +5.0% ✅ appsec-postTime: ✅ 6.615ms (SLO: <6.750ms 🟡 -2.0%) vs baseline: ~same Memory: ✅ 61.951MB (SLO: <65.000MB -4.7%) vs baseline: +4.8% ✅ appsec-telemetryTime: ✅ 4.587ms (SLO: <4.750ms -3.4%) vs baseline: +0.3% Memory: ✅ 61.951MB (SLO: <65.000MB -4.7%) vs baseline: +4.7% ✅ debuggerTime: ✅ 1.859ms (SLO: <2.000ms -7.1%) vs baseline: +0.1% Memory: ✅ 45.475MB (SLO: <47.000MB -3.2%) vs baseline: +4.9% ✅ iast-getTime: ✅ 1.861ms (SLO: <2.000ms -6.9%) vs baseline: ~same Memory: ✅ 42.330MB (SLO: <49.000MB 📉 -13.6%) vs baseline: +5.0% ✅ profilerTime: ✅ 1.912ms (SLO: <2.100ms -9.0%) vs baseline: -0.1% Memory: ✅ 46.478MB (SLO: <47.000MB 🟡 -1.1%) vs baseline: +4.9% ✅ resource-renamingTime: ✅ 3.377ms (SLO: <3.650ms -7.5%) vs baseline: +0.4% Memory: ✅ 52.199MB (SLO: <53.500MB -2.4%) vs baseline: +4.7% ✅ tracerTime: ✅ 3.362ms (SLO: <3.650ms -7.9%) vs baseline: +0.2% Memory: ✅ 52.298MB (SLO: <53.500MB -2.2%) vs baseline: +4.8% ✅ tracer-nativeTime: ✅ 3.361ms (SLO: <3.650ms -7.9%) vs baseline: ~same Memory: ✅ 58.227MB (SLO: <60.000MB -3.0%) vs baseline: +4.9% 🟡 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 3.204µs (SLO: <20.000µs 📉 -84.0%) vs baseline: +9.5% Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +4.9% ✅ 1-count-metrics-100-timesTime: ✅ 201.541µs (SLO: <220.000µs -8.4%) vs baseline: +0.6% Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +4.9% ✅ 1-distribution-metric-1-timesTime: ✅ 3.288µs (SLO: <20.000µs 📉 -83.6%) vs baseline: +0.1% Memory: ✅ 32.106MB (SLO: <34.000MB -5.6%) vs baseline: +4.8% ✅ 1-distribution-metrics-100-timesTime: ✅ 218.245µs (SLO: <220.000µs 🟡 -0.8%) vs baseline: +2.0% Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +4.9% ✅ 1-gauge-metric-1-timesTime: ✅ 2.386µs (SLO: <20.000µs 📉 -88.1%) vs baseline: +9.8% Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +4.9% ✅ 1-gauge-metrics-100-timesTime: ✅ 136.610µs (SLO: <150.000µs -8.9%) vs baseline: ~same Memory: ✅ 32.126MB (SLO: <34.000MB -5.5%) vs baseline: +4.6% ✅ 1-rate-metric-1-timesTime: ✅ 3.037µs (SLO: <20.000µs 📉 -84.8%) vs baseline: -1.0% Memory: ✅ 32.126MB (SLO: <34.000MB -5.5%) vs baseline: +4.7% ✅ 1-rate-metrics-100-timesTime: ✅ 214.389µs (SLO: <250.000µs 📉 -14.2%) vs baseline: -0.6% Memory: ✅ 32.185MB (SLO: <34.000MB -5.3%) vs baseline: +4.8% ✅ 100-count-metrics-100-timesTime: ✅ 20.464ms (SLO: <22.000ms -7.0%) vs baseline: +0.6% Memory: ✅ 32.145MB (SLO: <34.000MB -5.5%) vs baseline: +4.9% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.238ms (SLO: <2.300ms -2.7%) vs baseline: +0.2% Memory: ✅ 32.204MB (SLO: <34.000MB -5.3%) vs baseline: +5.2% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.415ms (SLO: <1.550ms -8.7%) vs baseline: +0.3% Memory: ✅ 32.067MB (SLO: <34.000MB -5.7%) vs baseline: +4.7% ✅ 100-rate-metrics-100-timesTime: ✅ 2.228ms (SLO: <2.550ms 📉 -12.6%) vs baseline: +1.0% Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +5.0% ✅ flush-1-metricTime: ✅ 4.904µs (SLO: <20.000µs 📉 -75.5%) vs baseline: +9.8% Memory: ✅ 32.126MB (SLO: <34.000MB -5.5%) vs baseline: +4.6% ✅ flush-100-metricsTime: ✅ 174.109µs (SLO: <250.000µs 📉 -30.4%) vs baseline: -0.4% Memory: ✅ 32.165MB (SLO: <34.000MB -5.4%) vs baseline: +5.0% ✅ flush-1000-metricsTime: ✅ 2.107ms (SLO: <2.500ms 📉 -15.7%) vs baseline: -1.3% Memory: ✅ 32.971MB (SLO: <34.500MB -4.4%) vs baseline: +5.0%
|
ee5feda
to
6cf1a5a
Compare
e0457da
to
bfb9164
Compare
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.
lgtm as-is (aside from updating the release note), just a clarification and a couple suggestions!
if next_cursor: | ||
has_next_page = True | ||
list_path = f"{list_base_path}?page[cursor]={next_cursor}" | ||
list_path = f"{list_base_path}{'&' if version else '?'}page[cursor]={next_cursor}" |
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.
i think instead of doing this, we could do something with urllib.parse.urlencode
to make this a bit cleaner
import urllib.parse
url_options = {}
if version:
url_options["filter[version]"] = version
...
if next_cursor:
has_next_page = True
url_options["page[cursor]"] = next_cursor
...
list_path = "{}?{}".format(list_base_path, urllib.parse.urlencode(url_options, safe="[]")
i think that works, but nw if it doesn't work.
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.
ah yea, i thought about it but reading the docs it seems that it would convert [
to url encoded, which normally is good but IIRC there was something with the backend that we have to use the actual characters and not url encode...any way i'll give it a shot
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.
yeah, i ran into that but safe="[]"
seems to resolve that
>>> url_base = "/foo/123"
>>> url_options = {"a[b]": 1, "b[c]": "bar"}
>>> import urllib.parse
>>> "{}?{}".format(url_base, urllib.parse.urlencode(url_options, safe="[]"))
'/foo/123?a[b]=1&b[c]=bar'
but yeah lmk if this works!
releasenotes/notes/llmobs-dne-allow-versioned-dataset-pull-c7017f982b2c1f5b.yaml
Outdated
Show resolved
Hide resolved
@property | ||
def current_version(self) -> int: | ||
return self._current_version | ||
|
||
@property | ||
def version(self) -> int: | ||
return self._version | ||
|
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.
i was initially confused by these two versions, just to clarify:
- version: the pulled/created dataset version
- current_version: the global/most recent version of the dataset wrt what is available in the backend
if so, maybe some docstrings here could help clarify for users as well. or, maybe only exposing version
instead of current_version
/rename it to global_version
(idk haha) - just before we put something in here that we gotta wait for a major update to walk back from!
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.
hmmm yea thats a good point, i will add some docstrings, the API returns current_version
so i matched it. Although i guess we could technically rename it in the SDK...
what do you think about latest_version
instead of current_version
?
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.
ooh yeah i think latest_version
is better!
raise ValueError(f"unexpected dataset state, invalid ID (is None: {dataset_id is None})") | ||
curr_version = response_data["data"]["attributes"]["current_version"] | ||
return Dataset(dataset_name, project, dataset_id, [], description, curr_version, _dne_client=self) | ||
return Dataset(dataset_name, project, dataset_id, [], description, curr_version, curr_version, _dne_client=self) |
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.
very small nit but for readability it might help to use these as kwargs (as to differentiate the two curr_version
variables, it tripped me up for a sec 😅)
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.
very true! will change that
dataset_name, | ||
project, | ||
dataset_id, | ||
class_records, | ||
dataset_description, | ||
curr_version, | ||
version or curr_version, | ||
_dne_client=self, |
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.
similar small nit for maybe using kwargs to give each of these a name for slightly easier readability - up to you!
…17f982b2c1f5b.yaml Co-authored-by: Sam Brenner <[email protected]>
Description
this PR allows users to optionally pull a specific version of a dataset by specifying the version in the
pull_dataset
callTesting
with the following script to first pull the latest version, then a specified version, and a non existent version, we get the following output:
output:
the number of entries match the different versions of the dataset: https://dddev.datadoghq.com/llm/datasets/a68e7967-9d2b-4171-a887-f55ba4dbfe5e
Risks
Additional Notes