Data model artifacts for the Prometheus Ruby client.
gem install prometheus-client-model
Build the artifacts from the protobuf specification:
make build
While this Gem‘s main purpose is to define the Prometheus data types for the client, it’s possible to use it without the client to decode a stream of delimited protobuf messages:
require 'open-uri' require 'prometheus/client/model' CONTENT_TYPE = 'application/vnd.google.protobuf; proto=io.prometheus.client.MetricFamily; encoding=delimited' stream = open('http://localhost:9090/metrics', 'Accept' => CONTENT_TYPE).read while family = Prometheus::Client::MetricFamily.read_delimited(stream) puts family end