How to Install and Uninstall ghc-prometheus Package on openSUSE Leap

Last updated: May 19,2024

1. Install "ghc-prometheus" package

This tutorial shows how to install ghc-prometheus on openSUSE Leap

$ sudo zypper refresh $ sudo zypper install ghc-prometheus

2. Uninstall "ghc-prometheus" package

This guide let you learn how to uninstall ghc-prometheus on openSUSE Leap:

$ sudo zypper remove ghc-prometheus

3. Information about the ghc-prometheus package on openSUSE Leap

Information for package ghc-prometheus:
---------------------------------------
Repository : Main Repository
Name : ghc-prometheus
Version : 2.2.3-bp155.2.14
Arch : x86_64
Vendor : openSUSE
Installed Size : 352.6 KiB
Installed : No
Status : not installed
Source package : ghc-prometheus-2.2.3-bp155.2.14.src
Upstream URL : https://hackage.haskell.org/package/prometheus
Summary : Prometheus Haskell Client
Description :
[Prometheus Haskell Client]
A simple and modern, type safe, performance focused, idiomatic Haskell client
for monitoring. Specifically there is no use
of unsafe IO or manual ByteString construction from lists of bytes.
Batteries-included web server.
A key design element of this library is that the RegistryT monad transformer is
only required for registering new time series. Once the time series is
registered, new data samples may just be added in the IO monad.
Note: Version 0.* supports Prometheus v1.0 and version 2.* supports Prometheus
v2.0.
[Usage Example]
> module Example where > > import Control.Monad.IO.Class (liftIO) > import
System.Metrics.Prometheus.Http.Scrape (serveMetricsT) > import
System.Metrics.Prometheus.Concurrent.RegistryT > import
System.Metrics.Prometheus.Metric.Counter (inc) > import
System.Metrics.Prometheus.MetricId > > main :: IO () > main = runRegistryT $ do
> -- Labels can be defined as lists or added to an empty label set >
connectSuccessGauge <- registerGauge "example_connections" (fromList [("login",
"success")]) > connectFailureGauge <- registerGauge "example_connections"
(addLabel "login" "failure" mempty) > connectCounter <- registerCounter
"example_connection_total" mempty > latencyHistogram <- registerHistogram
"example_round_trip_latency_ms" mempty [10, 20..100] > > liftIO $ inc
connectCounter -- increment a counter > > -- [...] pass metric handles to the
rest of the app > > serveMetricsT 8080 ["metrics"] --
http://localhost:8080/metric server >
[Advanced Usage]
A `Registry` and `StateT`-based `RegistryT` are available for unit testing or
generating lists of `[IO a]` actions that can be `sequenced` and returned from
pure code to be applied.

5. The same packages on other Linux Distributions