Prometheus.ex v1.0.0-alpha10 Prometheus.Model
Helpers for working with Prometheus data model. For advanced users.
Probably will be used with Prometheus.Collector
.
Summary
Macros
Creates counter metric with labels
and value
Creates counter metrics from mdata
{labels, value} tuple list
Creates Metric Family of type
, name
and help
.
collector.collect_metrics/2
callback will be called and expected to
return individual metrics list
Creates gauge metric with labels
and value
Creates gauge metrics from mdata
{label, value} tuple list
Creates histogram metric with labels
, buckets
, count
, and sum
Creates histogram metrics from mdata
{labels, buckets, count, sum} tuple list
Creates summary metric with labels
, count
, and sum
Creates summary metrics from mdata
{labels, count, sum} tuple list
Creates untyped metric with labels
and value
Creates untyped metrics from mdata
{label, value} tuple list
Macros
Creates counter metric with labels
and value
.
iex(15)> Prometheus.Model.counter_metric([host: "example.com"], 100)
{:Metric, [{:LabelPair, "host", "example.com"}], :undefined, {:Counter, 100},
:undefined, :undefined, :undefined, :undefined}
Creates counter metrics from mdata
{labels, value} tuple list.
iex(14)> Prometheus.Model.counter_metrics([{[host: "example.com"], 100}])
[{:Metric, [{:LabelPair, "host", "example.com"}], :undefined, {:Counter, 100},
:undefined, :undefined, :undefined, :undefined}]
Creates Metric Family of type
, name
and help
.
collector.collect_metrics/2
callback will be called and expected to
return individual metrics list.
Creates gauge metric with labels
and value
.
iex(13)> Prometheus.Model.gauge_metric([host: "example.com"], 100)
{:Metric, [{:LabelPair, "host", "example.com"}], {:Gauge, 100}, :undefined,
:undefined, :undefined, :undefined, :undefined}
Creates gauge metrics from mdata
{label, value} tuple list.
iex(11)> Prometheus.Model.gauge_metrics([{[host: "example.com"], 100}])
[{:Metric, [{:LabelPair, "host", "example.com"}], {:Gauge, 100}, :undefined,
:undefined, :undefined, :undefined, :undefined}]
Creates histogram metric with labels
, buckets
, count
, and sum
.
iex(4)> Prometheus.Model.histogram_metric([{:method, :get}], [{2, 1}, {5, 1}, {:infinity, 2}], 2, 10.5)
{:Metric, [{:LabelPair, "method", "get"}], :undefined, :undefined, :undefined,
:undefined,
{:Histogram, 2, 10.5,
[{:Bucket, 1, 2}, {:Bucket, 1, 5}, {:Bucket, 2, :infinity}]}, :undefined}
Buckets is a list of pairs {upper_bound, cumulative_count}. Cumulative count is a sum of all cumulative_counts of previous buckets + counter of current bucket.
Creates histogram metrics from mdata
{labels, buckets, count, sum} tuple list.
iex(2)> Prometheus.Model.histogram_metrics([{ [{:method, :get}], [{2, 1}, {5, 1}, {:infinity, 2}], 2, 10.5}])
[{:Metric, [{:LabelPair, "method", "get"}], :undefined, :undefined, :undefined,
:undefined,
{:Histogram, 2, 10.5,
[{:Bucket, 1, 2}, {:Bucket, 1, 5}, {:Bucket, 2, :infinity}]}, :undefined}]
Creates summary metric with labels
, count
, and sum
.
iex(3)> Prometheus.Model.summary_metric([{:method, :get}], 2, 10.5)
{:Metric, [{:LabelPair, "method", "get"}], :undefined, :undefined,
{:Summary, 2, 10.5, []}, :undefined, :undefined, :undefined}
Creates summary metrics from mdata
{labels, count, sum} tuple list.
iex(7)> Prometheus.Model.summary_metrics([{[{:method, :get}], 2, 10.5}])
[{:Metric, [{:LabelPair, "method", "get"}], :undefined, :undefined,
{:Summary, 2, 10.5, []}, :undefined, :undefined, :undefined}]
Creates untyped metric with labels
and value
.
iex(13)> Prometheus.Model.untyped_metric([host: "example.com"], 100)
{:Metric, [{:LabelPair, "host", "example.com"}], :undefined,
:undefined, :undefined, {:Untyped, 100}, :undefined, :undefined}