From c841fbad6739790da7400b576224aebab3636cd1 Mon Sep 17 00:00:00 2001 From: Harold Dost Date: Wed, 22 Nov 2023 21:40:28 +0100 Subject: [PATCH] Fix up various problems opentelemetry-datadog * Need to have consistent dependencies. opentelemetry-user-events-metrics * Fix linting. opentelemetry-contrib * Fix linting. scripts: * Add crates to lint. * Disable tests for opentelemetry-datadog and opentelemetry-stackdriver until we have the next stable version. Signed-off-by: Harold Dost --- Cargo.toml | 4 ++ opentelemetry-contrib/Cargo.toml | 2 +- .../src/trace/exporter/jaeger_json.rs | 8 ++- opentelemetry-datadog/Cargo.toml | 2 +- .../examples/basic.rs | 2 +- scripts/lint.sh | 65 ++++++++----------- scripts/test.sh | 6 +- 7 files changed, 44 insertions(+), 45 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 88ecb078..437900be 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,6 +12,10 @@ members = [ # "opentelemetry-zpages", "examples/traceresponse", ] +exclude = [ + "opentelemetry-datadog", + "opentelemetry-stackdriver", +] resolver = "2" [profile.bench] diff --git a/opentelemetry-contrib/Cargo.toml b/opentelemetry-contrib/Cargo.toml index b860bc9c..8207ccc7 100644 --- a/opentelemetry-contrib/Cargo.toml +++ b/opentelemetry-contrib/Cargo.toml @@ -23,7 +23,7 @@ api = [] default = [] base64_format = ["base64", "binary_propagator"] binary_propagator = [] -jaeger_json_exporter = ["serde_json", "futures-core", "futures-util", "async-trait", "opentelemetry-semantic-conventions"] +jaeger_json_exporter = ["opentelemetry_sdk", "serde_json", "futures-core", "futures-util", "async-trait", "opentelemetry-semantic-conventions"] rt-tokio = ["tokio", "opentelemetry_sdk/rt-tokio"] rt-tokio-current-thread = ["tokio", "opentelemetry_sdk/rt-tokio-current-thread"] rt-async-std = ["async-std", "opentelemetry_sdk/rt-async-std"] diff --git a/opentelemetry-contrib/src/trace/exporter/jaeger_json.rs b/opentelemetry-contrib/src/trace/exporter/jaeger_json.rs index 38b25aa0..22ad2a60 100644 --- a/opentelemetry-contrib/src/trace/exporter/jaeger_json.rs +++ b/opentelemetry-contrib/src/trace/exporter/jaeger_json.rs @@ -4,7 +4,13 @@ use async_trait::async_trait; use futures_core::future::BoxFuture; use futures_util::FutureExt; -use opentelemetry::trace::{SpanId, TraceError}; +use opentelemetry::trace::SpanId; +#[cfg(any( + feature = "rt-tokio", + feature = "rt-async-std", + feature = "rt-tokio-current-thread" +))] +use opentelemetry::trace::TraceError; use opentelemetry_sdk::{ export::trace::{ExportResult, SpanData, SpanExporter}, runtime::RuntimeChannel, diff --git a/opentelemetry-datadog/Cargo.toml b/opentelemetry-datadog/Cargo.toml index abdd5204..93078f1e 100644 --- a/opentelemetry-datadog/Cargo.toml +++ b/opentelemetry-datadog/Cargo.toml @@ -46,7 +46,7 @@ base64 = "0.13" bytes = "1" futures-util = { version = "0.3", default-features = false, features = ["io"] } isahc = "1.4" -opentelemetry_sdk = { version = "0.21", features = ["trace", "testing"] } +opentelemetry_sdk = { git = "https://github.com/open-telemetry/opentelemetry-rust.git", branch = "main" , features = ["trace", "testing"] } [[example]] name = "datadog" diff --git a/opentelemetry-user-events-metrics/examples/basic.rs b/opentelemetry-user-events-metrics/examples/basic.rs index 83e52a38..9266b345 100644 --- a/opentelemetry-user-events-metrics/examples/basic.rs +++ b/opentelemetry-user-events-metrics/examples/basic.rs @@ -4,7 +4,7 @@ use opentelemetry::{ KeyValue, }; use opentelemetry_sdk::{ - metrics::{PeriodicReader, MeterProvider as SdkMeterProvider}, + metrics::{MeterProvider as SdkMeterProvider, PeriodicReader}, runtime, Resource, }; use opentelemetry_user_events_metrics::MetricsExporter; diff --git a/scripts/lint.sh b/scripts/lint.sh index f6b69701..3c19c88f 100755 --- a/scripts/lint.sh +++ b/scripts/lint.sh @@ -14,43 +14,30 @@ if rustup component add clippy; then `# Exit with a nonzero code if there are clippy warnings` \ -Dwarnings - cargo_feature opentelemetry "trace,metrics,logs,logs_level_enabled,testing" - - cargo_feature opentelemetry-otlp "default" - cargo_feature opentelemetry-otlp "default,tls" - cargo_feature opentelemetry-otlp "default,tls-roots" - cargo_feature opentelemetry-otlp "trace,grpc-sys" - cargo_feature opentelemetry-otlp "trace,grpc-sys,openssl" - cargo_feature opentelemetry-otlp "trace,grpc-sys,openssl-vendored" - cargo_feature opentelemetry-otlp "http-proto" - cargo_feature opentelemetry-otlp "http-proto, reqwest-blocking-client" - cargo_feature opentelemetry-otlp "http-proto, reqwest-client" - cargo_feature opentelemetry-otlp "http-proto, reqwest-rustls" - cargo_feature opentelemetry-otlp "http-proto, surf-client, surf/curl-client" - cargo_feature opentelemetry-otlp "metrics" - - cargo_feature opentelemetry-jaeger "surf_collector_client, surf/curl-client" - cargo_feature opentelemetry-jaeger "isahc_collector_client" - cargo_feature opentelemetry-jaeger "reqwest_blocking_collector_client" - cargo_feature opentelemetry-jaeger "reqwest_collector_client" - cargo_feature opentelemetry-jaeger "hyper_collector_client" - cargo_feature opentelemetry-jaeger "hyper_tls_collector_client" - cargo_feature opentelemetry-jaeger "collector_client" - cargo_feature opentelemetry-jaeger "wasm_collector_client" - cargo_feature opentelemetry-jaeger "collector_client, wasm_collector_client" - cargo_feature opentelemetry-jaeger "default" - - cargo_feature opentelemetry-proto "default" - cargo_feature opentelemetry-proto "full" - cargo_feature opentelemetry-proto "gen-tonic,trace" - cargo_feature opentelemetry-proto "gen-tonic,trace,with-serde" - cargo_feature opentelemetry-proto "gen-tonic,metrics" - cargo_feature opentelemetry-proto "gen-tonic,logs" - cargo_feature opentelemetry-proto "gen-grpcio,trace" - cargo_feature opentelemetry-proto "gen-grpcio,trace,with-serde" - cargo_feature opentelemetry-proto "gen-grpcio,metrics" - cargo_feature opentelemetry-proto "gen-grpcio,logs" - cargo_feature opentelemetry-proto "gen-grpcio,zpages" - cargo_feature opentelemetry-proto "gen-grpcio,zpages,with-serde" - + cargo_feature opentelemetry-aws "default" + +# TODO: Can re-enable once back in the workspace. +# cargo_feature opentelemetry-datadog "reqwest-blocking-client" +# cargo_feature opentelemetry-datadog "reqwest-client" +# cargo_feature opentelemetry-datadog "surf-client" + + cargo_feature opentelemetry-contrib "default" + cargo_feature opentelemetry-contrib "api" + cargo_feature opentelemetry-contrib "base64_format" + cargo_feature opentelemetry-contrib "binary_propagator" + cargo_feature opentelemetry-contrib "jaeger_json_exporter" + cargo_feature opentelemetry-contrib "rt-tokio" + cargo_feature opentelemetry-contrib "rt-tokio-current-thread" + cargo_feature opentelemetry-contrib "rt-async-std" + +# TODO: Can re-enable once back in the workspace. +# cargo_feature opentelemetry-stackdriver "default" +# cargo_feature opentelemetry-stackdriver "yup-authorizer" +# cargo_feature opentelemetry-stackdriver "tls-native-roots" +# cargo_feature opentelemetry-stackdriver "tls-webpki-roots" + + cargo_feature opentelemetry-user-events-logs "default" + cargo_feature opentelemetry-user-events-logs "logs_level_enabled" + + cargo_feature opentelemetry-user-events-metrics "" fi diff --git a/scripts/test.sh b/scripts/test.sh index 611f1714..b431df19 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -5,7 +5,9 @@ set -eu cargo test --all --all-features "$@" -- --test-threads=1 cargo test --manifest-path=opentelemetry-contrib/Cargo.toml --all-features -cargo test --manifest-path=opentelemetry-datadog/Cargo.toml --all-features -cargo test --manifest-path=opentelemetry-stackdriver/Cargo.toml --all-features +# TODO: Test like others when they're back in the workspace +#cargo test --manifest-path=opentelemetry-datadog/Cargo.toml --all-features +#cargo test --manifest-path=opentelemetry-stackdriver/Cargo.toml --all-features + cargo test --manifest-path=opentelemetry-user-events-logs/Cargo.toml --all-features cargo test --manifest-path=opentelemetry-user-events-metrics/Cargo.toml --all-features