[package] name = "ts_opentelemetry_otlp" version = "0.13.0-beta.1" description = "This is a fork of the exporter for the OpenTelemetry Collector" homepage = "https://github.com/ThetaSinner/opentelemetry-rust" repository = "https://github.com/ThetaSinner/opentelemetry-rust" readme = "README.md" categories = [ "development-tools::debugging", "development-tools::profiling", "asynchronous", ] keywords = ["opentelemetry", "otlp", "logging", "tracing", "metrics"] license = "Apache-2.0" edition = "2021" rust-version = "1.60" autotests = false [lib] doctest = false [[test]] name = "smoke" path = "tests/smoke.rs" required-features = ["integration-testing"] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [dependencies] async-trait = "0.1" futures = { version = "0.3", default-features = false, features = ["std"] } ts_opentelemetry_proto = { version = "0.3.0-beta.1", path = "../opentelemetry-proto", default-features = false } grpcio = { version = "0.12", optional = true } ts_opentelemetry_api = { version = "0.20.0-beta.1", default-features = false, path = "../opentelemetry-api" } ts_opentelemetry_sdk = { version = "0.20.0-beta.1", default-features = false, path = "../opentelemetry-sdk" } ts_opentelemetry_http = { version = "0.9.0-beta.1", path = "../opentelemetry-http", optional = true } ts_opentelemetry_semantic_conventions = { version = "0.12.0-beta.1", path = "../opentelemetry-semantic-conventions" } protobuf = { version = "2.18", optional = true } prost = { version = "0.11.0", optional = true } tonic = { version = "0.9.0", optional = true } tokio = { version = "1.0", features = ["sync", "rt"], optional = true } reqwest = { version = "0.11", optional = true, default-features = false } surf = { version = "2.0", optional = true, default-features = false } http = { version = "0.2", optional = true } serde = { version = "1.0", features = ["derive"], optional = true } thiserror = "1.0" [dev-dependencies] tokio-stream = { version = "0.1", features = ["net"] } # need tokio runtime to run smoke tests. ts_opentelemetry_sdk = { features = ["trace", "rt-tokio", "testing"], path = "../opentelemetry-sdk" } time = { version = "0.3", features = ["macros"] } tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] } [features] # telemetry pillars and functions trace = ["ts_opentelemetry_api/trace", "ts_opentelemetry_sdk/trace", "ts_opentelemetry_proto/traces"] metrics = ["ts_opentelemetry_api/metrics", "ts_opentelemetry_sdk/metrics", "ts_opentelemetry_proto/metrics", "grpc-tonic"] logs = ["ts_opentelemetry_api/logs", "ts_opentelemetry_sdk/logs", "ts_opentelemetry_proto/logs"] # add ons serialize = ["serde"] default = ["grpc-tonic", "trace"] # grpc using tonic grpc-tonic = ["tonic", "prost", "http", "tokio", "ts_opentelemetry_proto/gen-tonic"] tls = ["tonic/tls"] tls-roots = ["tls", "tonic/tls-roots"] # grpc using grpcio grpc-sys = ["grpcio", "ts_opentelemetry_proto/gen-protoc", "protobuf"] openssl = ["grpcio/openssl"] openssl-vendored = ["grpcio/openssl-vendored"] # http binary http-proto = ["prost", "ts_opentelemetry_http", "ts_opentelemetry_proto/gen-tonic-messages", "http", "trace", "metrics"] reqwest-blocking-client = ["reqwest/blocking", "ts_opentelemetry_http/reqwest"] reqwest-client = ["reqwest", "ts_opentelemetry_http/reqwest"] reqwest-rustls = ["reqwest", "reqwest/rustls-tls-native-roots"] surf-client = ["surf", "ts_opentelemetry_http/surf"] # test integration-testing = ["tonic", "prost", "tokio/full", "trace"]