Metrics_lwtLwt monitoring.
The monitoring functions of this module return Lwt threads that proceed only when the metric operation is over, as defined by the current Reporters.
v0.5.0 - homepage
val add :
('a, 'b) Metrics.src ->
('a -> Metrics.tags) ->
('b -> Metrics.data Lwt.t) ->
unit Lwt.tadd 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.trun 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.tSame as run but also record if the result is Ok or Error.
val periodically :
(Metrics.field list, unit -> Metrics.data) Metrics.src ->
unitperiodically 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.