22pub mod tonic {
33 use opentelemetry_proto:: tonic:: {
44 common:: v1:: {
5- any_value:: Value , AnyValue , ArrayValue , InstrumentationScope , KeyValue ,
5+ any_value:: Value , AnyValue , ArrayValue , KeyValue ,
66 KeyValueList ,
77 } ,
88 logs:: v1:: { LogRecord , ResourceLogs , ScopeLogs , SeverityNumber } ,
99 resource:: v1:: Resource ,
1010 } ;
11- use crate :: transform:: common:: { to_nanos, tonic:: ResourceAttributesWithSchema } ;
11+ use crate :: transform:: common:: {
12+ to_nanos,
13+ tonic:: { ResourceAttributesWithSchema , instrumentation_scope_from_scope_ref_and_target} ,
14+ } ;
1215 use opentelemetry:: logs:: { AnyValue as LogsAnyValue , Severity } ;
1316 use opentelemetry_sdk:: logs:: LogBatch ;
1417 use std:: borrow:: Cow ;
1518 use std:: collections:: HashMap ;
1619
17- impl From < LogsAnyValue > for AnyValue {
18- fn from ( value : LogsAnyValue ) -> Self {
19- AnyValue {
20- value : Some ( value. into ( ) ) ,
21- }
20+ fn any_value_from_logs_any_value ( value : LogsAnyValue ) -> AnyValue {
21+ AnyValue {
22+ value : Some ( value_from_logs_any_value ( value) ) ,
2223 }
2324 }
2425
25- impl From < LogsAnyValue > for Value {
26- fn from ( value : LogsAnyValue ) -> Self {
26+ fn value_from_logs_any_value ( value : LogsAnyValue ) -> Value {
2727 match value {
2828 LogsAnyValue :: Double ( f) => Value :: DoubleValue ( f) ,
2929 LogsAnyValue :: Int ( i) => Value :: IntValue ( i) ,
@@ -32,26 +32,21 @@ pub mod tonic {
3232 LogsAnyValue :: ListAny ( v) => Value :: ArrayValue ( ArrayValue {
3333 values : v
3434 . into_iter ( )
35- . map ( |v| AnyValue {
36- value : Some ( v. into ( ) ) ,
37- } )
35+ . map ( |v| any_value_from_logs_any_value ( v) )
3836 . collect ( ) ,
3937 } ) ,
4038 LogsAnyValue :: Map ( m) => Value :: KvlistValue ( KeyValueList {
4139 values : m
4240 . into_iter ( )
4341 . map ( |( key, value) | KeyValue {
4442 key : key. into ( ) ,
45- value : Some ( AnyValue {
46- value : Some ( value. into ( ) ) ,
47- } ) ,
43+ value : Some ( any_value_from_logs_any_value ( value) ) ,
4844 } )
4945 . collect ( ) ,
5046 } ) ,
5147 LogsAnyValue :: Bytes ( v) => Value :: BytesValue ( * v) ,
5248 _ => unreachable ! ( "Nonexistent value type" ) ,
5349 }
54- }
5550 }
5651
5752 impl From < & opentelemetry_sdk:: logs:: SdkLogRecord > for LogRecord {
@@ -93,9 +88,7 @@ pub mod tonic {
9388 . attributes_iter ( )
9489 . map ( |kv| KeyValue {
9590 key : kv. 0 . to_string ( ) ,
96- value : Some ( AnyValue {
97- value : Some ( kv. 1 . clone ( ) . into ( ) ) ,
98- } ) ,
91+ value : Some ( any_value_from_logs_any_value ( kv. 1 . clone ( ) ) ) ,
9992 } )
10093 . collect ( )
10194 } ,
@@ -156,7 +149,7 @@ pub mod tonic {
156149 . schema_url( )
157150 . map( ToOwned :: to_owned)
158151 . unwrap_or_default( ) ,
159- scope: Some ( super :: common :: tonic :: instrumentation_scope_from_scope_ref_and_target( instrumentation, log_record. target( ) . cloned( ) ) ) ,
152+ scope: Some ( instrumentation_scope_from_scope_ref_and_target( instrumentation, log_record. target( ) . cloned( ) ) ) ,
160153 log_records: vec![ log_record. into( ) ] ,
161154 } ] ,
162155 }
@@ -193,10 +186,10 @@ pub mod tonic {
193186 let scope_logs = scope_map
194187 . into_iter ( )
195188 . map ( |( key, log_data) | ScopeLogs {
196- scope : Some ( InstrumentationScope :: from ( (
189+ scope : Some ( instrumentation_scope_from_scope_ref_and_target (
197190 log_data. first ( ) . unwrap ( ) . 1 ,
198191 Some ( key. into_owned ( ) . into ( ) ) ,
199- ) ) ) ,
192+ ) ) ,
200193 schema_url : resource. schema_url . clone ( ) . unwrap_or_default ( ) ,
201194 log_records : log_data
202195 . into_iter ( )
0 commit comments