Current section
Files
Jump to
Current section
Files
lib/prometheus/metric.ex
defmodule Prometheus.Metric do
@moduledoc false
defmacro __using__(_opts) do
quote do
alias Prometheus.Metric.{Counter,Gauge,Histogram,Summary}
require Prometheus.Metric.{Counter,Gauge,Histogram,Summary}
end
end
defmacro ct_parsable_spec?(spec) do
quote do
is_list(unquote(spec)) or is_atom(unquote(spec))
end
end
def parse_spec(spec) when is_list(spec) do
registry = Keyword.get(spec, :registry, :default)
name = Keyword.fetch!(spec, :name)
labels = Keyword.get(spec, :labels, [])
{registry, name, labels}
end
def parse_spec(spec) when is_atom(spec) do
{:default, spec, []}
end
end