[package]
name = "captrack"
version = "0.1.0"
edition = "2021"
authors = ["Marat K <phpcraftdream@gmail.com>"]
rust-version = "1.74"
description = "Capacity telemetry for Rust collections — call-site macros that record peak capacity, with zero overhead when disabled."
license = "MIT OR Apache-2.0"
repository = "https://github.com/PHPCraftdream/captrack"
homepage = "https://github.com/PHPCraftdream/captrack"
documentation = "https://docs.rs/captrack"
readme = "README.md"
keywords = ["telemetry", "capacity", "profiling", "collections", "performance"]
categories = ["development-tools::profiling"]
include = [
"src/**/*",
"examples/**/*",
"tests/**/*",
"Cargo.toml",
"README.md",
"CHANGELOG.md",
"CONTRIBUTING.md",
"LICENSE-APACHE",
"LICENSE-MIT",
"clippy.toml.example",
]
[workspace]
members = [".", "captrack-macros", "captrack-pgo"]
exclude = ["captrack-pgo-lint"]
[features]
default = []
telemetry = ["dep:scc", "dep:serde", "dep:serde_json", "dep:bytes", "dep:indexmap", "dep:dashmap", "dep:ctor", "dep:smallvec", "dep:fastrand", "dep:hashbrown"]
fxhash = ["dep:fxhash"]
ahash = ["dep:ahash"]
foldhash = ["dep:foldhash"]
rustc-hash = ["dep:rustc-hash"]
bytes = ["dep:bytes"]
indexmap = ["dep:indexmap"]
dashmap = ["dep:dashmap"]
scc = ["dep:scc"]
smallvec = ["dep:smallvec"]
hashbrown = ["dep:hashbrown"]
[dependencies]
captrack-macros = { path = "captrack-macros", version = "0.1.0" }
scc = { version = "2.2", optional = true }
serde = { version = "1", optional = true, features = ["derive"] }
serde_json = { version = "1", optional = true }
ctor = { version = "0.2", optional = true }
fastrand = { version = "2", optional = true }
bytes = { version = "1", optional = true }
indexmap = { version = "2", optional = true }
dashmap = { version = "6", optional = true }
smallvec = { version = "1", optional = true }
hashbrown = { version = "0.15", optional = true }
fxhash = { version = "0.2", optional = true }
ahash = { version = "0.8", optional = true }
foldhash = { version = "0.1", optional = true }
rustc-hash = { version = "2", optional = true }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[dev-dependencies]
scc = "2.2"
bytes = "1"
indexmap = "2"
dashmap = "6"
smallvec = "1"
hashbrown = "0.15"
serde_json = "1"
tempfile = "3"
fxhash = "0.2"
ahash = "0.8"
[lib]
doctest = false