File tree Expand file tree Collapse file tree 6 files changed +76
-24
lines changed
opentelemetry-otlp/src/exporter Expand file tree Collapse file tree 6 files changed +76
-24
lines changed Original file line number Diff line number Diff line change @@ -30,20 +30,24 @@ impl LogExporter for OtlpHttpClient {
30
30
}
31
31
32
32
let request_uri = request. uri ( ) . to_string ( ) ;
33
- otel_debug ! ( name: "HttpLogsClient.CallingExport " ) ;
33
+ otel_debug ! ( name: "HttpLogsClient.ExportStarted " ) ;
34
34
let response = client
35
35
. send_bytes ( request)
36
36
. await
37
37
. map_err ( |e| OTelSdkError :: InternalFailure ( format ! ( "{e:?}" ) ) ) ?;
38
+
38
39
if !response. status ( ) . is_success ( ) {
39
40
let error = format ! (
40
41
"OpenTelemetry logs export failed. Url: {}, Status Code: {}, Response: {:?}" ,
41
42
request_uri,
42
43
response. status( ) . as_u16( ) ,
43
44
response. body( )
44
45
) ;
46
+ otel_debug ! ( name: "HttpLogsClient.ExportFailed" , error = & error) ;
45
47
return Err ( OTelSdkError :: InternalFailure ( error) ) ;
46
48
}
49
+
50
+ otel_debug ! ( name: "HttpLogsClient.ExportSucceeded" ) ;
47
51
Ok ( ( ) )
48
52
}
49
53
Original file line number Diff line number Diff line change @@ -33,13 +33,30 @@ impl MetricsClient for OtlpHttpClient {
33
33
request. headers_mut ( ) . insert ( k. clone ( ) , v. clone ( ) ) ;
34
34
}
35
35
36
- otel_debug ! ( name: "HttpMetricsClient.CallingExport" ) ;
37
- client
38
- . send_bytes ( request)
39
- . await
40
- . map_err ( |e| OTelSdkError :: InternalFailure ( format ! ( "{e:?}" ) ) ) ?;
36
+ otel_debug ! ( name: "HttpMetricsClient.ExportStarted" ) ;
37
+ let result = client. send_bytes ( request) . await ;
41
38
42
- Ok ( ( ) )
39
+ match result {
40
+ Ok ( response) => {
41
+ if response. status ( ) . is_success ( ) {
42
+ otel_debug ! ( name: "HttpMetricsClient.ExportSucceeded" ) ;
43
+ Ok ( ( ) )
44
+ } else {
45
+ let error = format ! (
46
+ "OpenTelemetry metrics export failed. Status Code: {}, Response: {:?}" ,
47
+ response. status( ) . as_u16( ) ,
48
+ response. body( )
49
+ ) ;
50
+ otel_debug ! ( name: "HttpMetricsClient.ExportFailed" , error = & error) ;
51
+ Err ( OTelSdkError :: InternalFailure ( error) )
52
+ }
53
+ }
54
+ Err ( e) => {
55
+ let error = format ! ( "{e:?}" ) ;
56
+ otel_debug ! ( name: "HttpMetricsClient.ExportFailed" , error = & error) ;
57
+ Err ( OTelSdkError :: InternalFailure ( error) )
58
+ }
59
+ }
43
60
}
44
61
45
62
fn shutdown ( & self ) -> OTelSdkResult {
Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ impl SpanExporter for OtlpHttpClient {
42
42
}
43
43
44
44
let request_uri = request. uri ( ) . to_string ( ) ;
45
- otel_debug ! ( name: "HttpTracesClient.CallingExport " ) ;
45
+ otel_debug ! ( name: "HttpTracesClient.ExportStarted " ) ;
46
46
let response = client
47
47
. send_bytes ( request)
48
48
. await
@@ -51,13 +51,15 @@ impl SpanExporter for OtlpHttpClient {
51
51
if !response. status ( ) . is_success ( ) {
52
52
let error = format ! (
53
53
"OpenTelemetry trace export failed. Url: {}, Status Code: {}, Response: {:?}" ,
54
- response. status( ) . as_u16( ) ,
55
54
request_uri,
55
+ response. status( ) . as_u16( ) ,
56
56
response. body( )
57
57
) ;
58
+ otel_debug ! ( name: "HttpTracesClient.ExportFailed" , error = & error) ;
58
59
return Err ( OTelSdkError :: InternalFailure ( error) ) ;
59
60
}
60
61
62
+ otel_debug ! ( name: "HttpTracesClient.ExportSucceeded" ) ;
61
63
Ok ( ( ) )
62
64
}
63
65
Original file line number Diff line number Diff line change @@ -72,17 +72,27 @@ impl LogExporter for TonicLogsClient {
72
72
73
73
let resource_logs = group_logs_by_resource_and_scope ( batch, & self . resource ) ;
74
74
75
- otel_debug ! ( name: "TonicsLogsClient.CallingExport " ) ;
75
+ otel_debug ! ( name: "TonicLogsClient.ExportStarted " ) ;
76
76
77
- client
77
+ let result = client
78
78
. export ( Request :: from_parts (
79
79
metadata,
80
80
extensions,
81
81
ExportLogsServiceRequest { resource_logs } ,
82
82
) )
83
- . await
84
- . map_err ( |e| OTelSdkError :: InternalFailure ( format ! ( "export error: {:?}" , e) ) ) ?;
85
- Ok ( ( ) )
83
+ . await ;
84
+
85
+ match result {
86
+ Ok ( _) => {
87
+ otel_debug ! ( name: "TonicLogsClient.ExportSucceeded" ) ;
88
+ Ok ( ( ) )
89
+ }
90
+ Err ( e) => {
91
+ let error = format ! ( "export error: {:?}" , e) ;
92
+ otel_debug ! ( name: "TonicLogsClient.ExportFailed" , error = & error) ;
93
+ Err ( OTelSdkError :: InternalFailure ( error) )
94
+ }
95
+ }
86
96
}
87
97
88
98
fn shutdown_with_timeout ( & self , _timeout : time:: Duration ) -> OTelSdkResult {
Original file line number Diff line number Diff line change @@ -75,18 +75,27 @@ impl MetricsClient for TonicMetricsClient {
75
75
) ) ,
76
76
} ) ?;
77
77
78
- otel_debug ! ( name: "TonicsMetricsClient.CallingExport " ) ;
78
+ otel_debug ! ( name: "TonicMetricsClient.ExportStarted " ) ;
79
79
80
- client
80
+ let result = client
81
81
. export ( Request :: from_parts (
82
82
metadata,
83
83
extensions,
84
84
ExportMetricsServiceRequest :: from ( metrics) ,
85
85
) )
86
- . await
87
- . map_err ( |e| OTelSdkError :: InternalFailure ( format ! ( "{e:?}" ) ) ) ?;
86
+ . await ;
88
87
89
- Ok ( ( ) )
88
+ match result {
89
+ Ok ( _) => {
90
+ otel_debug ! ( name: "TonicMetricsClient.ExportSucceeded" ) ;
91
+ Ok ( ( ) )
92
+ }
93
+ Err ( e) => {
94
+ let error = format ! ( "{e:?}" ) ;
95
+ otel_debug ! ( name: "TonicMetricsClient.ExportFailed" , error = & error) ;
96
+ Err ( OTelSdkError :: InternalFailure ( error) )
97
+ }
98
+ }
90
99
}
91
100
92
101
fn shutdown ( & self ) -> OTelSdkResult {
Original file line number Diff line number Diff line change @@ -76,17 +76,27 @@ impl SpanExporter for TonicTracesClient {
76
76
77
77
let resource_spans = group_spans_by_resource_and_scope ( batch, & self . resource ) ;
78
78
79
- otel_debug ! ( name: "TonicsTracesClient.CallingExport " ) ;
79
+ otel_debug ! ( name: "TonicTracesClient.ExportStarted " ) ;
80
80
81
- client
81
+ let result = client
82
82
. export ( Request :: from_parts (
83
83
metadata,
84
84
extensions,
85
85
ExportTraceServiceRequest { resource_spans } ,
86
86
) )
87
- . await
88
- . map_err ( |e| OTelSdkError :: InternalFailure ( e. to_string ( ) ) ) ?;
89
- Ok ( ( ) )
87
+ . await ;
88
+
89
+ match result {
90
+ Ok ( _) => {
91
+ otel_debug ! ( name: "TonicTracesClient.ExportSucceeded" ) ;
92
+ Ok ( ( ) )
93
+ }
94
+ Err ( e) => {
95
+ let error = e. to_string ( ) ;
96
+ otel_debug ! ( name: "TonicTracesClient.ExportFailed" , error = & error) ;
97
+ Err ( OTelSdkError :: InternalFailure ( error) )
98
+ }
99
+ }
90
100
}
91
101
92
102
fn shutdown ( & mut self ) -> OTelSdkResult {
You can’t perform that action at this time.
0 commit comments