ekg-forward
is a library allowing to forward EKG system metrics from one process to another one.
You have one Haskell application that collects its EKG system metrics (both predefined and custom) and another Haskell application that needs to receive those metrics. You can think of the first application as a Forwarder and the second one as an Acceptor.
There is ekg
package that already lets you remotely monitor a running Haskell process over HTTP. But there are three main differences between ekg
and ekg-forward
:
ekg
provides HTTP server for monitoring,ekg-forward
is a lightweight library without HTTP and REST API.ekg-forward
is based on Haskell typed protocol, which provides type-level guarantees of correctness.ekg-forward
's network layer usesouroboros-network-framework
package which supports both network sockets and local pipes for connection.
You can find demo programs in the demo
directory.
Please note that not all EKG metrics are supported in the current release:
- Gauge - supported
- Label - supported
- Counter - supported
- Distribution - not supported