# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85"
name = "fast-telemetry-export"
version = "0.2.0"
authors = [
    "Ryan Daum <ryan.daum@gmail.com>",
    "Devon Tietjen <devon@eden.dev>",
    "Mitul Dhawan <mitul@eden.dev>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Export adapters for fast-telemetry metrics: DogStatsD, OTLP, ClickHouse, span export, and stale-series sweeping"
homepage = "https://github.com/eden-dev-inc/fast-telemetry"
documentation = "https://docs.rs/fast-telemetry-export"
readme = "README.md"
keywords = [
    "telemetry",
    "metrics",
    "dogstatsd",
    "otlp",
    "tracing",
]
license = "Apache-2.0"
repository = "https://github.com/eden-dev-inc/fast-telemetry"

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

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

[lib]
name = "fast_telemetry_export"
path = "src/lib.rs"

[[test]]
name = "clickhouse_integration"
path = "tests/clickhouse_integration.rs"

[[bench]]
name = "clickhouse_export"
path = "benches/clickhouse_export.rs"
harness = false
required-features = [
    "clickhouse",
    "otlp",
]

[dependencies.fast-telemetry]
version = "0.2.0"

[dependencies.flate2]
version = "1"
optional = true

[dependencies.indexmap]
version = "2"
optional = true

[dependencies.klickhouse]
version = "0.14"
features = [
    "derive",
    "compression",
]
optional = true
default-features = false

[dependencies.log]
version = "0.4"

[dependencies.memchr]
version = "2"
optional = true

[dependencies.prost]
version = "0.13"
optional = true

[dependencies.reqwest]
version = "0.13"
features = ["rustls"]
optional = true
default-features = false

[dependencies.tokio]
version = "1"
features = [
    "net",
    "rt",
    "rt-multi-thread",
    "time",
    "macros",
]

[dependencies.tokio-util]
version = "0.7"
features = ["rt"]

[dev-dependencies.criterion]
version = "0.8"
features = [
    "async_tokio",
    "html_reports",
    "async_tokio",
]

[dev-dependencies.testcontainers]
version = "0.27"

[dev-dependencies.testcontainers-modules]
version = "0.15"
features = ["clickhouse"]

[dev-dependencies.tokio]
version = "1"
features = [
    "net",
    "rt",
    "rt-multi-thread",
    "time",
    "macros",
    "macros",
    "rt-multi-thread",
]
