guidellm.schemas.info
Core data structures and interfaces for the GuideLLM scheduler system.
Provides type-safe abstractions for distributed request processing, timing measurements, and backend interfaces for benchmarking operations. Central to the scheduler architecture, enabling request lifecycle tracking, backend coordination, and state management across distributed worker processes.
RequestInfo
Bases: StandardBaseModel
Complete information about a request in the scheduler system.
Encapsulates all metadata, status tracking, and timing information for requests processed through the distributed scheduler. Provides comprehensive lifecycle tracking from initial queuing through final completion, including error handling and node identification for debugging and performance analysis.
Example: :: request = RequestInfo() request.status = "in_progress" start_time = request.started_at completion_time = request.completed_at
Source code in src/guidellm/schemas/info.py
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | |
completed_at property
Get the effective request processing completion time.
Returns:
| Type | Description |
|---|---|
float | None | Unix timestamp when processing completed, or None if not completed |
started_at property
Get the effective request processing start time.
Returns:
| Type | Description |
|---|---|
float | None | Unix timestamp when processing began, or None if not started |
model_copy(**_kwargs)
Create a deep copy of the request info with copied timing objects.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
kwargs | Additional keyword arguments for model copying | required |
Returns:
| Type | Description |
|---|---|
RequestInfo | New RequestInfo instance with independent timing objects |
Source code in src/guidellm/schemas/info.py
RequestSettings
Bases: StandardBaseDict
Per-request scheduling metadata attached at enqueue, before worker dequeue.
Populated by dataset finalizers (for example from trace relative_timestamp columns). Scheduling strategies read these fields at dequeue. For trace replay, a non-null relative_timestamp becomes an absolute start time at dequeue: start_time + time_scale * relative_timestamp. When relative_timestamp is null, trace replay schedules the request at benchmark start (no trace offset).
Source code in src/guidellm/schemas/info.py
RequestTimings
Bases: StandardBaseDict
Timing measurements for tracking request lifecycle events.
Provides comprehensive timing data for distributed request processing, capturing key timestamps from initial targeting through final completion. Essential for performance analysis, SLA monitoring, and debugging request processing bottlenecks across scheduler workers and backend systems.
Source code in src/guidellm/schemas/info.py
last_reported property
Get the most recent timing measurement available.
Returns:
| Type | Description |
|---|---|
float | None | The latest Unix timestamp from the timing fields, or None if none |