sig
  type response_log
  type http_request
  type measurement
  module Item :
    sig
      type t
      val create :
        Ketrew_measurement.measurement -> Ketrew_measurement.Item.t
      val make_http_request :
        string -> Cohttp.Request.t -> Ketrew_measurement.http_request
      val make_reponse_log : string -> int -> Ketrew_measurement.response_log
      val incoming_request :
        Ketrew_measurement.http_request -> Ketrew_measurement.Item.t
      val end_of_request :
        Ketrew_measurement.http_request ->
        Ketrew_measurement.response_log -> Ketrew_measurement.Item.t
      val tag : string -> Ketrew_measurement.Item.t
      val time : Ketrew_measurement.Item.t -> Ketrew_pervasives.Time.t
      val compare_by_time :
        Ketrew_measurement.Item.t -> Ketrew_measurement.Item.t -> int
      val to_strings : Ketrew_measurement.Item.t -> string list
      val collect_http_requests :
        Ketrew_measurement.Item.t list ->
        < body_length : int; date : Ketrew_pervasives.Time.t;
          duration : float; uri : string >
        list
    end
  module Collection :
    sig
      type t
      val serialize : Ketrew_measurement.Collection.t -> string
      val deserialize_exn : string -> Ketrew_measurement.Collection.t
      val create : unit -> Ketrew_measurement.Collection.t
      val add :
        Ketrew_measurement.Collection.t -> Ketrew_measurement.Item.t -> unit
      val clear : Ketrew_measurement.Collection.t -> unit
      val concat :
        Ketrew_measurement.Collection.t list ->
        Ketrew_measurement.Collection.t
      val to_list :
        Ketrew_measurement.Collection.t -> Ketrew_measurement.Item.t list
    end
end