The PMDA maintains special control metrics, as described below.
Apart from openmetrics.control.debug
, each of these metrics has
one instance for each configured metric source. All of these
metrics have integer values with counter semantics, except
openmetrics.control.status
, which has a string value. It is
important to note that fetching any of the openmetrics.control
metrics will only update the counters and status values if the
corresponding URL is actually fetched. If the source URL is not
fetched, the control metric values do not trigger a refresh and
the control values reported represent the most recent fetch of
each corresponding source.
The instance domain for the openmetrics.control
metrics is
adjusted dynamically as new sources are discovered. If there are
no sources configured, the metric names are still defined but the
instance domain will be empty and a fetch will return no values.
openmetrics.control.status
A string representing the status of the last fetch of the
corresponding source. This will generally be success
for
an http response code of 200. This metric can be used for
service availability monitoring - provided, as stated
above, the corresponding source URL is fetched too.
openmetrics.control.status_code
This metric is similar to openmetrics.control.status
except that it is the integer response code of the last
fetch. A value of 200
usually signifies success and any
other value failure. This metric can also be used for
service availability monitoring, with the same caveats as
openmetrics.control.status
.
openmetrics.control.calls
total number of times each configured metric source has
been fetched (if it's a URL) or executed (if it's a
script), since the PMDA started. This metric has counter
semantics and would normally be converted to a rate/second
by client tools.
openmetrics.control.fetch_time
Total time in milliseconds that each configured metric
source has taken to return a document, excluding the time
to parse the document. This metric has counter semantics
and would normally be rate converted by client tools but
is also useful in raw form as the accumulated parse time
since the PMDA was started.
openmetrics.control.parse_time
Total time in milliseconds that each configured metric
source has taken to parse each document, excluding the
time to fetch the document. This metric has counter
semantics and would normally be rate converted by client
tools but is also useful in raw form as the accumulated
parse time since the PMDA was started.
When converted to a rate, the calls
metric represents the average
fetch rate of each source over the sampling interval (time delta
between samples). The fetch_time
and parse_time
counters, when
converted to a rate, represent the average fetch and parsing
latency (respectfully), during the sampling interval.
The openmetrics.control.debug
metric has a singular value,
defaulting to 0
. If a non-zero value is stored into this metric
using pmstore(1), additional debug messages will be written to
the PMDA log file.