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

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.

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.

Link to this function

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.

Link to this macro

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.

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.

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.

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.