@@ -223,85 +223,74 @@ mod observe {
223
223
use super :: * ;
224
224
use opentelemetry:: StringValue ;
225
225
use std:: time:: { Duration , SystemTime , UNIX_EPOCH } ;
226
- use wasi:: observe:: traces ;
226
+ use wasi:: observe:: tracer ;
227
227
228
- impl From < traces :: Value > for opentelemetry:: Value {
229
- fn from ( value : traces :: Value ) -> Self {
228
+ impl From < tracer :: Value > for opentelemetry:: Value {
229
+ fn from ( value : tracer :: Value ) -> Self {
230
230
match value {
231
- traces :: Value :: String ( v) => v. into ( ) ,
232
- traces :: Value :: Bool ( v) => v. into ( ) ,
233
- traces :: Value :: Float64 ( v) => v. into ( ) ,
234
- traces :: Value :: S64 ( v) => v. into ( ) ,
235
- traces :: Value :: StringArray ( v) => opentelemetry:: Value :: Array (
231
+ tracer :: Value :: String ( v) => v. into ( ) ,
232
+ tracer :: Value :: Bool ( v) => v. into ( ) ,
233
+ tracer :: Value :: Float64 ( v) => v. into ( ) ,
234
+ tracer :: Value :: S64 ( v) => v. into ( ) ,
235
+ tracer :: Value :: StringArray ( v) => opentelemetry:: Value :: Array (
236
236
v. into_iter ( )
237
237
. map ( StringValue :: from)
238
238
. collect :: < Vec < _ > > ( )
239
239
. into ( ) ,
240
240
) ,
241
- traces :: Value :: BoolArray ( v) => opentelemetry:: Value :: Array ( v. into ( ) ) ,
242
- traces :: Value :: Float64Array ( v) => opentelemetry:: Value :: Array ( v. into ( ) ) ,
243
- traces :: Value :: S64Array ( v) => opentelemetry:: Value :: Array ( v. into ( ) ) ,
241
+ tracer :: Value :: BoolArray ( v) => opentelemetry:: Value :: Array ( v. into ( ) ) ,
242
+ tracer :: Value :: Float64Array ( v) => opentelemetry:: Value :: Array ( v. into ( ) ) ,
243
+ tracer :: Value :: S64Array ( v) => opentelemetry:: Value :: Array ( v. into ( ) ) ,
244
244
}
245
245
}
246
246
}
247
247
248
- impl From < traces :: KeyValue > for opentelemetry:: KeyValue {
249
- fn from ( kv : traces :: KeyValue ) -> Self {
248
+ impl From < tracer :: KeyValue > for opentelemetry:: KeyValue {
249
+ fn from ( kv : tracer :: KeyValue ) -> Self {
250
250
opentelemetry:: KeyValue :: new ( kv. key , kv. value )
251
251
}
252
252
}
253
253
254
- impl From < traces :: TraceFlags > for opentelemetry:: trace:: TraceFlags {
255
- fn from ( flags : traces :: TraceFlags ) -> Self {
254
+ impl From < tracer :: TraceFlags > for opentelemetry:: trace:: TraceFlags {
255
+ fn from ( flags : tracer :: TraceFlags ) -> Self {
256
256
Self :: new ( flags. as_array ( ) [ 0 ] as u8 )
257
257
}
258
258
}
259
259
260
- impl From < opentelemetry:: trace:: TraceFlags > for traces :: TraceFlags {
260
+ impl From < opentelemetry:: trace:: TraceFlags > for tracer :: TraceFlags {
261
261
fn from ( flags : opentelemetry:: trace:: TraceFlags ) -> Self {
262
262
if flags. is_sampled ( ) {
263
- traces :: TraceFlags :: SAMPLED
263
+ tracer :: TraceFlags :: SAMPLED
264
264
} else {
265
- traces :: TraceFlags :: empty ( )
265
+ tracer :: TraceFlags :: empty ( )
266
266
}
267
267
}
268
268
}
269
269
270
- impl From < traces:: SpanContext > for opentelemetry:: trace:: SpanContext {
271
- fn from ( sc : traces:: SpanContext ) -> Self {
272
- // TODO(Caleb): Check endianess
273
- let trace_id: [ u8 ; 16 ] = {
274
- let mut whole: [ u8 ; 16 ] = [ 0 ; 16 ] ;
275
- let ( one, two) = whole. split_at_mut ( 8 ) ;
276
- one. copy_from_slice ( & sc. trace_id . 0 . to_le_bytes ( ) ) ;
277
- two. copy_from_slice ( & sc. trace_id . 1 . to_le_bytes ( ) ) ;
278
- whole
279
- } ;
280
- let trace_state = if let Ok ( trace_state) =
281
- opentelemetry:: trace:: TraceState :: from_key_value ( sc. trace_state )
282
- {
283
- trace_state
284
- } else {
285
- opentelemetry:: trace:: TraceState :: default ( )
286
- } ;
270
+ impl From < tracer:: SpanContext > for opentelemetry:: trace:: SpanContext {
271
+ fn from ( sc : tracer:: SpanContext ) -> Self {
272
+ // TODO(Reviewer): Should this be try_from instead an propagate this error out of the WIT?
273
+ let trace_id = opentelemetry:: trace:: TraceId :: from_hex ( & sc. trace_id )
274
+ . unwrap_or ( opentelemetry:: trace:: TraceId :: INVALID ) ;
275
+ let span_id = opentelemetry:: trace:: SpanId :: from_hex ( & sc. span_id )
276
+ . unwrap_or ( opentelemetry:: trace:: SpanId :: INVALID ) ;
277
+ let trace_state = opentelemetry:: trace:: TraceState :: from_key_value ( sc. trace_state )
278
+ . unwrap_or_else ( |_| opentelemetry:: trace:: TraceState :: default ( ) ) ;
287
279
Self :: new (
288
- opentelemetry :: trace :: TraceId :: from_bytes ( trace_id) ,
289
- opentelemetry :: trace :: SpanId :: from_bytes ( sc . span_id . to_le_bytes ( ) ) ,
280
+ trace_id,
281
+ span_id,
290
282
sc. trace_flags . into ( ) ,
291
283
sc. is_remote ,
292
284
trace_state,
293
285
)
294
286
}
295
287
}
296
288
297
- impl From < opentelemetry:: trace:: SpanContext > for traces :: SpanContext {
289
+ impl From < opentelemetry:: trace:: SpanContext > for tracer :: SpanContext {
298
290
fn from ( sc : opentelemetry:: trace:: SpanContext ) -> Self {
299
291
Self {
300
- trace_id : {
301
- let whole = u128:: from_le_bytes ( sc. trace_id ( ) . to_bytes ( ) ) ;
302
- ( ( whole >> 64 ) as u64 , whole as u64 )
303
- } ,
304
- span_id : u64:: from_le_bytes ( sc. span_id ( ) . to_bytes ( ) ) ,
292
+ trace_id : format ! ( "{:x}" , sc. trace_id( ) ) ,
293
+ span_id : format ! ( "{:x}" , sc. span_id( ) ) ,
305
294
trace_flags : sc. trace_flags ( ) . into ( ) ,
306
295
is_remote : sc. is_remote ( ) ,
307
296
trace_state : sc
@@ -317,20 +306,20 @@ mod observe {
317
306
}
318
307
}
319
308
320
- impl From < traces :: Status > for opentelemetry:: trace:: Status {
321
- fn from ( status : traces :: Status ) -> Self {
309
+ impl From < tracer :: Status > for opentelemetry:: trace:: Status {
310
+ fn from ( status : tracer :: Status ) -> Self {
322
311
match status {
323
- traces :: Status :: Unset => Self :: Unset ,
324
- traces :: Status :: Ok => Self :: Ok ,
325
- traces :: Status :: Error ( s) => Self :: Error {
312
+ tracer :: Status :: Unset => Self :: Unset ,
313
+ tracer :: Status :: Ok => Self :: Ok ,
314
+ tracer :: Status :: Error ( s) => Self :: Error {
326
315
description : s. into ( ) ,
327
316
} ,
328
317
}
329
318
}
330
319
}
331
320
332
- impl From < traces :: Datetime > for SystemTime {
333
- fn from ( timestamp : traces :: Datetime ) -> Self {
321
+ impl From < tracer :: Datetime > for SystemTime {
322
+ fn from ( timestamp : tracer :: Datetime ) -> Self {
334
323
UNIX_EPOCH
335
324
+ Duration :: from_secs ( timestamp. seconds )
336
325
+ Duration :: from_nanos ( timestamp. nanoseconds as u64 )
0 commit comments