Metrics_lwt
Lwt
monitoring.
The monitoring functions of this module return Lwt
threads that proceed only when the metric operation is over, as defined by the current reporter
.
v0.4.1 - homepage
val add :
('a, 'b) Metrics.src ->
('a -> Metrics.tags) ->
('b -> Metrics.data Lwt.t) ->
unit Lwt.t
add src t f
adds a new data point to src
.
val run :
('a, ('b, exn) Stdlib.result -> Metrics.Data.t) Metrics.src ->
('a -> Metrics.tags) ->
(unit -> 'b Lwt.t) ->
'b Lwt.t
run src f
runs f ()
and records in a new data point the time it took. run
will also record the status of the computation, e.g. whether an exception has been raised.
val rrun :
('a, ('b, [ `Exn of exn | `Error of 'c ]) Stdlib.result -> Metrics.Data.t)
Metrics.src ->
('a -> Metrics.tags) ->
(unit -> ('b, 'c) Stdlib.result Lwt.t) ->
('b, 'c) Stdlib.result Lwt.t
Same as run
but also record if the result is Ok
or Error
.
val periodically :
(Metrics.field list, unit -> Metrics.data) Metrics.src ->
unit
periodically src
registers src
for periodic collection.
init_periodic ~gc ~logs sleeper
starts a task which Lwt
.join sleeper
and all registered periodically
sources. gc
is by default `Full
, collecting full GC stats - other options are `None
and `Quick
. If logs
is provided and true
(the default), the error and warning count from the Logs library are registered to be periodically reported.