Skip to main content

dynamo_mocker/loadgen/
mod.rs

1// SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2// SPDX-License-Identifier: Apache-2.0
3
4mod arrival;
5mod driver;
6mod trace;
7mod types;
8
9use rand::Rng;
10use rand::rngs::StdRng;
11
12pub use driver::WorkloadDriver;
13pub use trace::validate_trace_files;
14pub(crate) use types::ReplayRequestPayload;
15pub use types::{
16    AgenticTrace, AgenticTurnTrace, ArrivalSpec, DelaySpec, DynamoRequestTrace, LengthSpec,
17    OUTPUT_REPLAY_CONSUMER_RUNTIME_KEY, OUTPUT_REPLAY_ID_ANNOTATION_KEY, ReadyTurn,
18    ReplayRequestHashes, RouterSequence, SequenceHashMode, SessionPartitionSpec, SessionTrace,
19    SyntheticTraceSpec, Trace, TraceFileFormat, TurnTrace, effective_replay_key,
20    output_replay_id_annotation,
21};
22
23pub(super) const SYNTHETIC_OUTPUT_SEED: u64 = 0xD37A_0A7E_5EED;
24
25pub(super) fn planned_output_token_ids(
26    authored: Option<Vec<u32>>,
27    max_output_tokens: usize,
28    output_rng: &mut StdRng,
29) -> Vec<u32> {
30    authored.unwrap_or_else(|| {
31        (0..max_output_tokens)
32            .map(|_| output_rng.random::<u32>())
33            .collect()
34    })
35}
36
37#[cfg(test)]
38mod tests;