package opentelemetry

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

Source file opentelemetry.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
(** Main Opentelemetry API for libraries and user code. *)

module Core = Opentelemetry_core
(** Core types and definitions *)

module Interval_limiter = Interval_limiter
(** Utility to limit the frequency of some event
    @since 0.90 *)

(** {2 Wire format} *)

module Proto = Opentelemetry_proto
(** Protobuf types.

    This is mostly useful internally. Users should not need to touch it. *)

(** {2 Time} *)

module Clock = Clock
module Timestamp_ns = Timestamp_ns

(** {2 Export signals to some external collector.} *)

module Emitter = Opentelemetry_emitter.Emitter

module Exporter = struct
  include Exporter

  (** Get a tracer from this exporter.
      @since 0.90 *)
  let get_tracer (self : t) : Tracer.t = Tracer.of_exporter self

  (** Get a meter from this exporter.
      @since 0.90 *)
  let get_meter (self : t) : Meter.t = Meter.of_exporter self

  (** Get a logger from this exporter.
      @since 0.90 *)
  let get_logger (self : t) : Logger.t = Logger.of_exporter self
end

module Sdk = struct
  include Sdk

  (** Get a tracer forwarding to the current main exporter.
      @since 0.90 *)
  let get_tracer ?name ?version ?attrs ?__MODULE__ () =
    Trace_provider.get_tracer ?name ?version ?attrs ?__MODULE__ ()

  (** Get a meter forwarding to the current main exporter.
      @since 0.90 *)
  let get_meter ?name ?version ?attrs ?__MODULE__ () =
    Meter_provider.get_meter ?name ?version ?attrs ?__MODULE__ ()

  (** Get a logger forwarding to the current main exporter.
      @since 0.90 *)
  let get_logger ?name ?version ?attrs ?__MODULE__ () =
    Log_provider.get_logger ?name ?version ?attrs ?__MODULE__ ()

  let self_debug_to_stderr = Sdk.self_debug_to_stderr
end

module Main_exporter = Sdk [@@deprecated "use Sdk instead"]

module Collector = struct
  include Exporter
  include Sdk
end
[@@deprecated "Use 'Exporter' instead"]

module Provider_config = Provider_config
module Self_debug = Self_debug
module Dynamic_enricher = Dynamic_enricher
module Trace_provider = Trace_provider
module Meter_provider = Meter_provider
module Log_provider = Log_provider

(** {2 Identifiers} *)

module Trace_id = Trace_id

let k_trace_id = Trace_id.k_trace_id

module Span_id = Span_id
module Span_ctx = Span_ctx

let k_ambient = Span_ctx.k_ambient

(** {2 Attributes and conventions} *)

module Conventions = Conventions
module Value = Value
module Key_value = Key_value

type value = Value.t
(** A value in a key/value attribute *)

type key_value = Key_value.t

(** {2 Global settings} *)

module Globals = Globals
module Version = Version

(** {2 Traces and Spans} *)

module Event = Event
module Span_link = Span_link
module Span_status = Span_status
module Span_kind = Span_kind

(** {2 Traces} *)

module Span = Span
module Ambient_span = Ambient_span

module Tracer = struct
  include Tracer

  let default = Trace_provider.default_tracer

  let with_thunk_and_finally = Trace_provider.with_thunk_and_finally

  let with_ = Trace_provider.with_
end

module Trace = Tracer [@@deprecated "use Tracer instead"]

(** {2 Metrics} *)

module Metrics = Metrics
module Instrument = Instrument

module Meter = struct
  include Meter

  let default = Meter_provider.default_meter

  let add_to_exporter = Meter_provider.add_to_exporter

  let add_to_main_exporter = Meter_provider.add_to_main_exporter
end

(** {2 Logs} *)

module Log_record = Log_record

module Logger = struct
  include Logger

  let default = Log_provider.default_logger

  let log = Log_provider.log

  let logf = Log_provider.logf
end

module Logs = Logger [@@deprecated "use Logger"]

(** {2 Utils} *)

module Any_signal = Any_signal
module Any_signal_l = Any_signal_l
module Trace_context = Trace_context
module Gc_metrics = Gc_metrics

module Aswitch = Aswitch
(** @since 0.90 *)

module Alist = Alist
(** Atomic list, for internal usage
    @since 0.7 *)

(* *)

module GC_metrics = Gc_metrics
[@@deprecated "use Gc_metrics (beware capitalization)"]