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.tbz
sha256=4aaee2025957acf71434a027bd57ee699a9ae927e6b49804fb1e999e16a03694
sha512=f3ec030fc4ca0483c3fc143eaa802e2aa02b4c25e1a03ec967bd017fad8a4ef6287e9f9688486434d1ac2fc403217658b61d2c7f3709c092c939b93f412ee5c5

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 ]