# Library Prometheus

# Package Core

## Overview

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

## Classes

### 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.

### struct Params

### class Registry

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

### class TextExporter

Exporter implementation for the Prometheus text format.