package trace

  1. Overview
  2. Docs
A lightweight stub for tracing/observability, agnostic in how data is collected

Install

dune-project
 Dependency

Authors

Maintainers

Sources

trace-0.11.tbz
sha256=a29329fcfb191a98bfed26c05c300ed9e1e915b73cc59f51e9d9cdc4d1f158bc
sha512=ff77a4ef19375f4ad3b1ddff7336657a4a5695924b679ac2c36a77b14b95c63d126539efd1590f83b415a1288bb843a5fb4308e53a807dcc22456cb40a8e0026

doc/src/trace.simple/simple_span.ml.html

Source file simple_span.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
(** A simple span.

    This is a concrete representation of spans that is convenient to manipulate.

    @since NEXT_RELEASE *)

open Trace_core

type span_flavor =
  [ `Sync
  | `Async
  ]

type t = {
  name: string;
  __FUNCTION__: string option;
  __FILE__: string;
  __LINE__: int;
  time_ns: int64;  (** Time the span was entered. *)
  mutable time_exit_ns: int64;
      (** Time the span was exited. Set at exit, [Int64.max_int] otherwise *)
  tid: int;  (** Thread in which span was created *)
  trace_id: int64;  (** For async spans *)
  parent: parent;
  flavor: span_flavor;
  params: extension_parameter list;
  mutable data: (string * Trace_core.user_data) list;
      (** Modified by [add_data_to_span] *)
}
(** The type of spans used by all subscribers. *)

type Trace_core.span +=
  | Span_simple of t  (** How to turn a {!Simple_span.t} into a {!span}. *)