66 GenerativeMetrics ,
77)
88from guidellm .benchmark .profile import SynchronousProfile
9- from guidellm .benchmark .schemas import BenchmarkerDict , SchedulerDict
9+ from guidellm .benchmark .schemas import (
10+ BenchmarkerDict ,
11+ GenerativeAudioMetricsSummary ,
12+ GenerativeImageMetricsSummary ,
13+ GenerativeMetricsSummary ,
14+ GenerativeTextMetricsSummary ,
15+ GenerativeVideoMetricsSummary ,
16+ SchedulerDict ,
17+ )
1018from guidellm .scheduler import SchedulerState , SynchronousStrategy
11- from guidellm .schemas import GenerativeRequestStats , RequestInfo , RequestTimings
19+ from guidellm .schemas import (
20+ GenerativeRequestStats ,
21+ RequestInfo ,
22+ RequestTimings ,
23+ UsageMetrics ,
24+ )
1225from guidellm .utils import (
1326 DistributionSummary ,
1427 Percentiles ,
@@ -64,6 +77,21 @@ def _create_status_dist() -> StatusDistributionSummary:
6477 )
6578
6679
80+ def _create_metrics_summary () -> GenerativeMetricsSummary :
81+ """Create mock generative metrics summary for testing."""
82+ return GenerativeMetricsSummary (
83+ input = _create_status_dist (),
84+ input_per_second = _create_status_dist (),
85+ input_concurrency = _create_status_dist (),
86+ output = _create_status_dist (),
87+ output_per_second = _create_status_dist (),
88+ output_concurrency = _create_status_dist (),
89+ total = _create_status_dist (),
90+ total_per_second = _create_status_dist (),
91+ total_concurrency = _create_status_dist (),
92+ )
93+
94+
6795def mock_generative_benchmark () -> GenerativeBenchmark :
6896 """Create a minimal mock GenerativeBenchmark for testing purposes."""
6997 return GenerativeBenchmark (
@@ -112,14 +140,40 @@ def mock_generative_benchmark() -> GenerativeBenchmark:
112140 requests_per_second = _create_status_dist (),
113141 request_concurrency = _create_status_dist (),
114142 request_latency = _create_status_dist (),
143+ request_streaming_iterations_count = _create_status_dist (),
115144 prompt_token_count = _create_status_dist (),
116145 output_token_count = _create_status_dist (),
117146 total_token_count = _create_status_dist (),
118147 time_to_first_token_ms = _create_status_dist (),
119148 time_per_output_token_ms = _create_status_dist (),
120149 inter_token_latency_ms = _create_status_dist (),
150+ output_tokens_wo_first_per_iteration = _create_status_dist (),
151+ output_tokens_per_iteration = _create_status_dist (),
121152 output_tokens_per_second = _create_status_dist (),
122153 tokens_per_second = _create_status_dist (),
154+ text = GenerativeTextMetricsSummary (
155+ tokens = _create_metrics_summary (),
156+ characters = _create_metrics_summary (),
157+ words = _create_metrics_summary (),
158+ ),
159+ image = GenerativeImageMetricsSummary (
160+ tokens = _create_metrics_summary (),
161+ images = _create_metrics_summary (),
162+ pixels = _create_metrics_summary (),
163+ bytes = _create_metrics_summary (),
164+ ),
165+ video = GenerativeVideoMetricsSummary (
166+ tokens = _create_metrics_summary (),
167+ frames = _create_metrics_summary (),
168+ seconds = _create_metrics_summary (),
169+ bytes = _create_metrics_summary (),
170+ ),
171+ audio = GenerativeAudioMetricsSummary (
172+ tokens = _create_metrics_summary (),
173+ samples = _create_metrics_summary (),
174+ seconds = _create_metrics_summary (),
175+ bytes = _create_metrics_summary (),
176+ ),
123177 ),
124178 request_totals = StatusBreakdown (
125179 successful = 1 ,
@@ -139,11 +193,19 @@ def mock_generative_benchmark() -> GenerativeBenchmark:
139193 request_id = "a" ,
140194 request_type = "text_completions" ,
141195 prompt = "p" ,
142- request_args = {} ,
196+ request_args = "{}" ,
143197 output = "o" ,
144198 iterations = 1 ,
145199 prompt_tokens = 1 ,
146200 output_tokens = 2 ,
201+ info = RequestInfo (
202+ request_timings = RequestTimings (
203+ request_start = 1 ,
204+ request_end = 6 ,
205+ )
206+ ),
207+ input_metrics = UsageMetrics (),
208+ output_metrics = UsageMetrics (),
147209 )
148210 ],
149211 incomplete = [],
0 commit comments