Prometheus.Model (Prometheus.ex v4.0.0)
View SourceHelpers for working with Prometheus data model. For advanced users.
Prometheus.Collector
example demonstrates how to use this module.
Summary
Functions
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.
Functions
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}],
...(4)> [{2, 1}, {5, 1}, {:infinity, 2}],
...(4)> 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)> [{2, 1}, {5, 1}, {:infinity, 2}],
...(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}
Creates untyped metrics from mdata
{label, value} tuple list.
iex(11)> Prometheus.Model.untyped_metrics([{[host: "example.com"], 100}])
[{:Metric, [{:LabelPair, "host", "example.com"}], :undefined,
:undefined, :undefined, {:Untyped, 100}, :undefined, :undefined}]