Source file span_link.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
open Common_
open Proto.Trace

type t = span_link

let make ~trace_id ~span_id ?trace_state ?(attrs = []) ?dropped_attributes_count
    () : t =
  let attributes = List.map Key_value.conv attrs in
  let dropped_attributes_count =
    Option.map Int32.of_int dropped_attributes_count
  in
  make_span_link
    ~trace_id:(Trace_id.to_bytes trace_id)
    ~span_id:(Span_id.to_bytes span_id) ?trace_state ~attributes
    ?dropped_attributes_count ()

let[@inline] of_span_ctx ?trace_state ?attrs ?dropped_attributes_count
    (ctx : Span_ctx.t) : t =
  make ~trace_id:(Span_ctx.trace_id ctx) ~span_id:(Span_ctx.parent_id ctx)
    ?trace_state ?attrs ?dropped_attributes_count ()