Module Arod_stats

type time_range =
  1. | All
  2. | Last_hours of int
  3. | Since of float
val time_clause : time_range -> string
val query_int : Sqlite3_eio.t -> string -> int
val query_float : Sqlite3_eio.t -> string -> float
val query_string_int : Sqlite3_eio.t -> string -> (string * int) list
val query_string_float : Sqlite3_eio.t -> string -> (string * float) list
val query_string_int_float : Sqlite3_eio.t -> string -> (string * int * float) list

Statistics queries

val total_requests : Sqlite3_eio.t -> time_range -> int
val date_range : Sqlite3_eio.t -> float * float
val status_code_breakdown : Sqlite3_eio.t -> time_range -> (string * int) list
val top_paths : Sqlite3_eio.t -> time_range -> int -> (string * int) list
val top_404s : Sqlite3_eio.t -> time_range -> int -> (string * int) list
val latency_overview : Sqlite3_eio.t -> time_range -> float * int * int
val latency_percentiles : Sqlite3_eio.t -> time_range -> int * int * int * int
val latency_by_path : Sqlite3_eio.t -> time_range -> int -> (string * int * float) list
val cache_stats : Sqlite3_eio.t -> time_range -> (string * int) list
val bandwidth : Sqlite3_eio.t -> time_range -> float
val top_user_agents : Sqlite3_eio.t -> time_range -> int -> (string * int) list
val top_referers : Sqlite3_eio.t -> time_range -> int -> (string * int) list
val requests_per_hour : Sqlite3_eio.t -> time_range -> (string * int) list
val top_remote_addrs : Sqlite3_eio.t -> time_range -> int -> (string * int) list
val content_type_breakdown : Sqlite3_eio.t -> time_range -> (string * int) list
val method_breakdown : Sqlite3_eio.t -> time_range -> (string * int) list
val slowest_requests : Sqlite3_eio.t -> time_range -> int -> (string * string * int * int * string) list

Pretty-printing

val human_bytes : float -> string
val human_duration_us : int -> string
val format_timestamp : float -> string
val bar_chart : int -> int -> int -> string
val print_table : String.t list -> String.t list list -> unit

Report

val report : sw:Eio.Switch.t -> [> Eio.Fs.dir_ty ] Eio.Path.t -> time_range -> unit