Prometheus.ex v3.0.5 Prometheus.Metric.Summary View Source
Summary metric, to track the size of events.
Example use cases for Summaries:
- Response latency;
- Request size;
- Response size.
Example:
defmodule MyProxyInstrumenter do
use Prometheus.Metric
## to be called at app/supervisor startup.
## to tolerate restarts use declare.
def setup() do
Summary.declare([name: :request_size_bytes,
help: "Request size in bytes."])
Summary.declare([name: :response_size_bytes,
help: "Response size in bytes."])
end
def observe_request(size) do
Summary.observe([name: :request_size_bytes], size)
end
def observe_response(size) do
Summary.observe([name: :response_size_bytes], size)
end
end
Link to this section Summary
Functions
Creates a summary using spec
.
Summary cannot have a label named "quantile"
Creates a summary using spec
.
Summary cannot have a label named "quantile"
Observes the given amount
Observes the amount of time spent executing body
Removes summary series identified by spec
Resets the value of the summary identified by spec
Returns the value of the summary identified by spec
. If there is no summary for
given labels combination, returns :undefined
Link to this section Functions
declare(spec) View Source
Creates a summary using spec
.
Summary cannot have a label named "quantile".
If a summary with the same spec
exists returns false
.
Raises Prometheus.MissingMetricSpecKeyError
if required spec
key is missing.
Raises Prometheus.InvalidMetricNameError
if metric name is invalid.
Raises Prometheus.InvalidMetricHelpError
if help is invalid.
Raises Prometheus.InvalidMetricLabelsError
if labels isn't a list.
Raises Prometheus.InvalidMetricNameError
if label name is invalid;
Raises Prometheus.InvalidValueError
exception if duration_unit is unknown or
doesn't match metric name.
new(spec) View Source
Creates a summary using spec
.
Summary cannot have a label named "quantile".
Raises Prometheus.MissingMetricSpecKeyError
if required spec
key is missing.
Raises Prometheus.InvalidMetricNameError
if metric name is invalid.
Raises Prometheus.InvalidMetricHelpError
if help is invalid.
Raises Prometheus.InvalidMetricLabelsError
if labels isn't a list.
Raises Prometheus.InvalidMetricNameError
if label name is invalid.
Raises Prometheus.InvalidValueError
exception if duration_unit is unknown or
doesn't match metric name.
Raises Prometheus.MFAlreadyExistsError
if a summary with the same spec
already exists.
observe(spec, amount \\ 1) View Source
Observes the given amount.
Raises Prometheus.InvalidValueError
exception if amount
isn't a number.
Raises Prometheus.UnknownMetricError
exception if a summary for spec
can't be found.
Raises Prometheus.InvalidMetricArityError
exception if labels count mismatch.
observe_duration(spec, body) View Source (macro)
Observes the amount of time spent executing body
.
Raises Prometheus.UnknownMetricError
exception if a summary for spec
can't be found.
Raises Prometheus.InvalidMetricArityError
exception if labels count mismatch.
Raises Prometheus.InvalidValueError
exception if fun
isn't a function or block.
remove(spec) View Source
Removes summary series identified by spec.
Raises Prometheus.UnknownMetricError
exception if a summary for spec
can't be found.
Raises Prometheus.InvalidMetricArityError
exception if labels count mismatch.
reset(spec) View Source
Resets the value of the summary identified by spec
.
Raises Prometheus.UnknownMetricError
exception if a summary for spec
can't be found.
Raises Prometheus.InvalidMetricArityError
exception if labels count mismatch.
value(spec) View Source
Returns the value of the summary identified by spec
. If there is no summary for
given labels combination, returns :undefined
.
If duration unit set, sum will be converted to the duration unit. Read more here.
Raises Prometheus.UnknownMetricError
exception if a summary for spec
can't be found.
Raises Prometheus.InvalidMetricArityError
exception if labels count mismatch.