package opentelemetry

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file any_signal_l.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
(** 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 ]