Metrics API changes in PuppetDB 4
Most of the metrics' names changed in PuppetDB 4 to standardize with other Puppet components and provide a more intuitive naming scheme. This document details the correspondence between the metric names before and after PuppetDB 4.
Population metrics
# Before
puppetlabs.puppetdb.query.population:type=default,name=<misc>
# After
puppetlabs.puppetdb.population:name=<misc>
For example, the following metrics:
puppetlabs.puppetdb.query.population:type=default,name=num-nodes
puppetlabs.puppetdb.query.population:type=default,name=num-resources
puppetlabs.puppetdb.query.population:type=default,name=avg-resources-per-node
puppetlabs.puppetdb.query.population:type=default,name=pct-resource-dupes
are now, respectively:
puppetlabs.puppetdb.population:name=num-nodes
puppetlabs.puppetdb.population:name=num-resources
puppetlabs.puppetdb.population:name=avg-resources-per-node
puppetlabs.puppetdb.population:name=pct-resource-dupes
HTTP metrics
Prior to PuppetDB 4 the HTTP metrics were scattered in different namespaces. All the HTTP metrics are now grouped under the same namespace.
# Before
<namespace>:group=<endpoint>,name=<misc>
# After
puppetlabs.puppetdb.http:name=<endpoint>.<misc>
Here are some concrete examples:
# Before
puppetlabs.puppetdb.http.command:group=/pdb/cmd/v1,name=<status code>
# After
puppetlabs.puppetdb.http:name=/pdb/cmd/v1.<status code>
# Before
puppetlabs.puppetdb.http.server:group=/pdb/query/v4/catalogs,name=<status code>
puppetlabs.puppetdb.http.server:type=/pdb/query/v4/catalogs,name=service-time
# After
puppetlabs.puppetdb.http:name=/pdb/query/v4/catalogs.<status code>
puppetlabs.puppetdb.http:name=/pdb/query/v4/catalogs.service-time
Note that these metrics are now under the same puppetlabs.puppetdb.http
namespace.
Message Queue (MQ) metrics
Command processing metrics related to the message queue
have been moved to the puppetlabs.puppetdb.mq
namespace.
We now have the following naming conventions:
# Before
puppetlabs.puppetdb.command:type=global,name=<misc>
# After
puppetlabs.puppetdb.mq:name=global.<misc>
# Before
puppetlabs.puppetdb.command:type=<command>.<version>,name=<misc>
# After
puppetlabs.puppetdb.mq:name=<command>.<version>.<misc>
For example, the following message queue metrics:
puppetlabs.puppetdb.command:type=<name>,name=discarded
puppetlabs.puppetdb.command:type=<name>,name=fatal
puppetlabs.puppetdb.command:type=<name>,name=processed
puppetlabs.puppetdb.command:type=<name>,name=processing-time
puppetlabs.puppetdb.command:type=<name>,name=retried
would now be, respectively:
puppetlabs.puppetdb.mq:name=<name>.discarded
puppetlabs.puppetdb.mq:name=<name>.fatal
puppetlabs.puppetdb.mq:name=<name>.processed
puppetlabs.puppetdb.mq:name=<name>.processing-time
puppetlabs.puppetdb.mq:name=<name>.retried
Dead Letter Office (DLO) metrics
The metrics for the DLO now have the following structure:
# Before
puppetlabs.puppetdb.command.dlo:type=global,name=<misc>
# After
puppetlabs.puppetdb.dlo:name=global.<misc>
# Before
puppetlabs.puppetdb.command.dlo:type=<filename>,name=<misc>
# After
puppetlabs.puppetdb.dlo:name=<filename>.<misc>
Storage metrics
The storage metrics' names have been shortened with the following convention:
# Before
puppetlabs.puppetdb.scf.storage:type=default,name=<misc>
# After
puppetlabs.puppetdb.storage:name=<misc>
Here are some some examples:
# Before
puppetlabs.puppetdb.scf.storage:type=default,name=duplicate-pct
puppetlabs.puppetdb.scf.storage:type=default,name=gc-time
# After
puppetlabs.puppetdb.storage:type=default,name=duplicate-pct
puppetlabs.puppetdb.storage:type=default,name=gc-time