package obs-prometheus-eio

  1. Overview
  2. Docs
Prometheus text-exposition backend for obs-eio

Install

dune-project
 Dependency

Authors

Maintainers

Sources

v0.1.0.tar.gz
md5=b214064ea02a40a453912abb9a17827c
sha512=226ce6b7083d6afe41416077e439922908d43b38c1252f749056f09f1b5eca31f13978e471d63fa25936816c7488a6386a7bfda5bd6f208e68c10bfd723773e4

doc/CHANGES.html

Changes

Unreleased

  • Enforce one label-name schema per Prometheus metric family. Later declarations or emitted events with a different label set raise Invalid_argument instead of producing inconsistent exposition output.
  • push now re-raises Eio.Cancel.Cancelled instead of converting cancellation into an ordinary Pushgateway error.
  • push now rejects non-positive timeouts and non-HTTP(S), hostless Pushgateway URLs before attempting a request.

0.1.0

  • Initial standalone OPAM package: obs-eio Prometheus backend, text exposition renderer, and Pushgateway client.
  • Fixed (post-tag, found by independent review of the sibling aws-eio package's identical copy of this code): the HTTPS wrapper (Obs_prometheus_tls) never seeded Mirage_crypto_rng, so every real TLS handshake failed with "The default generator is not yet initialized" — invisible to every test here since none of them exercised real TLS. Fixed with a domain-safe (Atomic+Mutex) cached seed, not a bare Stdlib.Lazy.t (documented unsafe across OCaml 5 domains).
  • Extracted (post-tag): Obs_prometheus_tls moved out to the standalone https-eio package. The same wrapper turned out to be duplicated byte-for-byte in aws-eio's Aws_tls, obs-loki-eio's Obs_loki_tls, and Sun's in-tree Kafka_service_tls. Obs_prometheus_tls is deleted; obs_prometheus.ml now depends on https-eio directly, which also replaces the hand-rolled CA-bundle path list with the maintained ca-certs package. The TLS regression tests moved to https-eio's own test suite.