Opentelemetry_lwt.Traceinclude module type of struct include Opentelemetry.Trace endtype span = Opentelemetry.Span.tval make_resource_spans : 
  ?service_name:string ->
  ?attrs:
    (string
     * [< `Bool of bool
       | `Float of float
       | `Int of int
       | `None
       | `String of string ])
      list ->
  Opentelemetry.Proto.Trace.span list ->
  Opentelemetry.Proto.Trace.resource_spansval emit : 
  ?service_name:string ->
  ?attrs:
    (string
     * [< `Bool of bool
       | `Float of float
       | `Int of int
       | `None
       | `String of string ])
      list ->
  span list ->
  unitSync emitter.
This instructs the collector to forward the spans to some backend at a later point.
NOTE be careful not to call this inside a Gc alarm, as it can cause deadlocks.
type scope = Opentelemetry.Scope.t = {trace_id : Opentelemetry.Trace_id.t;span_id : Opentelemetry.Span_id.t;mutable items : Opentelemetry.Scope.item_list;}val add_event : 
  Opentelemetry.Scope.t ->
  (unit -> Opentelemetry.Event.t) ->
  unitval add_attrs : 
  Opentelemetry.Scope.t ->
  (unit -> Opentelemetry.key_value list) ->
  unitval with_' : 
  ?force_new_trace_id:bool ->
  ?trace_state:string ->
  ?service_name:string ->
  ?attrs:(string * Opentelemetry.value) list ->
  ?kind:Opentelemetry.Span.kind ->
  ?trace_id:Opentelemetry.Trace_id.t ->
  ?parent:Opentelemetry.Span.id ->
  ?scope:Opentelemetry.Scope.t ->
  ?links:Opentelemetry.Span_link.t list ->
  string ->
  (Opentelemetry.Scope.t -> 'a) ->
  (unit -> 'a) * ((unit, exn * Stdlib.Printexc.raw_backtrace) result -> unit)Sync span guard.
Notably, this includes implicit scope-tracking: if called without a ~scope argument (or ~parent/~trace_id), it will check in the Ambient_context for a surrounding environment, and use that as the scope. Similarly, it uses Scope.with_ambient_scope to set a new scope in the ambient context, so that any logically-nested calls to with_ will use this span as their parent.
NOTE be careful not to call this inside a Gc alarm, as it can cause deadlocks.
val with_ : 
  ?force_new_trace_id:bool ->
  ?trace_state:string ->
  ?service_name:string ->
  ?attrs:(string * Opentelemetry.value) list ->
  ?kind:Opentelemetry.Span.kind ->
  ?trace_id:Opentelemetry.Trace_id.t ->
  ?parent:Opentelemetry.Span.id ->
  ?scope:Opentelemetry.Scope.t ->
  ?links:Opentelemetry.Span_link.t list ->
  string ->
  (Opentelemetry.Scope.t -> 'a Lwt.t) ->
  'a Lwt.tSync span guard