Source file tracing_parser_intf.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
open! Core

module Event_type = struct
  type t =
    | Instant
    | Counter of { id : int }
    | Duration_begin
    | Duration_end
    | Duration_complete of { end_time : Time_ns.Span.t }
    | Async_begin of { async_correlation_id : int }
    | Async_instant of { async_correlation_id : int }
    | Async_end of { async_correlation_id : int }
    | Flow_begin of { flow_correlation_id : int }
    | Flow_step of { flow_correlation_id : int }
    | Flow_end of { flow_correlation_id : int }
  [@@deriving sexp_of, compare ~localize]
end

module Thread = struct
  type t =
    { pid : int
    ; tid : int
    ; mutable process_name : string option
    ; mutable thread_name : string option
    }
  [@@deriving sexp_of, compare ~localize]
end

module Parse_error = struct
  type t =
    | No_more_words
    | Timestamp_too_large
    | Invalid_size_on_record
    | Invalid_string_ref
    | Invalid_thread_ref
    | Invalid_tick_initialization
    | Incomplete_record
  [@@deriving sexp_of]
end

module Warnings = struct
  type t =
    { mutable num_unparsed_records : int
    ; mutable num_unparsed_args : int
    }
  [@@deriving sexp_of]
end