Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
TelemetrySource# Telemetry
Telemetry is a lightweight library for dynamic dispatching of events, with a focus on metrics and instrumentation. Any OCaml library can use telemetry to emit events, then application code and other libraries can then hook into those events and run custom handlers.
## Getting Started
Install from Opam:
``` opam install telemetry ```
Create some events in your library or application code:
```ocaml type Telemetry.event += Web_request_done of latency: int Telemetry.emit (Web_request_done latency = 10 ); ```
And now attach listeners:
```ocaml Telemetry.attach (fun ev -> match ev with | Web_request_done latency -> Printf.printf "Web request took %sms" latency | _ -> () ); ```
The type of a Telemetry event.
This type is an extensible variant to allow for anyone to define new types of events, and upstream consumers to easily match and consume them.
`attach handler` adds `handler` so that it can handle events.
a `handler` is just a function so it can choose what to do with every event as they come.