Skip to content

Commit 1cde293

Browse files
committed
review comments
1 parent 0801867 commit 1cde293

File tree

6 files changed

+22
-27
lines changed

6 files changed

+22
-27
lines changed

opentelemetry-otlp/src/exporter/http/mod.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -309,11 +309,13 @@ impl OtlpHttpClient {
309309
spans: Vec<SpanData>,
310310
resource: &opentelemetry_proto::transform::common::tonic::ResourceAttributesWithSchema,
311311
) -> opentelemetry::trace::TraceResult<(Vec<u8>, &'static str)> {
312-
use opentelemetry_proto::tonic::collector::trace::v1::ExportTraceServiceRequest;
312+
use opentelemetry_proto::tonic::{
313+
collector::trace::v1::ExportTraceServiceRequest, trace::v1::ResourceSpans,
314+
};
313315

314316
let resource_spans = spans
315317
.into_iter()
316-
.map(|log_event| (log_event, resource).into())
318+
.map(|span| ResourceSpans::new(span, resource))
317319
.collect::<Vec<_>>();
318320

319321
let req = ExportTraceServiceRequest { resource_spans };

opentelemetry-otlp/src/exporter/tonic/trace.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use opentelemetry::trace::TraceError;
55
use opentelemetry_proto::tonic::collector::trace::v1::{
66
trace_service_client::TraceServiceClient, ExportTraceServiceRequest,
77
};
8+
use opentelemetry_proto::tonic::trace::v1::ResourceSpans;
89
use opentelemetry_sdk::export::trace::{ExportResult, SpanData, SpanExporter};
910
use tonic::{codegen::CompressionEncoding, service::Interceptor, transport::Channel, Request};
1011

@@ -74,8 +75,7 @@ impl SpanExporter for TonicTracesClient {
7475
let resource_spans = {
7576
batch
7677
.into_iter()
77-
.map(|log_data| (log_data, &self.resource))
78-
.map(Into::into)
78+
.map(|log_data| ResourceSpans::new(log_data, &self.resource))
7979
.collect()
8080
};
8181

opentelemetry-proto/src/transform/trace.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ pub mod tonic {
4545
}
4646
}
4747

48-
impl From<(SpanData, &ResourceAttributesWithSchema)> for ResourceSpans {
49-
fn from((source_span, resource): (SpanData, &ResourceAttributesWithSchema)) -> Self {
48+
impl ResourceSpans {
49+
pub fn new(source_span: SpanData, resource: &ResourceAttributesWithSchema) -> Self {
5050
let span_kind: span::SpanKind = source_span.span_kind.into();
5151
ResourceSpans {
5252
resource: Some(Resource {

opentelemetry-sdk/src/testing/trace/in_memory_exporter.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,9 @@ impl SpanExporter for InMemorySpanExporter {
147147
}
148148

149149
fn set_resource(&mut self, resource: &Resource) {
150-
let mut res_guard = self.resource.lock().expect("Resource lock poisoned");
151-
*res_guard = resource.clone();
150+
self.resource
151+
.lock()
152+
.map(|mut res_guard| *res_guard = resource.clone())
153+
.expect("Resource lock poisoned");
152154
}
153155
}

opentelemetry-stdout/src/trace/exporter.rs

+6-8
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,13 @@ impl Default for SpanExporter {
3838
impl opentelemetry_sdk::export::trace::SpanExporter for SpanExporter {
3939
fn export(&mut self, batch: Vec<export::trace::SpanData>) -> BoxFuture<'static, ExportResult> {
4040
let res = if let Some(writer) = &mut self.writer {
41-
(self.encoder)(
42-
writer,
43-
crate::trace::SpanData::from((batch, &self.resource)),
41+
(self.encoder)(writer, crate::trace::SpanData::new(batch, &self.resource)).and_then(
42+
|_| {
43+
writer
44+
.write_all(b"\n")
45+
.map_err(|err| TraceError::Other(Box::new(err)))
46+
},
4447
)
45-
.and_then(|_| {
46-
writer
47-
.write_all(b"\n")
48-
.map_err(|err| TraceError::Other(Box::new(err)))
49-
})
5048
} else {
5149
Err("exporter is shut down".into())
5250
};

opentelemetry-stdout/src/trace/transform.rs

+4-11
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,10 @@ pub struct SpanData {
99
resource_spans: Vec<ResourceSpans>,
1010
}
1111

12-
impl
13-
From<(
14-
Vec<opentelemetry_sdk::export::trace::SpanData>,
15-
&opentelemetry_sdk::Resource,
16-
)> for SpanData
17-
{
18-
fn from(
19-
(sdk_spans, sdk_resource): (
20-
Vec<opentelemetry_sdk::export::trace::SpanData>,
21-
&opentelemetry_sdk::Resource,
22-
),
12+
impl SpanData {
13+
pub(crate) fn new(
14+
sdk_spans: Vec<opentelemetry_sdk::export::trace::SpanData>,
15+
sdk_resource: &opentelemetry_sdk::Resource,
2316
) -> Self {
2417
let mut resource_spans = HashMap::<AttributeSet, ResourceSpans>::new();
2518
for sdk_span in sdk_spans {

0 commit comments

Comments
 (0)