File tree Expand file tree Collapse file tree 6 files changed +74
-23
lines changed
opentelemetry-otlp/src/exporter Expand file tree Collapse file tree 6 files changed +74
-23
lines changed Original file line number Diff line number Diff line change @@ -30,20 +30,24 @@ impl LogExporter for OtlpHttpClient {
3030 }
3131
3232 let request_uri = request. uri ( ) . to_string ( ) ;
33- otel_debug ! ( name: "HttpLogsClient.CallingExport " ) ;
33+ otel_debug ! ( name: "HttpLogsClient.ExportStarted " ) ;
3434 let response = client
3535 . send_bytes ( request)
3636 . await
3737 . map_err ( |e| OTelSdkError :: InternalFailure ( format ! ( "{e:?}" ) ) ) ?;
38+
3839 if !response. status ( ) . is_success ( ) {
3940 let error = format ! (
4041 "OpenTelemetry logs export failed. Url: {}, Status Code: {}, Response: {:?}" ,
4142 request_uri,
4243 response. status( ) . as_u16( ) ,
4344 response. body( )
4445 ) ;
46+ otel_debug ! ( name: "HttpLogsClient.ExportFailed" , error = & error) ;
4547 return Err ( OTelSdkError :: InternalFailure ( error) ) ;
4648 }
49+
50+ otel_debug ! ( name: "HttpLogsClient.ExportSucceeded" ) ;
4751 Ok ( ( ) )
4852 }
4953
Original file line number Diff line number Diff line change @@ -33,13 +33,31 @@ impl MetricsClient for OtlpHttpClient {
3333 request. headers_mut ( ) . insert ( k. clone ( ) , v. clone ( ) ) ;
3434 }
3535
36- otel_debug ! ( name: "HttpMetricsClient.CallingExport " ) ;
37- client
36+ otel_debug ! ( name: "HttpMetricsClient.ExportStarted " ) ;
37+ let result = client
3838 . send_bytes ( request)
39- . await
40- . map_err ( |e| OTelSdkError :: InternalFailure ( format ! ( "{e:?}" ) ) ) ?;
39+ . await ;
4140
42- Ok ( ( ) )
41+ match result {
42+ Ok ( response) => {
43+ if response. status ( ) . is_success ( ) {
44+ otel_debug ! ( name: "HttpMetricsClient.ExportSucceeded" ) ;
45+ Ok ( ( ) )
46+ } else {
47+ let error = format ! (
48+ "OpenTelemetry metrics export failed. Status Code: {}, Response: {:?}" ,
49+ response. status( ) . as_u16( ) ,
50+ response. body( )
51+ ) ;
52+ otel_debug ! ( name: "HttpMetricsClient.ExportFailed" , error = & error) ;
53+ Err ( OTelSdkError :: InternalFailure ( error) )
54+ }
55+ }
56+ Err ( e) => {
57+ otel_debug ! ( name: "HttpMetricsClient.ExportFailed" , error = format!( "{:?}" , e) ) ;
58+ Err ( OTelSdkError :: InternalFailure ( format ! ( "{e:?}" ) ) )
59+ }
60+ }
4361 }
4462
4563 fn shutdown ( & self ) -> OTelSdkResult {
Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ impl SpanExporter for OtlpHttpClient {
4242 }
4343
4444 let request_uri = request. uri ( ) . to_string ( ) ;
45- otel_debug ! ( name: "HttpTracesClient.CallingExport " ) ;
45+ otel_debug ! ( name: "HttpTracesClient.ExportStarted " ) ;
4646 let response = client
4747 . send_bytes ( request)
4848 . await
@@ -51,13 +51,15 @@ impl SpanExporter for OtlpHttpClient {
5151 if !response. status ( ) . is_success ( ) {
5252 let error = format ! (
5353 "OpenTelemetry trace export failed. Url: {}, Status Code: {}, Response: {:?}" ,
54- response. status( ) . as_u16( ) ,
5554 request_uri,
55+ response. status( ) . as_u16( ) ,
5656 response. body( )
5757 ) ;
58+ otel_debug ! ( name: "HttpTracesClient.ExportFailed" , error = & error) ;
5859 return Err ( OTelSdkError :: InternalFailure ( error) ) ;
5960 }
6061
62+ otel_debug ! ( name: "HttpTracesClient.ExportSucceeded" ) ;
6163 Ok ( ( ) )
6264 }
6365
Original file line number Diff line number Diff line change @@ -72,17 +72,26 @@ impl LogExporter for TonicLogsClient {
7272
7373 let resource_logs = group_logs_by_resource_and_scope ( batch, & self . resource ) ;
7474
75- otel_debug ! ( name: "TonicsLogsClient.CallingExport " ) ;
75+ otel_debug ! ( name: "TonicLogsClient.ExportStarted " ) ;
7676
77- client
77+ let result = client
7878 . export ( Request :: from_parts (
7979 metadata,
8080 extensions,
8181 ExportLogsServiceRequest { resource_logs } ,
8282 ) )
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+ otel_debug ! ( name: "TonicLogsClient.ExportFailed" , error = format!( "{:?}" , e) ) ;
92+ Err ( OTelSdkError :: InternalFailure ( format ! ( "export error: {:?}" , e) ) )
93+ }
94+ }
8695 }
8796
8897 fn shutdown_with_timeout ( & self , _timeout : time:: Duration ) -> OTelSdkResult {
Original file line number Diff line number Diff line change @@ -75,18 +75,26 @@ impl MetricsClient for TonicMetricsClient {
7575 ) ) ,
7676 } ) ?;
7777
78- otel_debug ! ( name: "TonicsMetricsClient.CallingExport " ) ;
78+ otel_debug ! ( name: "TonicMetricsClient.ExportStarted " ) ;
7979
80- client
80+ let result = client
8181 . export ( Request :: from_parts (
8282 metadata,
8383 extensions,
8484 ExportMetricsServiceRequest :: from ( metrics) ,
8585 ) )
86- . await
87- . map_err ( |e| OTelSdkError :: InternalFailure ( format ! ( "{e:?}" ) ) ) ?;
86+ . await ;
8887
89- Ok ( ( ) )
88+ match result {
89+ Ok ( _) => {
90+ otel_debug ! ( name: "TonicMetricsClient.ExportSucceeded" ) ;
91+ Ok ( ( ) )
92+ }
93+ Err ( e) => {
94+ otel_debug ! ( name: "TonicMetricsClient.ExportFailed" , error = format!( "{:?}" , e) ) ;
95+ Err ( OTelSdkError :: InternalFailure ( format ! ( "{e:?}" ) ) )
96+ }
97+ }
9098 }
9199
92100 fn shutdown ( & self ) -> OTelSdkResult {
Original file line number Diff line number Diff line change @@ -76,17 +76,27 @@ impl SpanExporter for TonicTracesClient {
7676
7777 let resource_spans = group_spans_by_resource_and_scope ( batch, & self . resource ) ;
7878
79- otel_debug ! ( name: "TonicsTracesClient.CallingExport" ) ;
8079
81- client
80+ otel_debug ! ( name: "TonicTracesClient.ExportStarted" ) ;
81+
82+ let result = client
8283 . export ( Request :: from_parts (
8384 metadata,
8485 extensions,
8586 ExportTraceServiceRequest { resource_spans } ,
8687 ) )
87- . await
88- . map_err ( |e| OTelSdkError :: InternalFailure ( e. to_string ( ) ) ) ?;
89- Ok ( ( ) )
88+ . await ;
89+
90+ match result {
91+ Ok ( _) => {
92+ otel_debug ! ( name: "TonicTracesClient.ExportSucceeded" ) ;
93+ Ok ( ( ) )
94+ }
95+ Err ( e) => {
96+ otel_debug ! ( name: "TonicTracesClient.ExportFailed" , error = format!( "{:?}" , e) ) ;
97+ Err ( OTelSdkError :: InternalFailure ( e. to_string ( ) ) )
98+ }
99+ }
90100 }
91101
92102 fn shutdown ( & mut self ) -> OTelSdkResult {
You can’t perform that action at this time.
0 commit comments