opentelemetry-proto 0.3.0

Protobuf generated files and transformations.
Documentation
[package]
name = "opentelemetry-proto"
version = "0.3.0"
description = "Protobuf generated files and transformations."
homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-proto"
repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-proto"
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 = "grpc_build"
path = "tests/grpc_build.rs"

[features]
default = []

full = ["gen-tonic", "gen-protoc", "traces", "logs", "metrics", "zpages", "with-serde"]

# crates used to generate rs files
gen-tonic = ["gen-tonic-messages", "tonic/transport"]
gen-tonic-messages = ["tonic", "prost"]
gen-protoc = ["grpcio", "protobuf", "futures"]

# telemetry pillars and functions
traces = []
metrics = []
logs = []
zpages = ["traces"]

# add ons
with-serde = ["protobuf/with-serde", "serde"]

[dependencies]
grpcio = { version = "0.12", optional = true }
tonic = { version = "0.9.0", default-features = false, optional = true, features = ["codegen", "prost"] }
prost = { version = "0.11.0", optional = true }
protobuf = { version = "2.18", optional = true } # todo: update to 3.0 so we have docs for generated types.
opentelemetry_api = { version = "0.20", default-features = false, features = ["trace", "metrics", "logs"], path = "../opentelemetry-api" }
opentelemetry_sdk = { version = "0.20", default-features = false, features = ["trace", "metrics", "logs"], path = "../opentelemetry-sdk" }
futures = { version = "0.3", default-features = false, features = ["std"], optional = true } # cannot use futures-* crates as it's in generated code when working with grpcio
serde = { version = "1.0", optional = true }

[dev-dependencies]
protobuf-codegen = { version = "2.16" }
protoc-grpcio = { version = "3.0" }
tonic-build = { version = "0.9.0" }
prost-build = { version = "0.11.1" }
tempfile = "3.3.0"