opentelemetry-cohttp-lwt

Opentelemetry tracing for Cohttp HTTP servers
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library opentelemetry-cohttp-lwt
val trace : ?service_name:string -> ?attrs:Otel.Span.key_value list -> ( 'conn -> Cohttp_lwt.Request.t -> 'body -> (Cohttp_lwt.Response.t * 'body) Lwt.t ) -> 'conn -> Cohttp_lwt.Request.t -> 'body -> (Cohttp_lwt.Response.t * 'body) Lwt.t

Trace requests to a Cohttp server.

Use it like this:

let my_server callback = let callback_traced = Opentelemetry_cohttp_lwt.Server.trace ~service_name:"my-service" (fun _scope -> callback) in Cohttp_lwt_unix.Server.create ~mode:(`TCP (`Port 8080)) (Server.make () ~callback:callback_traced)

val with_ : ?trace_state:string -> ?service_name:string -> ?attrs:Otel.Span.key_value list -> ?kind:Otel.Span.kind -> ?links:(Otel.Trace_id.t * Otel.Span_id.t * string) list -> string -> Cohttp_lwt.Request.t -> ( Cohttp_lwt.Request.t -> 'a Lwt.t ) -> 'a Lwt.t

Trace a new internal span.

Identical to Opentelemetry_lwt.Trace.with_, but fetches/stores the trace scope in the x-ocaml-otel-traceparent header in the request for convenience.

val get_trace_context : ?from:[ `Internal | `External ] -> Cohttp_lwt.Request.t -> Otel.Trace.scope option

Get the tracing scope from the custom x-ocaml-otel-traceparent header added by trace and with_.

Set the tracing scope in the custom x-ocaml-otel-traceparent header used by trace and with_.

val remove_trace_context : Cohttp_lwt.Request.t -> Cohttp_lwt.Request.t

Strip the custom x-ocaml-otel-traceparent header added by trace and with_.