diff --git a/opentelemetry-api/src/common.rs b/opentelemetry-api/src/common.rs index 8abbead44f..8a81514c28 100644 --- a/opentelemetry-api/src/common.rs +++ b/opentelemetry-api/src/common.rs @@ -272,17 +272,22 @@ pub struct InstrumentationLibrary { pub name: Cow<'static, str>, /// instrumentation library version, can be empty pub version: Option>, + /// [Schema url] of spans and their events. + /// + /// [Schema url]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/schemas/overview.md#schema-url + pub schema_url: Option>, } impl InstrumentationLibrary { /// Create an InstrumentationLibrary from name and version. - pub fn new(name: T, version: Option) -> InstrumentationLibrary + pub fn new(name: T, version: Option, schema_url: Option) -> InstrumentationLibrary where T: Into>, { InstrumentationLibrary { name: name.into(), version: version.map(Into::into), + schema_url: schema_url.map(Into::into), } } } diff --git a/opentelemetry-api/src/global/metrics.rs b/opentelemetry-api/src/global/metrics.rs index cdd0aac432..ec1a43cd79 100644 --- a/opentelemetry-api/src/global/metrics.rs +++ b/opentelemetry-api/src/global/metrics.rs @@ -14,8 +14,13 @@ pub struct GlobalMeterProvider { } impl MeterProvider for GlobalMeterProvider { - fn meter(&self, name: &'static str, version: Option<&'static str>) -> Meter { - self.provider.meter(name, version) + fn meter( + &self, + name: &'static str, + version: Option<&'static str>, + schema_url: Option<&'static str>, + ) -> Meter { + self.provider.meter(name, version, schema_url) } } @@ -58,10 +63,14 @@ pub fn meter_provider() -> GlobalMeterProvider { /// /// This is a more convenient way of expressing `global::meter_provider().meter(name)`. pub fn meter(name: &'static str) -> Meter { - meter_provider().meter(name, None) + meter_provider().meter(name, None, None) } /// Creates a [`Meter`] with the name and version. -pub fn meter_with_version(name: &'static str, version: &'static str) -> Meter { - meter_provider().meter(name, Some(version)) +pub fn meter_with_version( + name: &'static str, + version: &'static str, + schema_url: &'static str, +) -> Meter { + meter_provider().meter(name, Some(version), Some(schema_url)) } diff --git a/opentelemetry-api/src/metrics/config.rs b/opentelemetry-api/src/metrics/config.rs index 8d3501226d..710c3c2381 100644 --- a/opentelemetry-api/src/metrics/config.rs +++ b/opentelemetry-api/src/metrics/config.rs @@ -16,7 +16,7 @@ impl InstrumentConfig { InstrumentConfig { description: None, unit: None, - instrumentation_library: InstrumentationLibrary::new(instrumentation_name, None), + instrumentation_library: InstrumentationLibrary::new(instrumentation_name, None, None), } } @@ -24,6 +24,7 @@ impl InstrumentConfig { pub fn with_instrumentation>>( instrumentation_name: T, instrumentation_version: Option, + schema_url: Option, ) -> Self { InstrumentConfig { description: None, @@ -31,6 +32,7 @@ impl InstrumentConfig { instrumentation_library: InstrumentationLibrary::new( instrumentation_name, instrumentation_version, + schema_url, ), } } diff --git a/opentelemetry-api/src/metrics/counter.rs b/opentelemetry-api/src/metrics/counter.rs index 5c7b0f48c6..8a584c9eac 100644 --- a/opentelemetry-api/src/metrics/counter.rs +++ b/opentelemetry-api/src/metrics/counter.rs @@ -67,6 +67,7 @@ impl<'a, T> CounterBuilder<'a, T> { name, meter.instrumentation_library().name, meter.instrumentation_library().version, + meter.instrumentation_library().schema_url, InstrumentKind::Counter, number_kind, ), diff --git a/opentelemetry-api/src/metrics/descriptor.rs b/opentelemetry-api/src/metrics/descriptor.rs index 5d31ad511f..14bed98152 100644 --- a/opentelemetry-api/src/metrics/descriptor.rs +++ b/opentelemetry-api/src/metrics/descriptor.rs @@ -21,6 +21,7 @@ impl Descriptor { name: String, instrumentation_name: T, instrumentation_version: Option, + schema_url: Option, instrument_kind: InstrumentKind, number_kind: NumberKind, ) -> Self { @@ -32,8 +33,11 @@ impl Descriptor { instrumentation_version.as_ref().hash(&mut hasher); instrument_kind.hash(&mut hasher); number_kind.hash(&mut hasher); - let config = - InstrumentConfig::with_instrumentation(instrumentation_name, instrumentation_version); + let config = InstrumentConfig::with_instrumentation( + instrumentation_name, + instrumentation_version.map(Into::into), + schema_url.map(Into::into), + ); Descriptor { name, @@ -80,11 +84,6 @@ impl Descriptor { self.config.instrumentation_name() } - /// The version of library that provided instrumentation for this instrument. Optional - pub fn instrumentation_version(&self) -> Option> { - self.config.instrumentation_version() - } - /// Instrumentation library reference pub fn instrumentation_library(&self) -> &InstrumentationLibrary { &self.config.instrumentation_library diff --git a/opentelemetry-api/src/metrics/histogram.rs b/opentelemetry-api/src/metrics/histogram.rs index 2be6603a80..461ec26778 100644 --- a/opentelemetry-api/src/metrics/histogram.rs +++ b/opentelemetry-api/src/metrics/histogram.rs @@ -67,6 +67,7 @@ impl<'a, T> HistogramBuilder<'a, T> { name, meter.instrumentation_library().name, meter.instrumentation_library().version, + meter.instrumentation_library().schema_url, InstrumentKind::Histogram, number_kind, ), diff --git a/opentelemetry-api/src/metrics/meter.rs b/opentelemetry-api/src/metrics/meter.rs index ed48ed251f..be58c37532 100644 --- a/opentelemetry-api/src/metrics/meter.rs +++ b/opentelemetry-api/src/metrics/meter.rs @@ -1,3 +1,4 @@ +use std::borrow::Cow; use std::fmt; use std::sync::Arc; @@ -23,6 +24,7 @@ pub trait MeterProvider: fmt::Debug { &self, instrumentation_name: &'static str, instrumentation_version: Option<&'static str>, + schema_url: Option<&'static str>, ) -> Meter; } @@ -48,15 +50,17 @@ pub struct Meter { impl Meter { /// Create a new named meter from a sdk implemented core - pub fn new>( + pub fn new>>( instrumentation_name: T, instrumentation_version: Option, + schema_url: Option, core: Arc, ) -> Self { Meter { instrumentation_library: InstrumentationLibrary::new( instrumentation_name.into(), instrumentation_version.map(Into::into), + schema_url.map(Into::into), ), core, } diff --git a/opentelemetry-api/src/metrics/noop.rs b/opentelemetry-api/src/metrics/noop.rs index 39abcdd7b6..14aa71310a 100644 --- a/opentelemetry-api/src/metrics/noop.rs +++ b/opentelemetry-api/src/metrics/noop.rs @@ -18,7 +18,7 @@ use std::any::Any; use std::sync::Arc; lazy_static::lazy_static! { - static ref NOOP_DESCRIPTOR: Descriptor = Descriptor::new(String::new(), "noop", None, InstrumentKind::Counter, NumberKind::U64); + static ref NOOP_DESCRIPTOR: Descriptor = Descriptor::new(String::new(), "noop", None, None, InstrumentKind::Counter, NumberKind::U64); } /// A no-op instance of a `MetricProvider` @@ -35,8 +35,13 @@ impl NoopMeterProvider { } impl MeterProvider for NoopMeterProvider { - fn meter(&self, name: &'static str, version: Option<&'static str>) -> Meter { - Meter::new(name, version, Arc::new(NoopMeterCore::new())) + fn meter( + &self, + name: &'static str, + version: Option<&'static str>, + schema_url: Option<&'static str>, + ) -> Meter { + Meter::new(name, version, schema_url, Arc::new(NoopMeterCore::new())) } } diff --git a/opentelemetry-api/src/metrics/observer.rs b/opentelemetry-api/src/metrics/observer.rs index f46d21b4ea..34144b3798 100644 --- a/opentelemetry-api/src/metrics/observer.rs +++ b/opentelemetry-api/src/metrics/observer.rs @@ -113,6 +113,7 @@ impl<'a, T> SumObserverBuilder<'a, T> { name, meter.instrumentation_library().name, meter.instrumentation_library().version, + meter.instrumentation_library().schema_url, InstrumentKind::SumObserver, number_kind, ), @@ -206,6 +207,7 @@ impl<'a, T> UpDownSumObserverBuilder<'a, T> { name, meter.instrumentation_library().name, meter.instrumentation_library().version, + meter.instrumentation_library().schema_url, InstrumentKind::UpDownSumObserver, number_kind, ), @@ -298,6 +300,7 @@ impl<'a, T> ValueObserverBuilder<'a, T> { name, meter.instrumentation_library().name, meter.instrumentation_library().version, + meter.instrumentation_library().schema_url, InstrumentKind::ValueObserver, number_kind, ), diff --git a/opentelemetry-api/src/metrics/registry.rs b/opentelemetry-api/src/metrics/registry.rs index 274342c266..023664a8b9 100644 --- a/opentelemetry-api/src/metrics/registry.rs +++ b/opentelemetry-api/src/metrics/registry.rs @@ -20,8 +20,13 @@ pub fn meter_provider(core: Arc) -> RegistryMeterPr pub struct RegistryMeterProvider(Arc); impl MeterProvider for RegistryMeterProvider { - fn meter(&self, name: &'static str, version: Option<&'static str>) -> Meter { - Meter::new(name, version, self.0.clone()) + fn meter( + &self, + name: &'static str, + version: Option<&'static str>, + schema_url: Option<&'static str>, + ) -> Meter { + Meter::new(name, version, schema_url, self.0.clone()) } } diff --git a/opentelemetry-api/src/metrics/up_down_counter.rs b/opentelemetry-api/src/metrics/up_down_counter.rs index fe12474859..39811ebaf2 100644 --- a/opentelemetry-api/src/metrics/up_down_counter.rs +++ b/opentelemetry-api/src/metrics/up_down_counter.rs @@ -67,6 +67,7 @@ impl<'a, T> UpDownCounterBuilder<'a, T> { name, meter.instrumentation_library().name, meter.instrumentation_library().version, + meter.instrumentation_library().schema_url, InstrumentKind::UpDownCounter, number_kind, ), diff --git a/opentelemetry-api/src/metrics/value_recorder.rs b/opentelemetry-api/src/metrics/value_recorder.rs index c46d78da79..7ef383b4d3 100644 --- a/opentelemetry-api/src/metrics/value_recorder.rs +++ b/opentelemetry-api/src/metrics/value_recorder.rs @@ -67,6 +67,7 @@ impl<'a, T> ValueRecorderBuilder<'a, T> { name, meter.instrumentation_library().name, meter.instrumentation_library().version, + meter.instrumentation_library().schema_url, InstrumentKind::Histogram, number_kind, ), diff --git a/opentelemetry-datadog/src/exporter/model/mod.rs b/opentelemetry-datadog/src/exporter/model/mod.rs index ac18a4b458..cc99378698 100644 --- a/opentelemetry-datadog/src/exporter/model/mod.rs +++ b/opentelemetry-datadog/src/exporter/model/mod.rs @@ -118,8 +118,7 @@ pub(crate) mod tests { status_code: StatusCode::Ok, status_message: "".into(), resource: None, - instrumentation_lib: InstrumentationLibrary::new("component", None), - schema_url: "", + instrumentation_lib: InstrumentationLibrary::new("component", None, None), } } diff --git a/opentelemetry-dynatrace/src/transform/metrics.rs b/opentelemetry-dynatrace/src/transform/metrics.rs index 1dc4b1fa28..f0aca6ffdf 100644 --- a/opentelemetry-dynatrace/src/transform/metrics.rs +++ b/opentelemetry-dynatrace/src/transform/metrics.rs @@ -776,6 +776,7 @@ mod tests { "test_array".to_string(), "test", None, + None, InstrumentKind::Counter, NumberKind::I64, ); @@ -867,6 +868,7 @@ mod tests { "test_sum".to_string(), "test", None, + None, InstrumentKind::Counter, NumberKind::I64, ); @@ -978,6 +980,7 @@ mod tests { "test_last_value".to_string(), "test", None, + None, InstrumentKind::ValueObserver, NumberKind::I64, ); @@ -1044,6 +1047,7 @@ mod tests { "test_min_max_sum_count".to_string(), "test", None, + None, InstrumentKind::UpDownSumObserver, NumberKind::I64, ); @@ -1112,6 +1116,7 @@ mod tests { "test_histogram".to_string(), "test", None, + None, InstrumentKind::Histogram, NumberKind::I64, ); diff --git a/opentelemetry-otlp/src/metric.rs b/opentelemetry-otlp/src/metric.rs index 60350abf86..95bd07667b 100644 --- a/opentelemetry-otlp/src/metric.rs +++ b/opentelemetry-otlp/src/metric.rs @@ -315,7 +315,16 @@ impl Exporter for MetricsExporter { record.resource().clone().into(), InstrumentationLibrary::new( record.descriptor().instrumentation_name(), - record.descriptor().instrumentation_version(), + record + .descriptor() + .instrumentation_library() + .version + .clone(), + record + .descriptor() + .instrumentation_library() + .schema_url + .clone(), ), metrics, )); diff --git a/opentelemetry-otlp/src/transform/metrics.rs b/opentelemetry-otlp/src/transform/metrics.rs index b6bef09c4a..a6b6204ec9 100644 --- a/opentelemetry-otlp/src/transform/metrics.rs +++ b/opentelemetry-otlp/src/transform/metrics.rs @@ -483,6 +483,7 @@ mod tests { "test".to_string(), "test", None, + None, InstrumentKind::Counter, NumberKind::I64, ); @@ -527,6 +528,7 @@ mod tests { "test".to_string(), "test", None, + None, InstrumentKind::ValueObserver, NumberKind::I64, ); @@ -578,6 +580,7 @@ mod tests { "test".to_string(), "test", None, + None, InstrumentKind::UpDownSumObserver, NumberKind::I64, ); @@ -626,6 +629,7 @@ mod tests { "test".to_string(), "test", None, + None, InstrumentKind::Histogram, NumberKind::I64, ); @@ -713,7 +717,7 @@ mod tests { ResourceWrapper::from(Resource::new(kvs.into_iter().map(|(k, v)| { opentelemetry::KeyValue::new(k.to_string(), v.to_string()) }))), - InstrumentationLibrary::new(name, version), + InstrumentationLibrary::new(name, version, None), get_metric_with_name( metric_name, vec![(attributes, start_time, end_time, value)], diff --git a/opentelemetry-prometheus/tests/integration_test.rs b/opentelemetry-prometheus/tests/integration_test.rs index 1cfb25bfb0..fc951edc83 100644 --- a/opentelemetry-prometheus/tests/integration_test.rs +++ b/opentelemetry-prometheus/tests/integration_test.rs @@ -15,7 +15,7 @@ fn free_unused_instruments() { let mut expected = Vec::new(); { - let meter = exporter.provider().unwrap().meter("test", None); + let meter = exporter.provider().unwrap().meter("test", None, None); let counter = meter.f64_counter("counter").init(); let attributes = vec![KeyValue::new("A", "B"), KeyValue::new("C", "D")]; @@ -38,7 +38,7 @@ fn batch() { let exporter = opentelemetry_prometheus::exporter() .with_resource(Resource::new(vec![KeyValue::new("R", "V")])) .init(); - let meter = exporter.provider().unwrap().meter("test", None); + let meter = exporter.provider().unwrap().meter("test", None, None); let mut expected = Vec::new(); meter.batch_observer(|batch| { @@ -68,7 +68,7 @@ fn test_add() { .with_resource(Resource::new(vec![KeyValue::new("R", "V")])) .init(); - let meter = exporter.provider().unwrap().meter("test", None); + let meter = exporter.provider().unwrap().meter("test", None, None); let up_down_counter = meter.f64_up_down_counter("updowncounter").init(); let counter = meter.f64_counter("counter").init(); @@ -120,7 +120,7 @@ fn test_sanitization() { "Test Service", )])) .init(); - let meter = exporter.provider().unwrap().meter("test", None); + let meter = exporter.provider().unwrap().meter("test", None, None); let histogram = meter.f64_histogram("http.server.duration").init(); let attributes = vec![ diff --git a/opentelemetry-proto/src/transform/common.rs b/opentelemetry-proto/src/transform/common.rs index 374fa8b506..590ee0e31b 100644 --- a/opentelemetry-proto/src/transform/common.rs +++ b/opentelemetry-proto/src/transform/common.rs @@ -89,9 +89,20 @@ pub mod tonic { #[cfg(feature = "gen-protoc")] pub mod grpcio { - use crate::proto::grpcio::common::{AnyValue, ArrayValue, KeyValue}; + use crate::proto::grpcio::common::{AnyValue, ArrayValue, InstrumentationLibrary, KeyValue}; use opentelemetry::{sdk::trace::EvictedHashMap, Array, Value}; use protobuf::RepeatedField; + use std::borrow::Cow; + + impl From for InstrumentationLibrary { + fn from(library: opentelemetry::sdk::InstrumentationLibrary) -> Self { + InstrumentationLibrary { + name: library.name.to_string(), + version: library.version.unwrap_or(Cow::Borrowed("")).to_string(), + ..Default::default() + } + } + } pub struct Attributes(pub ::protobuf::RepeatedField); diff --git a/opentelemetry-proto/src/transform/traces.rs b/opentelemetry-proto/src/transform/traces.rs index 7b5a1fc42d..638c7058fb 100644 --- a/opentelemetry-proto/src/transform/traces.rs +++ b/opentelemetry-proto/src/transform/traces.rs @@ -58,8 +58,13 @@ pub mod tonic { }), schema_url: "".to_string(), // todo: replace with actual schema url. instrumentation_library_spans: vec![InstrumentationLibrarySpans { - instrumentation_library: Default::default(), - schema_url: source_span.schema_url.into(), + schema_url: source_span + .instrumentation_lib + .schema_url + .as_ref() + .map(ToString::to_string) + .unwrap_or_else(|| "".to_string()), + instrumentation_library: Some(source_span.instrumentation_lib.into()), spans: vec![Span { trace_id: source_span.span_context.trace_id().to_bytes().to_vec(), span_id: source_span.span_context.span_id().to_bytes().to_vec(), @@ -172,7 +177,15 @@ pub mod grpcio { })), instrumentation_library_spans: RepeatedField::from_vec(vec![ InstrumentationLibrarySpans { - instrumentation_library: Default::default(), + schema_url: source_span + .instrumentation_lib + .schema_url + .as_ref() + .map(ToString::to_string) + .unwrap_or_else(|| "".to_string()), + instrumentation_library: protobuf::SingularPtrField::some( + source_span.instrumentation_lib.into(), + ), spans: RepeatedField::from_vec(vec![Span { trace_id: source_span.span_context.trace_id().to_bytes().to_vec(), span_id: source_span.span_context.span_id().to_bytes().to_vec(), diff --git a/opentelemetry-sdk/benches/batch_span_processor.rs b/opentelemetry-sdk/benches/batch_span_processor.rs index fda9f84daf..2fb6a26cad 100644 --- a/opentelemetry-sdk/benches/batch_span_processor.rs +++ b/opentelemetry-sdk/benches/batch_span_processor.rs @@ -33,7 +33,6 @@ fn get_span_data() -> Vec { status_message: Default::default(), resource: None, instrumentation_lib: Default::default(), - schema_url: "", }) .collect::>() } diff --git a/opentelemetry-sdk/benches/ddsketch.rs b/opentelemetry-sdk/benches/ddsketch.rs index d533e941cc..ec64c79b8b 100644 --- a/opentelemetry-sdk/benches/ddsketch.rs +++ b/opentelemetry-sdk/benches/ddsketch.rs @@ -22,6 +22,7 @@ fn ddsketch(data: Vec) { "test".to_string(), "test", None, + None, InstrumentKind::Histogram, NumberKind::F64, ); @@ -43,6 +44,7 @@ fn array(data: Vec) { "test".to_string(), "test", None, + None, InstrumentKind::Histogram, NumberKind::F64, ); diff --git a/opentelemetry-sdk/benches/metric.rs b/opentelemetry-sdk/benches/metric.rs index 13de797111..aab933acfc 100644 --- a/opentelemetry-sdk/benches/metric.rs +++ b/opentelemetry-sdk/benches/metric.rs @@ -135,7 +135,7 @@ impl Processor for BenchProcessor { fn build_meter() -> Meter { let processor = Arc::new(BenchProcessor::default()); let core = accumulator(processor).build(); - Meter::new("benches", None, Arc::new(core)) + Meter::new("benches", None, None, Arc::new(core)) } criterion_group!(benches, counters); diff --git a/opentelemetry-sdk/src/export/trace/mod.rs b/opentelemetry-sdk/src/export/trace/mod.rs index 544492726c..2fe904419c 100644 --- a/opentelemetry-sdk/src/export/trace/mod.rs +++ b/opentelemetry-sdk/src/export/trace/mod.rs @@ -80,8 +80,4 @@ pub struct SpanData { pub resource: Option>, /// Instrumentation library that produced this span pub instrumentation_lib: crate::InstrumentationLibrary, - /// [Schema url] of this span and it's events - /// - /// [Schema url]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/schemas/overview.md#schema-url - pub schema_url: &'static str, } diff --git a/opentelemetry-sdk/src/metrics/aggregators/ddsketch.rs b/opentelemetry-sdk/src/metrics/aggregators/ddsketch.rs index 0f30c68687..11401c1b44 100644 --- a/opentelemetry-sdk/src/metrics/aggregators/ddsketch.rs +++ b/opentelemetry-sdk/src/metrics/aggregators/ddsketch.rs @@ -692,6 +692,7 @@ mod tests { "test".to_string(), "test", None, + None, InstrumentKind::Histogram, kind.clone(), ); @@ -833,6 +834,7 @@ mod tests { "test".to_string(), "test", None, + None, InstrumentKind::Histogram, kind.clone(), ); diff --git a/opentelemetry-sdk/src/metrics/mod.rs b/opentelemetry-sdk/src/metrics/mod.rs index 4268e866a2..7859771cb0 100644 --- a/opentelemetry-sdk/src/metrics/mod.rs +++ b/opentelemetry-sdk/src/metrics/mod.rs @@ -617,7 +617,7 @@ mod tests { Box::new(ExportKindSelector::Delta), ) .build(); - let meter = controller.provider().meter("test", None); + let meter = controller.provider().meter("test", None, None); let counter = meter.f64_counter("test").init(); println!("{:?}, {:?}, {:?}", controller, meter, counter); } diff --git a/opentelemetry-sdk/src/testing/trace.rs b/opentelemetry-sdk/src/testing/trace.rs index 27f21a5623..bfe3bf07d0 100644 --- a/opentelemetry-sdk/src/testing/trace.rs +++ b/opentelemetry-sdk/src/testing/trace.rs @@ -28,7 +28,6 @@ pub fn new_test_export_span_data() -> SpanData { status_message: "".into(), resource: config.resource, instrumentation_lib: InstrumentationLibrary::default(), - schema_url: "", } } diff --git a/opentelemetry-sdk/src/trace/provider.rs b/opentelemetry-sdk/src/trace/provider.rs index 12d8ab3836..3c1f267929 100644 --- a/opentelemetry-sdk/src/trace/provider.rs +++ b/opentelemetry-sdk/src/trace/provider.rs @@ -89,10 +89,13 @@ impl opentelemetry_api::trace::TracerProvider for TracerProvider { } else { name }; - let instrumentation_lib = - InstrumentationLibrary::new(component_name, version.map(Into::into)); + let instrumentation_lib = InstrumentationLibrary::new( + component_name, + version.map(Into::into), + schema_url.map(Into::into), + ); - Tracer::new(instrumentation_lib, Arc::downgrade(&self.inner), schema_url) + Tracer::new(instrumentation_lib, Arc::downgrade(&self.inner)) } /// Force flush all remaining spans in span processors and return results. diff --git a/opentelemetry-sdk/src/trace/span.rs b/opentelemetry-sdk/src/trace/span.rs index a2f05ec543..bd3909d80a 100644 --- a/opentelemetry-sdk/src/trace/span.rs +++ b/opentelemetry-sdk/src/trace/span.rs @@ -246,7 +246,6 @@ fn build_export_data( status_message: data.status_message, resource, instrumentation_lib: tracer.instrumentation_library().clone(), - schema_url: tracer.schema_url(), } } diff --git a/opentelemetry-sdk/src/trace/tracer.rs b/opentelemetry-sdk/src/trace/tracer.rs index 7d6ad80aea..652eac2b71 100644 --- a/opentelemetry-sdk/src/trace/tracer.rs +++ b/opentelemetry-sdk/src/trace/tracer.rs @@ -29,7 +29,6 @@ use std::sync::Weak; #[derive(Clone)] pub struct Tracer { instrumentation_lib: InstrumentationLibrary, - schema_url: Option<&'static str>, provider: Weak, } @@ -40,7 +39,6 @@ impl fmt::Debug for Tracer { f.debug_struct("Tracer") .field("name", &self.instrumentation_lib.name) .field("version", &self.instrumentation_lib.version) - .field("schema_url", &self.schema_url) .finish() } } @@ -50,12 +48,10 @@ impl Tracer { pub(crate) fn new( instrumentation_lib: InstrumentationLibrary, provider: Weak, - schema_url: Option<&'static str>, ) -> Self { Tracer { instrumentation_lib, provider, - schema_url, } } @@ -69,15 +65,6 @@ impl Tracer { &self.instrumentation_lib } - /// [Schema url] of all the spans created by this tracer. - /// - /// If no schema url was provided to tracer, it will return empty string - /// - /// [Schema url]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/schemas/overview.md#schema-url - pub(crate) fn schema_url(&self) -> &'static str { - self.schema_url.unwrap_or("") - } - /// Make a sampling decision using the provided sampler for the span and context. #[allow(clippy::too_many_arguments)] fn make_sampling_decision( diff --git a/opentelemetry-zipkin/src/exporter/model/span.rs b/opentelemetry-zipkin/src/exporter/model/span.rs index 2289cf40aa..e1eea8b7eb 100644 --- a/opentelemetry-zipkin/src/exporter/model/span.rs +++ b/opentelemetry-zipkin/src/exporter/model/span.rs @@ -179,7 +179,6 @@ mod tests { status_message: status_msg.into(), resource: None, instrumentation_lib: Default::default(), - schema_url: "", }; let local_endpoint = Endpoint::new("test".into(), None); let span = into_zipkin_span(local_endpoint, span_data);