forked from open-telemetry/opentelemetry-rust
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
88 lines (75 loc) · 3.5 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
[package]
name = "opentelemetry-otlp"
version = "0.29.0"
description = "Exporter for the OpenTelemetry Collector"
homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-otlp"
repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-otlp"
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.75.0"
autotests = false
[[test]]
name = "smoke"
path = "tests/smoke.rs"
required-features = ["integration-testing"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
futures-core = { workspace = true }
opentelemetry = { version = "0.29", default-features = false, path = "../opentelemetry" }
opentelemetry_sdk = { version = "0.29", default-features = false, path = "../opentelemetry-sdk" }
opentelemetry-http = { version = "0.29", path = "../opentelemetry-http", optional = true }
opentelemetry-proto = { version = "0.29", path = "../opentelemetry-proto", default-features = false }
tracing = {workspace = true, optional = true}
prost = { workspace = true, optional = true }
tonic = { workspace = true, optional = true }
tokio = { workspace = true, features = ["sync", "rt"], optional = true }
reqwest = { workspace = true, optional = true }
http = { workspace = true, optional = true }
serde = { workspace = true, features = ["derive"], optional = true }
thiserror = { workspace = true }
serde_json = { workspace = true, optional = true }
[dev-dependencies]
tokio-stream = { workspace = true, features = ["net"] }
# need tokio runtime to run smoke tests.
opentelemetry_sdk = { features = ["trace", "rt-tokio", "testing"], path = "../opentelemetry-sdk" }
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
futures-util = { workspace = true }
temp-env = { workspace = true }
tonic = { workspace = true, features = ["server"] }
[features]
# telemetry pillars and functions
trace = ["opentelemetry/trace", "opentelemetry_sdk/trace", "opentelemetry-proto/trace"]
metrics = ["opentelemetry/metrics", "opentelemetry_sdk/metrics", "opentelemetry-proto/metrics"]
logs = ["opentelemetry/logs", "opentelemetry_sdk/logs", "opentelemetry-proto/logs"]
internal-logs = ["tracing", "opentelemetry/internal-logs"]
# add ons
serialize = ["serde", "serde_json"]
default = ["http-proto", "reqwest-blocking-client", "trace", "metrics", "logs", "internal-logs"]
# grpc using tonic
grpc-tonic = ["tonic", "prost", "http", "tokio", "opentelemetry-proto/gen-tonic"]
gzip-tonic = ["tonic/gzip"]
zstd-tonic = ["tonic/zstd"]
tls = ["tonic/tls"]
tls-roots = ["tls", "tonic/tls-roots"]
tls-webpki-roots = ["tls", "tonic/tls-webpki-roots"]
# http binary
http-proto = ["prost", "opentelemetry-http", "opentelemetry-proto/gen-tonic-messages", "http", "trace", "metrics"]
http-json = ["serde_json", "prost", "opentelemetry-http", "opentelemetry-proto/gen-tonic-messages", "opentelemetry-proto/with-serde", "http", "trace", "metrics"]
reqwest-blocking-client = ["reqwest/blocking", "opentelemetry-http/reqwest"]
reqwest-client = ["reqwest", "opentelemetry-http/reqwest"]
reqwest-rustls = ["reqwest", "opentelemetry-http/reqwest-rustls"]
reqwest-rustls-webpki-roots = ["reqwest", "opentelemetry-http/reqwest-rustls-webpki-roots"]
hyper-client = ["opentelemetry-http/hyper"]
# test
integration-testing = ["tonic", "prost", "tokio/full", "trace", "logs"]
[lints]
workspace = true