dynamo-bench 1.4.0

Lightweight HTTP benchmarks for Dynamo endpoints
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "dynamo-bench"
version = "1.4.0"
authors = ["NVIDIA Inc. <sw-dl-dynamo@nvidia.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Lightweight HTTP benchmarks for Dynamo endpoints"
homepage = "https://github.com/ai-dynamo/dynamo"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/ai-dynamo/dynamo.git"

[features]
active-sequences = [
    "router-bench",
    "dep:dynamo-mocker",
    "dep:indicatif",
    "dep:dynamo-tokens",
    "dep:libc",
    "dep:rustc-hash",
    "dep:tracing-subscriber",
]
claude-trace-export = [
    "dep:chrono",
    "dep:crossbeam-channel",
    "dep:dynamo-data-gen",
    "dep:hf-hub",
    "dep:rustc-hash",
    "dep:sha2",
    "dep:tokenizers",
]
dc-ckf-consumer = []
dc-ckf-relay = [
    "dep:crossbeam-channel",
    "dep:dynamo-mocker",
    "dep:indicatif",
    "dep:libc",
    "dep:rustc-hash",
    "dep:sha2",
]
default = [
    "claude-trace-export",
    "test-support",
]
kv-router-stress-support = ["dep:reqwest"]
mocker-kvbm-offload = [
    "offline-replay",
    "dynamo-mocker/kvbm-offload",
]
mooncake = [
    "router-bench",
    "dep:dynamo-mocker",
    "dep:indicatif",
    "dep:libc",
    "dep:tokio-util",
]
multiturn = [
    "kv-router-stress-support",
    "dep:dynamo-mocker",
    "dep:futures-util",
    "dep:indicatif",
    "dep:rand",
]
offline-replay = ["dep:dynamo-mocker"]
profile = [
    "offline-replay",
    "dynamo-mocker/profile",
]
replay-bench = [
    "offline-replay",
    "dynamo-mocker/replay-bench",
]
router-bench = ["dynamo-kv-router/bench"]
router-metrics = ["dynamo-kv-router/metrics"]
router-test-support = [
    "router-bench",
    "router-metrics",
    "dep:dynamo-mocker",
    "dep:indicatif",
    "dep:dynamo-tokens",
    "dep:libc",
    "dep:rustc-hash",
    "dep:tokio-util",
    "dep:tracing-subscriber",
]
satf = ["dep:dynamo-data-gen"]
test-support = [
    "router-test-support",
    "dynamo-mocker/test-support",
    "dep:flate2",
    "dep:tempfile",
    "dep:tracing",
    "dep:uuid",
]

[lib]
name = "dynamo_bench"
path = "src/lib.rs"

[[bin]]
name = "claude_trace_export"
path = "claude_trace_export.rs"
required-features = ["claude-trace-export"]

[[bin]]
name = "dc_ckf_consumer_bench"
path = "kv_router/dc_ckf_consumer_bench.rs"
required-features = ["dc-ckf-consumer"]

[[bin]]
name = "request_trace_to_satf"
path = "request_trace_to_satf.rs"
required-features = ["satf"]

[[test]]
name = "active_sequences_trace"
path = "tests/active_sequences_trace.rs"

[[test]]
name = "mooncake_trace"
path = "tests/mooncake_trace.rs"

[[test]]
name = "request_trace"
path = "tests/request_trace.rs"

[[bench]]
name = "active_sequences_bench"
path = "kv_router/active_sequences_bench.rs"
harness = false
required-features = ["active-sequences"]

[[bench]]
name = "dc_ckf_relay_bench"
path = "kv_router/dc_ckf_relay_bench.rs"
harness = false
required-features = ["dc-ckf-relay"]

[[bench]]
name = "mooncake_bench"
path = "kv_router/mooncake_bench.rs"
harness = false
required-features = ["mooncake"]

[[bench]]
name = "multiturn_bench"
path = "multiturn_bench.rs"
harness = false
required-features = ["multiturn"]

[[bench]]
name = "offline_replay_bench"
path = "offline_replay_bench.rs"
harness = false
required-features = ["offline-replay"]

[dependencies.anyhow]
version = "1"

[dependencies.chrono]
version = "0.4"
features = [
    "alloc",
    "std",
    "clock",
    "now",
    "serde",
]
optional = true
default-features = false

[dependencies.clap]
version = "4.5"
features = ["derive"]

[dependencies.crossbeam-channel]
version = "0.5"
optional = true

[dependencies.dynamo-data-gen]
version = "1.4.0"
optional = true

[dependencies.dynamo-kv-router]
version = "1.4.0"

[dependencies.dynamo-mocker]
version = "1.4.0"
optional = true

[dependencies.dynamo-tokens]
version = "1.4.0"
optional = true

[dependencies.flate2]
version = "1"
optional = true

[dependencies.futures-util]
version = "0.3.32"
optional = true

[dependencies.hf-hub]
version = "0.4.2"
features = ["ureq"]
optional = true
default-features = false

[dependencies.indicatif]
version = "0.18"
optional = true

[dependencies.rand]
version = "0.9.2"
optional = true

[dependencies.reqwest]
version = "0.12.24"
features = [
    "multipart",
    "json",
    "stream",
    "rustls-tls",
]
optional = true
default-features = false

[dependencies.rustc-hash]
version = "2"
optional = true

[dependencies.serde]
version = "1"
features = [
    "derive",
    "rc",
]

[dependencies.serde_json]
version = "1"

[dependencies.sha2]
version = "0.10"
optional = true

[dependencies.tempfile]
version = "3"
optional = true

[dependencies.tokenizers]
version = "0.21.4"
features = ["onig"]
optional = true
default-features = false

[dependencies.tokio]
version = "=1.48.0"
features = ["full"]

[dependencies.tokio-util]
version = "0.7.17"
features = [
    "codec",
    "net",
    "rt",
    "io-util",
]
optional = true

[dependencies.tracing]
version = "0.1"
optional = true

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "env-filter",
    "local-time",
    "json",
]
optional = true

[dependencies.uuid]
version = "1.18.1"
features = [
    "v4",
    "serde",
]
optional = true

[target.'cfg(target_os = "linux")'.dependencies.libc]
version = "0.2"
optional = true