module Callbacks:sig..end
type 
Type of callbacks.
val create : ?runtime_begin:(int ->
                       Runtime_events.Timestamp.t ->
                       Runtime_events.runtime_phase -> unit) ->
       ?runtime_end:(int ->
                     Runtime_events.Timestamp.t ->
                     Runtime_events.runtime_phase -> unit) ->
       ?runtime_counter:(int ->
                         Runtime_events.Timestamp.t ->
                         Runtime_events.runtime_counter -> int -> unit) ->
       ?alloc:(int -> Runtime_events.Timestamp.t -> int array -> unit) ->
       ?lifecycle:(int ->
                   Runtime_events.Timestamp.t ->
                   Runtime_events.lifecycle -> int option -> unit) ->
       ?lost_events:(int -> int -> unit) -> unit -> tCreate a Callback that optionally subscribes to one or more runtime
      events. The first int supplied to callbacks is the ring buffer index.
      Each domain owns a single ring buffer for the duration of the domain's
      existence. After a domain terminates, a newly spawned domain may take
      ownership of the ring buffer. A runtime_begin callback is called when
      the runtime enters a new phase (e.g a runtime_begin with EV_MINOR is
      called at the start of a minor GC). A runtime_end callback is called
      when the runtime leaves a certain phase. The runtime_counter callback
      is called when a counter is emitted by the runtime. lifecycle callbacks
      are called when the ring undergoes a change in lifecycle and a consumer
      may need to respond. alloc callbacks are currently only called on the
      instrumented runtime. lost_events callbacks are called if the consumer
      code detects some unconsumed events have been overwritten.
val add_user_event : 'a Runtime_events.Type.t ->
       (int -> Runtime_events.Timestamp.t -> 'a Runtime_events.User.t -> 'a -> unit) ->
       t -> tadd_user_event ty callback t extends t to additionally subscribe to
      user events of type ty. When such an event happens, callback is called
      with the corresponding event and payload.