sig
  type t
  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 -> Runtime_events.Callbacks.t
  val add_user_event :
    'Runtime_events.Type.t ->
    (int ->
     Runtime_events.Timestamp.t -> 'Runtime_events.User.t -> '-> unit) ->
    Runtime_events.Callbacks.t -> Runtime_events.Callbacks.t
end