namespace Prometheus


Classes: AtomicFloat, CallbackMetric, Collector, Counter, CounterSample, Exporter, Gauge, GaugeSample, Histogram, HistogramData, HistogramSample, IntCounter, IntGauge, LabeledMetric, LabeledMetricImpl, Metric, MetricsRequestHandler, MetricsServer, ProcessCollector, Registry, TextExporter, ThreadPoolCollector

Types Aliases: CallbackCounter, CallbackGauge, CallbackIntCounter, CallbackIntGauge


class AtomicFloat

This class provides efficient atomic operations on float and double values. 

class CallbackMetric

A generic Metric implementation where the sample is obtained via a callback function or lambda. 

class Collector

This is the base class for all metrics, such as Counter, Gauge and Histogram

class Counter

A generic counter supporting labels. 

class CounterSample


class Exporter

The Exporter interface is used to format and write metrics to an output stream. 

class Gauge

A generic gauge supporting labels. 

class GaugeSample


class Histogram

A histogram with a configurable number of buckets. 

struct HistogramData


class HistogramSample


class IntCounter

IntCounter is a very low overhead implementation of a Counter, supporting 64-bit unsigned integer values only, using std::atomic Labels are not supported. 

class IntGauge

IntGauge is a very low overhead implementation of a Gauge, supporting 64-bit integer values only, using std::atomic. 

class LabeledMetric

This class adds support for labels to the basic Metric class. 

class LabeledMetricImpl

A helper class for implementing LabeledMetric classes such as Counter, Gauge and Histogram

class Metric

This is the base class for all metrics, such as Counter, Gauge and Histogram

class MetricsRequestHandler

This class handles incoming HTTP requests for metrics in the Prometheus text format. 

class MetricsServer

A basic HTTP server for handling Prometheus metrics scraping requests, based on Poco::Net::HTTPServer

class ProcessCollector

This Collector provides process-specific metrics: - process_cpu_seconds_total: Total user and system CPU time spent in seconds. 

class Registry

The metric registry is a collection of all active Collector instances. 

class TextExporter

Exporter implementation for the Prometheus text format. 

class ThreadPoolCollector

This Collector provides Poco::ThreadPool specific metrics: - poco_threadpool_max_threads: Maximum number of threads available in the thread pool (capacity). 

Types Aliases


using CallbackCounter = CallbackMetric < double, Metric::Type::COUNTER >;


using CallbackGauge = CallbackMetric < double, Metric::Type::GAUGE >;


using CallbackIntCounter = CallbackMetric < Poco::UInt64, Metric::Type::COUNTER >;


using CallbackIntGauge = CallbackMetric < Poco::Int64, Metric::Type::GAUGE >;