[package]
edition = "2024"
rust-version = "1.88"
name = "rustev-otel"
version = "0.4.0"
build = false
include = [
"/src/**/*.rs",
"/LICENSE",
]
publish = ["crates-io"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rustev's OpenTelemetry evidence sink: delivered run records as redacted spans, metrics and logs."
homepage = "https://github.com/statecrafting/rustev"
documentation = "https://docs.rs/rustev-otel"
readme = "README.md"
keywords = [
"decision-engine",
"opentelemetry",
"telemetry",
"tracing",
]
categories = ["development-tools::debugging"]
license = "Apache-2.0"
repository = "https://github.com/statecrafting/rustev"
[package.metadata.spec-spine]
spec = "028-opentelemetry-evidence-sink"
[features]
default = []
otlp = [
"dep:opentelemetry",
"dep:opentelemetry_sdk",
"dep:opentelemetry-otlp",
]
otlp-grpc = [
"otlp",
"opentelemetry-otlp/grpc-tonic",
"opentelemetry-otlp/tls-ring",
"dep:http",
]
otlp-http = [
"otlp",
"opentelemetry-otlp/http-proto",
"opentelemetry-otlp/hyper-client",
"dep:opentelemetry-http",
"dep:http",
"dep:hyper",
"dep:hyper-util",
"dep:rustls",
"dep:tokio-rustls",
"dep:webpki-roots",
"dep:tower-service",
"tokio/net",
]
[lib]
name = "rustev_otel"
path = "src/lib.rs"
[dependencies.http]
version = "1"
features = ["std"]
optional = true
default-features = false
[dependencies.hyper]
version = "1.9"
features = [
"client",
"http1",
]
optional = true
default-features = false
[dependencies.hyper-util]
version = "0.1.17"
features = [
"client-legacy",
"http1",
"tokio",
]
optional = true
default-features = false
[dependencies.opentelemetry]
version = "0.33"
features = [
"trace",
"metrics",
"logs",
]
optional = true
default-features = false
[dependencies.opentelemetry-http]
version = "0.33"
features = ["hyper"]
optional = true
default-features = false
[dependencies.opentelemetry-otlp]
version = "0.33"
features = [
"trace",
"metrics",
"logs",
]
optional = true
default-features = false
[dependencies.opentelemetry_sdk]
version = "0.33"
features = [
"trace",
"metrics",
"logs",
"rt-tokio",
]
optional = true
default-features = false
[dependencies.rustev-contract]
version = "=0.4.0"
[dependencies.rustev-core]
version = "=0.4.0"
features = ["parameterized"]
[dependencies.rustev-runtime]
version = "=0.4.0"
[dependencies.rustls]
version = "0.23.46"
features = [
"ring",
"std",
"tls12",
]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
features = ["float_roundtrip"]
[dependencies.sha2]
version = "0.10"
default-features = false
[dependencies.tokio]
version = "1.53.3"
features = [
"sync",
"time",
"rt",
]
default-features = false
[dependencies.tokio-rustls]
version = "0.26.4"
features = [
"ring",
"tls12",
]
optional = true
default-features = false
[dependencies.tower-service]
version = "0.3"
optional = true
[dependencies.webpki-roots]
version = "1.0.10"
optional = true
default-features = false
[dev-dependencies.bytes]
version = "1"
default-features = false
[dev-dependencies.h2]
version = "0.4"
default-features = false
[dev-dependencies.http]
version = "1"
features = ["std"]
default-features = false
[dev-dependencies.http-body-util]
version = "0.1"
default-features = false
[dev-dependencies.hyper]
version = "1.9"
features = [
"server",
"http1",
]
default-features = false
[dev-dependencies.hyper-util]
version = "0.1.17"
features = ["tokio"]
default-features = false
[dev-dependencies.rustev-backend-rules]
version = "=0.4.0"
[dev-dependencies.tokio]
version = "1.53.3"
features = [
"sync",
"time",
"rt",
"rt-multi-thread",
"macros",
"net",
]
default-features = false
[lints.rust]
unsafe_code = "forbid"