package devkit

  1. Overview
  2. Docs

Global register for various types of counters

type attributes = (string * string) list
type t =
  1. | Time of Time.t
  2. | Count of int
  3. | Bytes of int
val show_a : (string * string) list -> string
val is_in_families : string -> bool
class typ : string -> ?attr:attributes -> string -> object ... end

new typ type ?attr key registers new type of counters with designated attributes and key name

val cc : ('a -> string) -> string -> ?attr:attributes -> string -> 'a Cache.Count.t

cc pp type ?attr key new set of counters with designated type, attributes and key name

Logstash events will have attributes as follows : * all of attr key value pairs (if given) * class=type * key=X where X is value inserted into CC

Guidelines for picking names : keep number of different key names low (makes ES happy), uniqueness of events is primarily provided by class.

Bad example : let pages = new Var.cc "tool.pages" "pages" let index = new Var.cc "tool.index" "index" let count = new Var.cc "tool.count" "count"

Better : let pages = new Var.cc "tool.pages" "kind" let pages = new Var.cc "tool.index" "kind" let pages = new Var.cc "tool.count" "kind"

val cc_ms : ('a -> string) -> string -> ?attr:attributes -> string -> 'a Cache.Count.t

cc pp type ?attr key new set of counters with designated type, attributes and key name, treated as milliseconds

val iter : (attributes -> t -> unit) -> unit

callback takes attributes and value

val list_stats : string list -> string list

list_stats filter

  • returns

    a list containing a printed line for each counter whose type is in filter.