[package]
name = "telemetry-batteries"
version = "0.3.2"
edition = "2024"
description = "Batteries included library to configure tracing, logs and metrics"
license = "MIT OR (Apache-2.0 WITH LLVM-exception)"
readme = "README.md"
repository = "https://github.com/worldcoin/telemetry-batteries"

[features]
default = ["metrics-prometheus", "metrics-statsd"]
metrics-statsd = ["dep:metrics-exporter-statsd"]
metrics-prometheus = ["dep:metrics-exporter-prometheus"]

[dependencies]
backtrace = "0.3"
bon = "3"
chrono = "0.4"
dirs = "5"
eyre = "0.6"
http = "1"
metrics = "0.24"
metrics-exporter-statsd = { version = "0.9", optional = true }
metrics-exporter-prometheus = { version = "0.18", optional = true }
opentelemetry = "0.31"
opentelemetry-datadog = { version = "0.19", features = ["reqwest-client"] }
opentelemetry-http = "0.31"
opentelemetry_sdk = { version = "0.31", features = [
  "rt-tokio",
  "experimental_trace_batch_span_processor_with_async_runtime",
] }
pin-project = "1"
reqwest = { version = "0.12", default-features = false }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
tokio = { version = "1", features = ["macros", "rt-multi-thread", "signal"] }
tower = "0.5"
tracing = "0.1"
tracing-appender = "0.2"
tracing-opentelemetry = "0.32"
tracing-opentelemetry-instrumentation-sdk = { version = "0.32", features = [
  "http",
] }
tracing-serde = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
rand = "0.9"

[dev-dependencies]
anyhow = "1.0"
axum = "0.8"
