[package]
name = "libdd-trace-utils"
version = "6.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"
base64 = "0.22"
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.3.0"
tracing = { version = "0.1", default-features = false }
serde_json = "1.0"
futures = { version = "0.3", default-features = false }
tokio = { version = "1", features = ["macros"] }
rand = "0.8.5"
bytes = "1.11.1"
rmpv = { version = "1.3.0", default-features = false }
rmp = { version = "0.8.14", default-features = false }
libdd-capabilities = { path = "../libdd-capabilities", version = "2.0.0" }
libdd-common = { version = "4.2.0", path = "../libdd-common", default-features = false }
libdd-trace-normalization = { version = "2.0.0", path = "../libdd-trace-normalization" }
libdd-trace-protobuf = { version = "3.0.2", path = "../libdd-trace-protobuf" }
libdd-tinybytes = { version = "1.1.1", path = "../libdd-tinybytes", features = [
"bytes_string",
"serialization",
] }
indexmap = "2.11"
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 }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { version = "1", features = ["time", "rt-multi-thread"] }
libdd-capabilities-impl = { version = "2.0.0", path = "../libdd-capabilities-impl", default-features = false }
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2", features = ["js"] }
[dev-dependencies]
libdd-capabilities-impl = { version = "2.0.0", path = "../libdd-capabilities-impl" }
libdd-common = { path = "../libdd-common", default-features = false, features = ["bench-utils"] }
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", "libdd-capabilities-impl/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", "libdd-capabilities-impl/fips"]