pub struct TraceThroughputStats {
pub duration_ms: f64,
pub wall_time_ms: f64,
pub request_throughput_rps: f64,
pub input_throughput_tok_s: f64,
pub output_throughput_tok_s: f64,
pub total_throughput_tok_s: f64,
pub prefill_worker_seconds: f64,
pub decode_worker_seconds: f64,
pub prefill_gpus_per_worker: usize,
pub decode_gpus_per_worker: usize,
pub gpu_hours: f64,
}Fields§
§duration_ms: f64§wall_time_ms: f64§request_throughput_rps: f64§input_throughput_tok_s: f64§output_throughput_tok_s: f64§total_throughput_tok_s: f64§prefill_worker_seconds: f64Provisioned worker-time per role, in worker-seconds: the time-integral
of the provisioned worker count over the whole simulated run. The
provisioned count is every worker physically holding a GPU (active +
starting-up + draining), so this captures the startup ramp and the
scale-down drain tail, unlike a snapshot of the active/serving count.
Populated on the collector by the runtime: add_worker_seconds accrues
the integral each clock advance (agg / disagg), and
set_static_worker_count covers the single-worker path; 0.0 otherwise.
Multiply by GPUs-per-worker for GPU-seconds (/3600 for GPU-hours).
Aggregated replay reports through decode_worker_seconds, leaving
prefill_worker_seconds at 0.0.
decode_worker_seconds: f64§prefill_gpus_per_worker: usizeGPUs per worker per role, derived from the mocker engine parallelism
(MockEngineArgs::aic_gpus_per_worker = tensor parallelism × materialized
DP topology); the runtime sets it on the collector. 0 when not set.
decode_gpus_per_worker: usize§gpu_hours: f64GPU-hours = Σ_role worker_seconds × gpus_per_worker / 3600 — the
deployment’s provisioned GPU-time (already including the startup ramp and
drain tail, since *_worker_seconds do). Computed in finish() straight
from the mocker’s own worker parallelism, so it needs no external config.
Trait Implementations§
Source§impl Clone for TraceThroughputStats
impl Clone for TraceThroughputStats
Source§fn clone(&self) -> TraceThroughputStats
fn clone(&self) -> TraceThroughputStats
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more