[package]
name = "fast-telemetry-export"
version = "0.2.0"
edition = "2024"
authors.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
description = "Export adapters for fast-telemetry metrics: DogStatsD, OTLP, ClickHouse, span export, and stale-series sweeping"
documentation = "https://docs.rs/fast-telemetry-export"
keywords = ["telemetry", "metrics", "dogstatsd", "otlp", "tracing"]
readme = "README.md"

[package.metadata.docs.rs]
all-features = true

[features]
default = ["dogstatsd", "otlp"]
dogstatsd = ["dep:memchr"]
otlp = ["dep:flate2", "dep:prost", "dep:reqwest", "fast-telemetry/otlp"]
clickhouse = ["dep:klickhouse", "dep:indexmap", "fast-telemetry/otlp", "fast-telemetry/clickhouse"]

[dependencies]
log = { workspace = true }
memchr = { workspace = true, optional = true }
fast-telemetry = { workspace = true }
tokio = { workspace = true }
tokio-util = { workspace = true }

# otlp
flate2 = { workspace = true, optional = true }
prost = { workspace = true, optional = true }
reqwest = { workspace = true, optional = true }

# clickhouse
indexmap = { workspace = true, optional = true }
klickhouse = { workspace = true, optional = true }

[dev-dependencies]
criterion = { workspace = true, features = ["async_tokio"] }
testcontainers = { workspace = true }
testcontainers-modules = { workspace = true }
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }

[[bench]]
name = "clickhouse_export"
harness = false
required-features = ["clickhouse", "otlp"]
