-
Notifications
You must be signed in to change notification settings - Fork 763
Migrate getFunctionThroughputByVariant #5243
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
Migrate getFunctionThroughputByVariant #5243
Conversation
aaaebb2 to
05172b4
Compare
a6f8e3f to
ff46d32
Compare
ff46d32 to
5496675
Compare
5496675 to
5568427
Compare
5568427 to
4a3c442
Compare
|
/merge-queue |
|
🚀 Merge queue workflow triggered! View the run: https://github.com/tensorzero/tensorzero/actions/runs/20344301638 |
4a3c442 to
2f91657
Compare
|
/merge-queue |
|
🚀 Merge queue workflow triggered! View the run: https://github.com/tensorzero/tensorzero/actions/runs/20345730523 |
2f91657 to
c604a6d
Compare
* Migrate getFunctionThroughputByVariant * Use idiomatic Rust Duration and ClickHouse UUIDv7ToDateTime for time window filtering Refactors the time-based filtering in ClickHouse inference stats queries: - Changed time_window_to_ms to time_window_to_duration returning std::time::Duration - Use ClickHouse's UUIDv7ToDateTime function for timestamp comparison instead of manual bit manipulation of UUIDv7 format - Pass time delta in seconds to ClickHouse, use INTERVAL SECOND for arithmetic - Preserves original semantics of filtering relative to max timestamp in the data Fix inference stats e2e test assertions - Check RFC 3339 format with milliseconds on raw HTTP response body instead of re-serializing DateTime (chrono's default serializer omits .000 for zero ms) - Relax variant count assertion from 2+ to 1+ for fixture data flexibility
|
/merge-queue |
|
🚀 Merge queue workflow triggered! View the run: https://github.com/tensorzero/tensorzero/actions/runs/20351499551 |
0594a2a to
341c0a8
Compare
|
/merge-queue |
|
🚀 Merge queue workflow triggered! View the run: https://github.com/tensorzero/tensorzero/actions/runs/20351984757 |
341c0a8 to
c329576
Compare
c329576 to
32e9aee
Compare
…window filtering Refactors the time-based filtering in ClickHouse inference stats queries: - Changed time_window_to_ms to time_window_to_duration returning std::time::Duration - Use ClickHouse's UUIDv7ToDateTime function for timestamp comparison instead of manual bit manipulation of UUIDv7 format - Pass time delta in seconds to ClickHouse, use INTERVAL SECOND for arithmetic - Preserves original semantics of filtering relative to max timestamp in the data Fix inference stats e2e test assertions - Check RFC 3339 format with milliseconds on raw HTTP response body instead of re-serializing DateTime (chrono's default serializer omits .000 for zero ms) - Relax variant count assertion from 2+ to 1+ for fixture data flexibility
32e9aee to
e538951
Compare
/internal/functions/{function_name}/throughput-by-variantthat returns inference counts grouped by variant and time period.Important
Add
/internal/functions/{function_name}/throughput-by-variantendpoint to fetch function throughput data grouped by variant and time period, with tests and datetime serialization support./internal/functions/{function_name}/throughput-by-variantendpoint ininternal.rsto return inference counts grouped by variant and time period.GetFunctionThroughputByVariantParamsandVariantThroughputtoinference_stats.rs.GetFunctionThroughputByVariantResponseandVariantThroughputtypes inGetFunctionThroughputByVariantResponse.tsandVariantThroughput.ts.get_function_throughput_by_variantininference_stats.rs.serialize_utc_datetime_rfc_3339_with_millistoserde_util.rsfor datetime serialization.inference_stats_queries.rsandinference_stats.rs.inference_stats.rsfor various time windows and edge cases.Cargo.tomlandCargo.lockto includeregexdependency.This description was created by
for 341c0a8. You can customize this summary. It will automatically update as commits are pushed.