package opentelemetry

  1. Overview
  2. Docs
Core library for instrumentation and serialization for https://opentelemetry.io

Install

dune-project
 Dependency

Authors

Maintainers

Sources

opentelemetry-0.91.1.tbz
sha256=30f344e7168a793d02c12d69c0f566b06eb963f52db3321e415ef6c5cd3d504d
sha512=19160da37cab59a23333d815baa67035f666e700a386953ec9957c685a0b72fa87919bac6a6651e50b1619773b3be7170bcc067c2d5316436b988bcf8d18dcba

doc/src/opentelemetry.core/any_signal_l.ml.html

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
33
34
35
36
37
(** 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 length = function
  | Spans l -> List.length l
  | Metrics l -> List.length l
  | Logs l -> List.length 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 ]