fimad / prometheus-haskell

Haskell client library for exposing prometheus.io metrics.
84 stars 48 forks source link

prometheus-haskell Build Status

This repository contains a collection of libraries that can be used to instrument a Haskell application with metrics that can be consumed by the Prometheus monitoring system and time series database.

API documentation can be found on each libraries respective hackage page: prometheus-client, prometheus-metrics-ghc, wai-middleware-prometheus.

The purposes of the libraries are outline below, and an example application can be found under the example folder in the root directory of the git repository.

prometheus-client Hackage

This is the base library that defines the core data types and metrics. It has a few dependencies and is intended to provide the minimum functionality required to interact with Prometheus.

prometheus-metrics-ghc Hackage

This library provides custom metrics that an application can register that expose information from GHC's runtime system. It is provided as a separate package to keep the GHC specific dependencies out of the prometheus-client library.

wai-middleware-prometheus Hackage

This library provides WAI middleware that allows for easy integration of the Prometheus client library into existing WAI apps. The middleware will by default automatically instrument a WAI app with common HTTP metrics and respond to GET requests on the /metrics endpoint.