# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

[package]
name = "dynamo-bench"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "Lightweight HTTP benchmarks for Dynamo endpoints"

[[bench]]
name = "multiturn_bench"
path = "multiturn_bench.rs"
harness = false

[[bench]]
name = "offline_replay_bench"
path = "offline_replay_bench.rs"
harness = false

[[bench]]
name = "kv_indexer_bench"
path = "kv_router/kv_indexer_bench.rs"
harness = false

[[bench]]
name = "mooncake_bench"
path = "kv_router/mooncake_bench.rs"
harness = false

[[bench]]
name = "active_sequences_bench"
path = "kv_router/active_sequences_bench.rs"
harness = false

[dependencies]
anyhow = { workspace = true }
clap = { version = "4.5", features = ["derive"] }
futures-util = { workspace = true }
indicatif = "0.18"
rand = { workspace = true }
reqwest = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
tokio = { workspace = true }
dynamo-mocker = { workspace = true }

[dev-dependencies]
async-trait = { workspace = true }
dynamo-kv-router = { workspace = true, features = ["bench"] }
dynamo-tokens = { workspace = true }
minstant = "0.1.7"
plotters = { version = "0.3", default-features = false, features = ["svg_backend", "line_series", "point_series", "full_palette"] }
tokio = { workspace = true, features = ["rt", "macros", "time"] }
tokio-util = { workspace = true }
tracing-subscriber = { workspace = true }
uuid = { workspace = true }
