[package]
name = "libdd-trace-utils"
version = "2.0.0"
description = "Trace utilities including span processing, MessagePack encoding/decoding, payload handling, and HTTP transport with retry logic for Datadog APM"
homepage = "https://github.com/DataDog/libdatadog/tree/main/libdd-trace-utils"
repository = "https://github.com/DataDog/libdatadog/tree/main/libdd-trace-utils"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
autobenches = false
[lib]
bench = false
[[bench]]
name = "main"
harness = false
path = "benches/main.rs"
[dependencies]
anyhow = "1.0"
hyper = { workspace = true, optional = true, default-features = false }
"http" = "1"
"http-body" = "1"
http-body-util = "0.1"
serde = { version = "1.0.145", features = ["derive"] }
prost = "0.14.1"
rmp-serde = "1.1.1"
tracing = { version = "0.1", default-features = false }
serde_json = "1.0"
futures = { version = "0.3", default-features = false }
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
rand = "0.8.5"
bytes = "1.6.0"
rmpv = { version = "1.3.0", default-features = false }
rmp = { version = "0.8.14", default-features = false }
libdd-common = { version = "2.0.0", path = "../libdd-common", default-features = false }
libdd-trace-protobuf = { version = "1.1.0", path = "../libdd-trace-protobuf" }
libdd-trace-normalization = { version = "1.0.1", path = "../libdd-trace-normalization" }
libdd-tinybytes = { version = "1.1.0", path = "../libdd-tinybytes", features = [
"bytes_string",
"serialization",
] }
flate2 = { version = "1.0", optional = true }
zstd = { version = "0.13.3", default-features = false, optional = true }
cargo_metadata = { version = "0.18.1", optional = true }
cargo-platform = { version = "=0.1.7", optional = true }
httpmock = { version = "0.8.0-alpha.1", optional = true }
urlencoding = { version = "2.1.3", optional = true }
indexmap = "2.11"
[dev-dependencies]
bolero = "0.13"
criterion = "0.5.1"
httpmock = { version = "0.8.0-alpha.1" }
serde_json = "1.0"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
libdd-trace-utils = { path = ".", features = ["test-utils"] }
tempfile = "3.3.0"
[features]
default = ["https"]
https = ["libdd-common/https"]
mini_agent = ["compression", "libdd-common/use_webpki_roots"]
test-utils = [
"hyper/server",
"httpmock",
"cargo_metadata",
"cargo-platform",
"urlencoding",
]
compression = ["zstd", "flate2"]
fips = ["libdd-common/fips"]