[package]
name = "tikv_util"
version = "0.1.0"
edition = "2018"
publish = false

[features]
failpoints = ["fail/failpoints"]
test-cgroup = []
env-logger = ["dep:slog-envlogger"]
testexport = []

[dependencies]
async-speed-limit = { workspace = true }
backtrace = { workspace = true }
byteorder = { workspace = true }
bytes = { workspace = true }
chrono = { workspace = true }
codec = { workspace = true }
collections = { workspace = true }
cpu-time = { workspace = true }
crc32fast = { workspace = true }
crossbeam = { workspace = true }
derive_more = { workspace = true }
error_code = { workspace = true }
fail = { workspace = true }
fs2 = { workspace = true }
futures = { workspace = true }
futures-util = { workspace = true }
grpcio = { workspace = true }
http = { workspace = true }
hyper = { workspace = true }
kvproto = { workspace = true }
lazy_static = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
log_wrappers = { workspace = true }
nix = { workspace = true }
num-traits = { workspace = true }
num_cpus = { workspace = true }
online_config = { workspace = true }
openssl = { workspace = true }
parking_lot = { workspace = true }
pin-project = { workspace = true }
prometheus = { workspace = true }
prometheus-static-metric = { workspace = true }
protobuf = { workspace = true }
rand = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
slog = { workspace = true }
slog-async = { workspace = true }
slog-envlogger = { workspace = true, optional = true }
slog-global = { workspace = true }
slog-json = { workspace = true }
slog-term = { workspace = true }
sysinfo = { workspace = true }
thiserror = { workspace = true }
tikv_alloc = { workspace = true }
time = { workspace = true }
tokio = { workspace = true }
tokio-executor = { workspace = true }
tokio-timer = { workspace = true }
trace_event = { workspace = true }
tracker = { workspace = true }
url = { workspace = true }
workspace-hack = { version = "0.1", path = "../../workspace-hack" }
yatp = { workspace = true }

[target.'cfg(target_os = "linux")'.dependencies]
procinfo = { git = "https://github.com/tikv/procinfo-rs", rev = "6599eb9dca74229b2c1fcc44118bef7eff127128" }
page_size = "0.4"
procfs = { version = "0.12", default-features = false }

[dev-dependencies]
gag = { workspace = true }
panic_hook = { workspace = true }
protobuf = { workspace = true }
regex = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true }
toml = { workspace = true }
utime = { workspace = true }

[[bench]]
name = "channel"
path = "benches/channel/mod.rs"
test = true
