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
end