[package]
name = "metrics-util"
version = "0.18.0"
authors = ["Toby Lawrence <toby@nuclearfurnace.com>"]
edition = "2018"
rust-version = "1.71.1"
license = "MIT"
description = "Helper types/functions used by the metrics ecosystem."
homepage = "https://github.com/metrics-rs/metrics"
repository = "https://github.com/metrics-rs/metrics"
documentation = "https://docs.rs/metrics-util"
readme = "README.md"
categories = ["development-tools::debugging"]
keywords = ["metrics", "quantile", "percentile"]
[lib]
bench = false
[[bench]]
name = "bucket"
harness = false
required-features = ["handles"]
[[bench]]
name = "registry"
harness = false
required-features = ["registry"]
[[bench]]
name = "prefix"
harness = false
[[bench]]
name = "filter"
harness = false
[[bench]]
name = "router"
harness = false
required-features = ["layer-router"]
[[example]]
name = "bucket-crusher"
required-features = ["handles"]
[dependencies]
ahash = { workspace = true, optional = true }
aho-corasick = { workspace = true, features = ["std"], optional = true }
crossbeam-epoch = { workspace = true, features = ["alloc", "std"], optional = true }
crossbeam-utils = { workspace = true, optional = true }
hashbrown = { workspace = true, optional = true }
indexmap = { workspace = true, optional = true }
metrics = { version = "^0.24", path = "../metrics" }
ordered-float = { workspace = true, optional = true }
quanta = { workspace = true, optional = true }
radix_trie = { workspace = true, optional = true }
sketches-ddsketch = { workspace = true, optional = true }
[dev-dependencies]
approx = { workspace = true }
criterion = { workspace = true }
crossbeam-queue = { workspace = true }
getopts = { workspace = true }
hdrhistogram = { workspace = true }
mockall = { workspace = true }
ndarray = { workspace = true }
ndarray-stats = { workspace = true }
noisy_float = { workspace = true }
ordered-float = { workspace = true }
predicates = { workspace = true }
predicates-core = { workspace = true }
predicates-tree = { workspace = true }
quickcheck = { workspace = true }
quickcheck_macros = { workspace = true }
rand = { workspace = true, features = ["small_rng"] }
rand_distr = { workspace = true }
sketches-ddsketch = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true, features = ["fmt", "ansi"] }
[features]
handles = ["crossbeam-epoch", "crossbeam-utils"]
debugging = ["indexmap", "ordered-float", "registry"]
default = ["debugging", "handles", "layers", "summary", "recency", "registry"]
layers = ["layer-filter", "layer-router"]
layer-filter = ["aho-corasick"]
layer-router = ["radix_trie"]
summary = ["sketches-ddsketch"]
recency = ["registry", "quanta"]
registry = ["crossbeam-epoch", "crossbeam-utils", "handles", "hashbrown"]