1
- use std:: sync:: Arc ;
2
1
use core:: fmt;
3
2
use opentelemetry:: otel_debug;
4
3
use opentelemetry_proto:: tonic:: collector:: logs:: v1:: {
5
4
logs_service_client:: LogsServiceClient , ExportLogsServiceRequest ,
6
5
} ;
7
6
use opentelemetry_sdk:: error:: { OTelSdkError , OTelSdkResult } ;
8
7
use opentelemetry_sdk:: logs:: { LogBatch , LogExporter } ;
8
+ use std:: sync:: Arc ;
9
9
use std:: time;
10
10
use tokio:: sync:: Mutex ;
11
11
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
15
15
use super :: BoxInterceptor ;
16
16
17
17
use opentelemetry_sdk:: retry:: { retry_with_exponential_backoff, RetryPolicy } ;
18
+ use opentelemetry_sdk:: runtime:: Tokio ;
18
19
19
20
pub ( crate ) struct TonicLogsClient {
20
21
inner : Mutex < Option < ClientInner > > ,
@@ -70,7 +71,7 @@ impl LogExporter for TonicLogsClient {
70
71
71
72
let batch = Arc :: new ( batch) ;
72
73
73
- retry_with_exponential_backoff :: < _ , _ , _ , _ , tokio :: time :: Sleep > ( policy, "TonicLogsClient.Export" , {
74
+ retry_with_exponential_backoff ( Tokio , policy, "TonicLogsClient.Export" , {
74
75
let batch = Arc :: clone ( & batch) ;
75
76
let inner = & self . inner ;
76
77
let resource = & self . resource ;
@@ -82,7 +83,9 @@ impl LogExporter for TonicLogsClient {
82
83
let ( m, e, _) = inner
83
84
. interceptor
84
85
. call ( Request :: new ( ( ) ) )
85
- . map_err ( |e| OTelSdkError :: InternalFailure ( format ! ( "error: {e:?}" ) ) ) ?
86
+ . map_err ( |e| {
87
+ OTelSdkError :: InternalFailure ( format ! ( "error: {e:?}" ) )
88
+ } ) ?
86
89
. into_parts ( ) ;
87
90
( inner. client . clone ( ) , m, e)
88
91
}
0 commit comments