From b3879b67810bf54ff2e172ec5ec6176af9f9ba75 Mon Sep 17 00:00:00 2001 From: Cijo Thomas Date: Fri, 24 Jan 2025 18:46:10 -0800 Subject: [PATCH] Minor fixes, stdout to print scope info for logs (#2563) --- .cspell.json | 1 + opentelemetry-stdout/src/logs/exporter.rs | 5 ++++- opentelemetry/Cargo.toml | 3 +-- opentelemetry/src/global/internal_logging.rs | 2 +- opentelemetry/src/global/metrics.rs | 1 + opentelemetry/src/global/trace.rs | 1 + 6 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.cspell.json b/.cspell.json index 676190a31f..bc3a488c8d 100644 --- a/.cspell.json +++ b/.cspell.json @@ -26,6 +26,7 @@ // workspace dictionary. "words": [ "actix", + "anyvalue", "appender", "appenders", "Bhasin", diff --git a/opentelemetry-stdout/src/logs/exporter.rs b/opentelemetry-stdout/src/logs/exporter.rs index b4b1c56d9e..da984b9843 100644 --- a/opentelemetry-stdout/src/logs/exporter.rs +++ b/opentelemetry-stdout/src/logs/exporter.rs @@ -75,7 +75,10 @@ impl opentelemetry_sdk::logs::LogExporter for LogExporter { fn print_logs(batch: LogBatch<'_>) { for (i, log) in batch.iter().enumerate() { println!("Log #{}", i); - let (record, _library) = log; + let (record, library) = log; + + println!("\t Instrumentation Scope: {:?}", library); + if let Some(event_name) = record.event_name() { println!("\t EventName: {:?}", event_name); } diff --git a/opentelemetry/Cargo.toml b/opentelemetry/Cargo.toml index 8175cf4412..6dbf7f2757 100644 --- a/opentelemetry/Cargo.toml +++ b/opentelemetry/Cargo.toml @@ -34,10 +34,9 @@ js-sys = "0.3.63" default = ["trace", "metrics", "logs", "internal-logs"] trace = ["pin-project-lite", "futures-sink", "futures-core", "thiserror"] metrics = [] -testing = ["trace", "metrics"] +testing = ["trace"] logs = [] spec_unstable_logs_enabled = ["logs"] -otel_unstable = [] internal-logs = ["tracing"] [dev-dependencies] diff --git a/opentelemetry/src/global/internal_logging.rs b/opentelemetry/src/global/internal_logging.rs index e27f43c693..dad083ac1f 100644 --- a/opentelemetry/src/global/internal_logging.rs +++ b/opentelemetry/src/global/internal_logging.rs @@ -1,7 +1,7 @@ #![allow(unused_macros)] /// /// **Note**: These macros (`otel_info!`, `otel_warn!`, `otel_debug!`, and `otel_error!`) are intended to be used -/// **internally within OpenTelemetry code** or for **custom exporters and processors**. They are not designed +/// **internally within OpenTelemetry code** or for **custom exporters, processors and other plugins**. They are not designed /// for general application logging and should not be used for that purpose. /// /// Macro for logging informational messages in OpenTelemetry. diff --git a/opentelemetry/src/global/metrics.rs b/opentelemetry/src/global/metrics.rs index 19ead8ac40..450ba2d3bc 100644 --- a/opentelemetry/src/global/metrics.rs +++ b/opentelemetry/src/global/metrics.rs @@ -15,6 +15,7 @@ fn global_meter_provider() -> &'static RwLock { /// Sets the given [`MeterProvider`] instance as the current global meter /// provider. +/// Libraries should NOT call this function. It is intended for applications/executables. /// /// **NOTE:** This function should be called before getting [`Meter`] instances via [`meter()`] or [`meter_with_scope()`]. Otherwise, you could get no-op [`Meter`] instances. pub fn set_meter_provider

(new_provider: P) diff --git a/opentelemetry/src/global/trace.rs b/opentelemetry/src/global/trace.rs index 8121e4fd9a..30018a576e 100644 --- a/opentelemetry/src/global/trace.rs +++ b/opentelemetry/src/global/trace.rs @@ -422,6 +422,7 @@ pub fn tracer_with_scope(scope: InstrumentationScope) -> BoxedTracer { /// It returns the [`TracerProvider`] instance that was previously mounted as global provider /// (e.g. [`NoopTracerProvider`] if a provider had not been set before). /// +/// Libraries should NOT call this function. It is intended for applications/executables. /// [`TracerProvider`]: crate::trace::TracerProvider pub fn set_tracer_provider(new_provider: P) -> GlobalTracerProvider where