Current section

Files

Jump to
prometheus_ex lib prometheus contrib http.ex
Raw

lib/prometheus/contrib/http.ex

defmodule Prometheus.Contrib.HTTP do
@moduledoc """
HTTP instrumentation helpers
"""
@doc """
Returns default microseconds buckets for measuring http requests duration:
iex(6)> Prometheus.Contrib.HTTP.microseconds_duration_buckets
[10, 25, 50, 100, 250, 500, 1000, 2500, 5000, 10000, 25000, 50000,
100000, 250000, 500000, 1000000, 2500000, 5000000, 10000000]
"""
defmacro microseconds_duration_buckets do
:prometheus_http.microseconds_duration_buckets()
end
@doc """
Returns class of the http status code:
iex(7)> Prometheus.Contrib.HTTP.status_class(202)
'success'
Raises `Prometheus.InvalidValueError` exception if `code` is not a positive integer.
"""
defmacro status_class(code) do
quote do
require Prometheus.Error
Prometheus.Error.with_prometheus_error(:prometheus_http.status_class(unquote(code)))
end
end
end