Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion opentelemetry-otlp/src/exporter/http/logs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,24 @@
}

let request_uri = request.uri().to_string();
otel_debug!(name: "HttpLogsClient.CallingExport");
otel_debug!(name: "HttpLogsClient.ExportStarted");

Check warning on line 33 in opentelemetry-otlp/src/exporter/http/logs.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/http/logs.rs#L33

Added line #L33 was not covered by tests
let response = client
.send_bytes(request)
.await
.map_err(|e| OTelSdkError::InternalFailure(format!("{e:?}")))?;

if !response.status().is_success() {
let error = format!(
"OpenTelemetry logs export failed. Url: {}, Status Code: {}, Response: {:?}",
request_uri,
response.status().as_u16(),
response.body()
);
otel_debug!(name: "HttpLogsClient.ExportFailed", error = &error);

Check warning on line 46 in opentelemetry-otlp/src/exporter/http/logs.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/http/logs.rs#L46

Added line #L46 was not covered by tests
return Err(OTelSdkError::InternalFailure(error));
}

otel_debug!(name: "HttpLogsClient.ExportSucceeded");

Check warning on line 50 in opentelemetry-otlp/src/exporter/http/logs.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/http/logs.rs#L49-L50

Added lines #L49 - L50 were not covered by tests
Ok(())
}

Expand Down
29 changes: 23 additions & 6 deletions opentelemetry-otlp/src/exporter/http/metrics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,30 @@
request.headers_mut().insert(k.clone(), v.clone());
}

otel_debug!(name: "HttpMetricsClient.CallingExport");
client
.send_bytes(request)
.await
.map_err(|e| OTelSdkError::InternalFailure(format!("{e:?}")))?;
otel_debug!(name: "HttpMetricsClient.ExportStarted");
let result = client.send_bytes(request).await;

Check warning on line 37 in opentelemetry-otlp/src/exporter/http/metrics.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/http/metrics.rs#L36-L37

Added lines #L36 - L37 were not covered by tests

Ok(())
match result {
Ok(response) => {
if response.status().is_success() {
otel_debug!(name: "HttpMetricsClient.ExportSucceeded");
Ok(())

Check warning on line 43 in opentelemetry-otlp/src/exporter/http/metrics.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/http/metrics.rs#L39-L43

Added lines #L39 - L43 were not covered by tests
} else {
let error = format!(
"OpenTelemetry metrics export failed. Status Code: {}, Response: {:?}",
response.status().as_u16(),
response.body()
);
otel_debug!(name: "HttpMetricsClient.ExportFailed", error = &error);
Err(OTelSdkError::InternalFailure(error))

Check warning on line 51 in opentelemetry-otlp/src/exporter/http/metrics.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/http/metrics.rs#L45-L51

Added lines #L45 - L51 were not covered by tests
}
}
Err(e) => {
let error = format!("{e:?}");
otel_debug!(name: "HttpMetricsClient.ExportFailed", error = &error);
Err(OTelSdkError::InternalFailure(error))

Check warning on line 57 in opentelemetry-otlp/src/exporter/http/metrics.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/http/metrics.rs#L54-L57

Added lines #L54 - L57 were not covered by tests
}
}
}

fn shutdown(&self) -> OTelSdkResult {
Expand Down
6 changes: 4 additions & 2 deletions opentelemetry-otlp/src/exporter/http/trace.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
}

let request_uri = request.uri().to_string();
otel_debug!(name: "HttpTracesClient.CallingExport");
otel_debug!(name: "HttpTracesClient.ExportStarted");

Check warning on line 45 in opentelemetry-otlp/src/exporter/http/trace.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/http/trace.rs#L45

Added line #L45 was not covered by tests
let response = client
.send_bytes(request)
.await
Expand All @@ -51,13 +51,15 @@
if !response.status().is_success() {
let error = format!(
"OpenTelemetry trace export failed. Url: {}, Status Code: {}, Response: {:?}",
response.status().as_u16(),
request_uri,
response.status().as_u16(),

Check warning on line 55 in opentelemetry-otlp/src/exporter/http/trace.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/http/trace.rs#L55

Added line #L55 was not covered by tests
response.body()
);
otel_debug!(name: "HttpTracesClient.ExportFailed", error = &error);

Check warning on line 58 in opentelemetry-otlp/src/exporter/http/trace.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/http/trace.rs#L58

Added line #L58 was not covered by tests
return Err(OTelSdkError::InternalFailure(error));
}

otel_debug!(name: "HttpTracesClient.ExportSucceeded");

Check warning on line 62 in opentelemetry-otlp/src/exporter/http/trace.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/http/trace.rs#L62

Added line #L62 was not covered by tests
Ok(())
}

Expand Down
20 changes: 15 additions & 5 deletions opentelemetry-otlp/src/exporter/tonic/logs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -72,17 +72,27 @@

let resource_logs = group_logs_by_resource_and_scope(batch, &self.resource);

otel_debug!(name: "TonicsLogsClient.CallingExport");
otel_debug!(name: "TonicLogsClient.ExportStarted");

Check warning on line 75 in opentelemetry-otlp/src/exporter/tonic/logs.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/logs.rs#L75

Added line #L75 was not covered by tests

client
let result = client

Check warning on line 77 in opentelemetry-otlp/src/exporter/tonic/logs.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/logs.rs#L77

Added line #L77 was not covered by tests
.export(Request::from_parts(
metadata,
extensions,
ExportLogsServiceRequest { resource_logs },
))
.await
.map_err(|e| OTelSdkError::InternalFailure(format!("export error: {:?}", e)))?;
Ok(())
.await;

Check warning on line 83 in opentelemetry-otlp/src/exporter/tonic/logs.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/logs.rs#L83

Added line #L83 was not covered by tests

match result {

Check warning on line 85 in opentelemetry-otlp/src/exporter/tonic/logs.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/logs.rs#L85

Added line #L85 was not covered by tests
Ok(_) => {
otel_debug!(name: "TonicLogsClient.ExportSucceeded");
Ok(())

Check warning on line 88 in opentelemetry-otlp/src/exporter/tonic/logs.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/logs.rs#L87-L88

Added lines #L87 - L88 were not covered by tests
}
Err(e) => {
let error = format!("export error: {:?}", e);
Copy link
Contributor

@utpilla utpilla May 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice to do something similar to what you have for the Http clients which is using the error/status code and message/response:

Suggested change
let error = format!("export error: {:?}", e);
let error = format!(
"OpenTelemetry logs export failed. Status Code: {}, Message: {:?}",
e.code(),
e.message()
);

otel_debug!(name: "TonicLogsClient.ExportFailed", error = &error);
Err(OTelSdkError::InternalFailure(error))

Check warning on line 93 in opentelemetry-otlp/src/exporter/tonic/logs.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/logs.rs#L90-L93

Added lines #L90 - L93 were not covered by tests
}
}
}

fn shutdown_with_timeout(&self, _timeout: time::Duration) -> OTelSdkResult {
Expand Down
19 changes: 14 additions & 5 deletions opentelemetry-otlp/src/exporter/tonic/metrics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -75,18 +75,27 @@
)),
})?;

otel_debug!(name: "TonicsMetricsClient.CallingExport");
otel_debug!(name: "TonicMetricsClient.ExportStarted");

Check warning on line 78 in opentelemetry-otlp/src/exporter/tonic/metrics.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/metrics.rs#L78

Added line #L78 was not covered by tests

client
let result = client

Check warning on line 80 in opentelemetry-otlp/src/exporter/tonic/metrics.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/metrics.rs#L80

Added line #L80 was not covered by tests
.export(Request::from_parts(
metadata,
extensions,
ExportMetricsServiceRequest::from(metrics),
))
.await
.map_err(|e| OTelSdkError::InternalFailure(format!("{e:?}")))?;
.await;

Check warning on line 86 in opentelemetry-otlp/src/exporter/tonic/metrics.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/metrics.rs#L86

Added line #L86 was not covered by tests

Ok(())
match result {

Check warning on line 88 in opentelemetry-otlp/src/exporter/tonic/metrics.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/metrics.rs#L88

Added line #L88 was not covered by tests
Ok(_) => {
otel_debug!(name: "TonicMetricsClient.ExportSucceeded");
Ok(())

Check warning on line 91 in opentelemetry-otlp/src/exporter/tonic/metrics.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/metrics.rs#L90-L91

Added lines #L90 - L91 were not covered by tests
}
Err(e) => {
let error = format!("{e:?}");
otel_debug!(name: "TonicMetricsClient.ExportFailed", error = &error);
Err(OTelSdkError::InternalFailure(error))

Check warning on line 96 in opentelemetry-otlp/src/exporter/tonic/metrics.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/metrics.rs#L93-L96

Added lines #L93 - L96 were not covered by tests
}
}
}

fn shutdown(&self) -> OTelSdkResult {
Expand Down
20 changes: 15 additions & 5 deletions opentelemetry-otlp/src/exporter/tonic/trace.rs
Original file line number Diff line number Diff line change
Expand Up @@ -76,17 +76,27 @@

let resource_spans = group_spans_by_resource_and_scope(batch, &self.resource);

otel_debug!(name: "TonicsTracesClient.CallingExport");
otel_debug!(name: "TonicTracesClient.ExportStarted");

Check warning on line 79 in opentelemetry-otlp/src/exporter/tonic/trace.rs

View check run for this annotation

Codecov / codecov/patch

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

Added line #L79 was not covered by tests

client
let result = client

Check warning on line 81 in opentelemetry-otlp/src/exporter/tonic/trace.rs

View check run for this annotation

Codecov / codecov/patch

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

Added line #L81 was not covered by tests
.export(Request::from_parts(
metadata,
extensions,
ExportTraceServiceRequest { resource_spans },
))
.await
.map_err(|e| OTelSdkError::InternalFailure(e.to_string()))?;
Ok(())
.await;

Check warning on line 87 in opentelemetry-otlp/src/exporter/tonic/trace.rs

View check run for this annotation

Codecov / codecov/patch

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

Added line #L87 was not covered by tests

match result {

Check warning on line 89 in opentelemetry-otlp/src/exporter/tonic/trace.rs

View check run for this annotation

Codecov / codecov/patch

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

Added line #L89 was not covered by tests
Ok(_) => {
otel_debug!(name: "TonicTracesClient.ExportSucceeded");
Ok(())

Check warning on line 92 in opentelemetry-otlp/src/exporter/tonic/trace.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/trace.rs#L91-L92

Added lines #L91 - L92 were not covered by tests
}
Err(e) => {
let error = e.to_string();
otel_debug!(name: "TonicTracesClient.ExportFailed", error = &error);
Err(OTelSdkError::InternalFailure(error))

Check warning on line 97 in opentelemetry-otlp/src/exporter/tonic/trace.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/trace.rs#L94-L97

Added lines #L94 - L97 were not covered by tests
}
}
}

fn shutdown(&mut self) -> OTelSdkResult {
Expand Down