Skip to content

Commit 9714d15

Browse files
committed
migrate to the async runtime abstraction
1 parent 6fe4546 commit 9714d15

File tree

5 files changed

+82
-309
lines changed

5 files changed

+82
-309
lines changed

opentelemetry-otlp/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ serialize = ["serde", "serde_json"]
6969
default = ["http-proto", "reqwest-blocking-client", "trace", "metrics", "logs", "internal-logs"]
7070

7171
# grpc using tonic
72-
grpc-tonic = ["tonic", "prost", "http", "tokio", "opentelemetry-proto/gen-tonic", "opentelemetry_sdk/rt-tokio"]
72+
grpc-tonic = ["tonic", "prost", "http", "tokio", "opentelemetry-proto/gen-tonic", "opentelemetry_sdk/rt-tokio", "opentelemetry_sdk/experimental_async_runtime"]
7373
gzip-tonic = ["tonic/gzip"]
7474
zstd-tonic = ["tonic/zstd"]
7575

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
use std::sync::Arc;
21
use core::fmt;
32
use opentelemetry::otel_debug;
43
use opentelemetry_proto::tonic::collector::logs::v1::{
54
logs_service_client::LogsServiceClient, ExportLogsServiceRequest,
65
};
76
use opentelemetry_sdk::error::{OTelSdkError, OTelSdkResult};
87
use opentelemetry_sdk::logs::{LogBatch, LogExporter};
8+
use std::sync::Arc;
99
use std::time;
1010
use tokio::sync::Mutex;
1111
use tonic::{codegen::CompressionEncoding, service::Interceptor, transport::Channel, Request};
@@ -15,6 +15,7 @@ use opentelemetry_proto::transform::logs::tonic::group_logs_by_resource_and_scop
1515
use super::BoxInterceptor;
1616

1717
use opentelemetry_sdk::retry::{retry_with_exponential_backoff, RetryPolicy};
18+
use opentelemetry_sdk::runtime::Tokio;
1819

1920
pub(crate) struct TonicLogsClient {
2021
inner: Mutex<Option<ClientInner>>,
@@ -70,7 +71,7 @@ impl LogExporter for TonicLogsClient {
7071

7172
let batch = Arc::new(batch);
7273

73-
retry_with_exponential_backoff::<_, _, _, _, tokio::time::Sleep>(policy, "TonicLogsClient.Export", {
74+
retry_with_exponential_backoff(Tokio, policy, "TonicLogsClient.Export", {
7475
let batch = Arc::clone(&batch);
7576
let inner = &self.inner;
7677
let resource = &self.resource;
@@ -82,7 +83,9 @@ impl LogExporter for TonicLogsClient {
8283
let (m, e, _) = inner
8384
.interceptor
8485
.call(Request::new(()))
85-
.map_err(|e| OTelSdkError::InternalFailure(format!("error: {e:?}")))?
86+
.map_err(|e| {
87+
OTelSdkError::InternalFailure(format!("error: {e:?}"))
88+
})?
8689
.into_parts();
8790
(inner.client.clone(), m, e)
8891
}

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,6 @@ pub(crate) mod metrics;
2525
#[cfg(feature = "trace")]
2626
pub(crate) mod trace;
2727

28-
// For now, we are not exposing the retry policy. Only work with grpc-tonic since retry takes a hard dependency on tokio
29-
// while we sort out an abstraction for the async runtime which can be used by all exporters.
30-
#[cfg(feature = "grpc-tonic")]
31-
mod retry;
32-
3328
/// Configuration for [tonic]
3429
///
3530
/// [tonic]: https://github.com/hyperium/tonic

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

Lines changed: 0 additions & 229 deletions
This file was deleted.

0 commit comments

Comments
 (0)