mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-10 04:35:46 -04:00
32 lines
693 B
OCaml
32 lines
693 B
OCaml
(** Any kind of lists of signals *)
|
|
|
|
open Common_
|
|
|
|
type t =
|
|
| Spans of Span.t list
|
|
| Metrics of Metrics.t list
|
|
| Logs of Log_record.t list
|
|
|
|
open struct
|
|
let pp_sep out () = Format.fprintf out ";@ "
|
|
|
|
let pp_list ppx out l =
|
|
Format.fprintf out "[@[%a@]]" (Format.pp_print_list ~pp_sep ppx) l
|
|
end
|
|
|
|
let pp out = function
|
|
| Spans s -> pp_list Proto.Trace.pp_span out s
|
|
| Metrics m -> pp_list Proto.Metrics.pp_metric out m
|
|
| Logs l -> pp_list Proto.Logs.pp_log_record out l
|
|
|
|
let of_logs_or_empty = function
|
|
| [] -> []
|
|
| l -> [ Logs l ]
|
|
|
|
let of_metrics_or_empty = function
|
|
| [] -> []
|
|
| l -> [ Metrics l ]
|
|
|
|
let of_spans_or_empty = function
|
|
| [] -> []
|
|
| l -> [ Spans l ]
|