All Versions
Latest Version
Avg Release Cycle
273 days
Latest Release
1583 days ago

Changelog History
Page 1

  • v1.0.1

    January 25, 2020
  • v1.0.1.1 Changes

    July 27, 2020
    • Optimizations to measure GHC metrics with less polling.
  • v1.0.0 Changes

    August 10, 2018

    ๐Ÿ”– Version 1.0.0 is a significant rewrite of some core parts of the API, as prometheus-effect has been deprecated in favour of this library.

    ๐Ÿ’ฅ Breaking Changes

    ๐Ÿ†• New Metric API

    ๐Ÿšš The most substatial change regards the Metric interface. Unregistered counters are now wrapped in the Metric type (as before), but when registered, the Metric wrapper is removed. This change means that registered metrics are more lightweight (they are often just a newtype wrapper), but also helps users
    distinguish between registered and unregistered metrics.

    To adapt to this change, users should:

    Store and pass registered metrics. Rather than passing Metric Counter, prefer registering to obtain a Counter and pass that around.

    Top level registrations will no longer return Metric. If you have

    httpRequests :: Metric CounterhttpRequests = unsafeRegisterIO $ counter (Info ...)

    This should change to

    httpRequests :: CounterhttpRequests = unsafeRegister $ counter (Info ...)

    Other Breaking Changes

    ๐ŸŽ Prometheus.exportMetricsAsText now returns a lazy ByteString rather than a strict ByteString. This provides better streaming performance, and the underlying ByteString is built using a Builder for improved performance. You can convert the lazy ByteString into a strict one using Data.ByteString.Lazy.toStrict, but you should consider taking advantage of the lazy interface if possible.

    Prometheus.Info now uses Text instead of String. It is recommended that you use the OverloadedStrings extension.

    ๐Ÿ‘ The label interface has been changed to only support tuples of Text. The tuple instances prevent any other tuple instances from being defined. This interface is in flux and may change again in the future. For now, OverloadedStrings will give you compatibility with the old interface.

    Backwards Compatible Changes

    • Many functions that were specialised to IO have been generalised to work in MonadIO.

    โž• Additions

    • Prometheus.countExceptions to count the amount of exceptions a given monadic action throws.
  • v1.0.0.1 Changes

    May 28, 2020
    • Optimizations to improve memory usage.
  • v0.2.0 Changes

    July 02, 2017


    • โž• Add the histogram metric type (#15).
    • A monitoric clock is used for duratoin measurments instead of UTCTime (#9, #16).


    • Time measurments are now exported as seconds instead of microseconds (#17).
    • Histograms are used instead of summaries for time measurments. This allows for
      aggregration across multiple processes (#18).
  • v0.1.3.0

    June 17, 2020
  • v0.1.2.0 Changes

    September 18, 2019
    • ๐Ÿ‘Œ Support base-4.13 and GHC 8.8.
  • v0.1.1 Changes

    April 30, 2017


    • Counters are now represented as floating point numbers instead of integers.
    • ๐Ÿ†• New counter methods addDurationToCounter and addCounter.


    • Metrics that are always incrementing are now counters instead of gauges.
    • Metric names have changed to be more inline with prometheus guidelines.
  • v0.1.1.0

    May 23, 2019
  • v0.1.0.1 Changes

    June 28, 2015
    • โž• Add support for GHC 7.10
    • โฌ‡๏ธ Drop support for GHC 7.6