Project Stage | CI | Release | Snapshot | Discord |
---|---|---|---|---|
A high-performance, purely-functional library for adding instrumentation to any application, with a simple web client and JMX support.
ZIO Metrics is a principled functional programming library to measure the behavior of your application. It focuses on providing metrics and health checks in a performant purely functional manner.
- Comprehensive and consistent
- Type safe, purely-functional
- Pluggable effect monads
- Asynchronous and non-blocking
- Supports streaming
- Can be used in Scala REPLs
If it can affect your code's business value, measure it. -- Coda Hale
In order to know how well our code is generating business value, we need metrics -- also Coda Hale
Usage and Docs can be found on https://zio.github.io/zio-metrics/
Metrics Scala
Type safe, pure FP: ✘
Comprehensive: ✔
Scala: ✔
Notes:
Scala Metrics
Type safe, pure FP: ✘
Comprehensive: ✔
Scala: ✔
Notes:
Kamon
Type safe, pure FP: ✘
Comprehensive: ✔
Scala: ✔
Notes:
JAJMX
Type safe, pure FP: ✘ (but very FP oriented)
Comprehensive: ✔
Scala: ✔
Notes:
SSE-JMX
Type safe, pure FP: ✘
Comprehensive: ✔
Scala: ✔
Notes:
Metrics Datadog
Type safe, pure FP: ✘
Comprehensive: ✔
Scala: ✘ (Java)
Notes:
ekg: Remote monitoring of processes
Type safe, pure FP: ✔
Comprehensive: ✔
Scala: ✘ (Haskell)
Notes: Monad Metrics a wrapper and API for using EKG metrics
prometheus: Prometheus Haskell Client
Type safe, pure FP: ✔
Comprehensive: ✔
Scala: ✘ (Haskell)
Notes:
Metrics
Type safe, pure FP: ✘
Comprehensive: ✔
Scala: ✘ (Go)
Notes: Haskell implementation, Metrics, Metrics, Everywhere - Coda Hale
Optimizing Tagless Final – Saying farewell to Free