My agentic slop goes here. Not intended for anyone else!
1(** Cache statistics
2
3 This module represents aggregate cache statistics. *)
4
5(** Abstract type representing cache statistics *)
6type t
7
8(** {1 Construction} *)
9
10(** Create empty statistics *)
11val empty : t
12
13(** Create statistics from values *)
14val create : total_size:int64 -> entry_count:int -> expired_count:int ->
15 pinned_count:int -> stale_count:int -> temporary_count:int -> t
16
17(** Compute statistics from a list of entries *)
18val of_entries : Entry.t list -> t
19
20(** {1 Accessors} *)
21
22(** Total size in bytes *)
23val total_size : t -> int64
24
25(** Number of entries *)
26val entry_count : t -> int
27
28(** Number of expired entries *)
29val expired_count : t -> int
30
31(** Number of pinned entries *)
32val pinned_count : t -> int
33
34(** Number of stale entries *)
35val stale_count : t -> int
36
37(** Number of temporary entries *)
38val temporary_count : t -> int
39
40(** {1 Pretty Printing} *)
41
42(** Pretty printer for statistics *)
43val pp : Format.formatter -> t -> unit
44
45(** {1 JSON Support} *)
46
47(** Jsont codec for cache statistics *)
48val jsont : t Jsont.t