Skip to content

sorki/data-prometheus

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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published