package trace

  1. Overview
  2. Docs

Source file collector.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
(** A global collector.

    The collector, if present, is responsible for collecting messages
    and spans, and storing them, recording them, forward them, or
    offering them to other services and processes.
*)

open Types

let dummy_span : span = Int64.min_int

(** Signature for a collector.

    This is only relevant to implementors of tracing backends; to instrument
    your code you only need to look at the {!Trace} module. *)
module type S = sig
  val enter_span :
    ?__FUNCTION__:string ->
    __FILE__:string ->
    __LINE__:int ->
    data:(string * user_data) list ->
    string ->
    span

  val exit_span : span -> unit
  val message : ?span:span -> data:(string * user_data) list -> string -> unit

  val name_thread : string -> unit
  (** Give a name to the current thread *)

  val name_process : string -> unit
  (** Give a name to the current process *)

  val counter_int : string -> int -> unit
  (** Integer counter *)

  val counter_float : string -> float -> unit
  (** Float counter *)

  val shutdown : unit -> unit
  (** Shutdown collector, possibly waiting for it to finish sending data. *)
end
OCaml

Innovation. Community. Security.