Class CollectorRegistry

java.lang.Object
io.prometheus.client.CollectorRegistry

public class CollectorRegistry extends Object
A registry of Collectors.

The majority of users should use the defaultRegistry, rather than instantiating their own.

Creating a registry other than the default is primarily useful for unittests, or pushing a subset of metrics to the Pushgateway from batch jobs.

  • Field Details

    • defaultRegistry

      public static final CollectorRegistry defaultRegistry
      The default registry.
    • namesCollectorsLock

      private final Object namesCollectorsLock
    • collectorsToNames

      private final Map<Collector,List<String>> collectorsToNames
    • namesToCollectors

      private final Map<String,Collector> namesToCollectors
    • autoDescribe

      private final boolean autoDescribe
  • Constructor Details

    • CollectorRegistry

      public CollectorRegistry()
    • CollectorRegistry

      public CollectorRegistry(boolean autoDescribe)
  • Method Details

    • register

      public void register(Collector m)
      Register a Collector.

      A collector can be registered to multiple CollectorRegistries.

    • unregister

      public void unregister(Collector m)
      Unregister a Collector.
    • clear

      public void clear()
      Unregister all Collectors.
    • collectors

      private Set<Collector> collectors()
      A snapshot of the current collectors.
    • collectorNames

      private List<String> collectorNames(Collector m)
    • metricFamilySamples

      public Enumeration<Collector.MetricFamilySamples> metricFamilySamples()
      Enumeration of metrics of all registered collectors.
    • filteredMetricFamilySamples

      public Enumeration<Collector.MetricFamilySamples> filteredMetricFamilySamples(Set<String> includedNames)
      Enumeration of metrics matching the specified names.

      Note that the provided set of names will be matched against the time series name and not the metric name. For instance, to retrieve all samples from a histogram, you must include the '_count', '_sum' and '_bucket' names.

    • getSampleValue

      public Double getSampleValue(String name)
      Returns the given value, or null if it doesn't exist.

      This is inefficient, and intended only for use in unittests.

    • getSampleValue

      public Double getSampleValue(String name, String[] labelNames, String[] labelValues)
      Returns the given value, or null if it doesn't exist.

      This is inefficient, and intended only for use in unittests.