Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

data-prometheus

Pure Prometheus metrics parser and builder.

Usage

Parsing metrics

import Data.Prometheus

import Network.Wreq

import qualified Data.ByteString.Lazy as BL

main :: IO ()
main = do
  r <- get "http://localhost:9100/metrics"
  case parseProm (BL.toStrict $ r ^. responseBody) of
    Right result -> print result
    Left err -> putStrLn err

Generating metrics

import Data.Prometheus
import Data.Function ((&))

main :: IO ()
main = do
  runMetrics $ do
    addMetric
      (metric "sample" & desc "sample metric")
      (Counter 13)

    logError "something is not right"

    addMetric
      (metric "sample" & sub "gauge" & label "key" "val")
      (Gauge 13)

About

Prometheus metrics handling

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages