PCA study materials
PCA study resources

PCA key terms

PCA · Get comfortable with the vocabulary.

Time series

A stream of numeric samples identified by a metric name plus a set of label pairs, each sample carrying a timestamp. Prometheus stores all data in this form and queries operate over it.

Related: Label set, Sample, Metric name
Sample

A single data point consisting of a float value and a millisecond timestamp belonging to one time series. Scrapes append one sample per matching series per interval.

Related: Time series, Scrape interval
Label set

The collection of key-value pairs that, together with the metric name, uniquely identifies a time series. Any label change creates a different series.

Related: Time series, Cardinality, Metric name
Metric name

The identifier describing what is being measured, such as http_requests_total. Convention appends _total to counters and uses base units like seconds and bytes.

Related: Counter, Naming conventions, Label set
Counter

A cumulative metric that only increases, or resets to zero on restart. Query rates with rate() or increase() rather than reading the raw value.

Related: Gauge, rate(), increase()
Gauge

A metric representing a value that can go up or down arbitrarily, such as temperature or queue depth. Graph or compare raw values directly; rate functions are usually wrong for gauges.

Related: Counter, Histogram, Summary
Histogram

A metric type that counts observations into configurable buckets and also exposes _sum and _count series. Buckets are cumulative, so each bucket counts all observations at or below its boundary.

Related: Summary, histogram_quantile(), Exemplar
Summary

A metric type that reports client-side computed quantiles over a sliding window plus _sum and _count. Quantiles cannot be aggregated across instances, unlike histogram buckets.

Related: Histogram, histogram_quantile()
Exemplar

An optional trace or request identifier attached to a histogram observation, letting you jump from a metric spike to a specific trace. Requires OpenMetrics exposition and exemplar storage enabled.

Related: Histogram, OpenMetrics
Cardinality

The number of distinct time series a metric produces. High cardinality from unbounded label values such as user IDs or raw URLs drives memory and query cost up sharply.

Related: Label set, Relabeling
Pull model

Prometheus actively fetches metrics from targets over HTTP at fixed intervals instead of waiting for pushes. This makes target health directly observable through the up metric.

Related: Scrape, Pushgateway, up metric
Scrape

A single HTTP GET of a target's /metrics endpoint performed by Prometheus on schedule. Each scrape yields one sample per returned series at that timestamp.

Related: Scrape interval, Pull model, Target
Scrape interval

The configured time between scrapes of a target, commonly 15 or 30 seconds. It bounds the resolution of rate calculations and must be shorter than any alert's for duration.

Related: Scrape, Lookback delta, for clause
Target

An endpoint Prometheus scrapes, described by labels such as job and instance. Targets come from static configuration, service discovery, or relabeling rules.

Related: Service discovery, Relabeling, job label
Service discovery

A mechanism that dynamically supplies target lists from systems like Kubernetes, Consul, EC2, or DNS. Discovered metadata becomes labels usable for filtering and relabeling.

Related: Target, Relabeling
Relabeling

Rules that rewrite, drop, or keep labels and targets during discovery or before ingestion. Commonly used to filter noisy targets and to reduce label cardinality.

Related: Service discovery, Cardinality, Target
Pushgateway

An intermediary that accepts pushed metrics from short-lived batch jobs so Prometheus can scrape them later. It never forgets series, so pushed labels must stay bounded.

Related: Pull model, Exporter, Cardinality
Exporter

A program that translates a system's native metrics into Prometheus exposition format on an HTTP endpoint. Examples include node_exporter and mysqld_exporter.

Related: Exposition format, Pushgateway, Instrumentation
Exposition format

The plain-text representation of metrics: HELP and TYPE comments followed by lines of name, labels, and value. Prometheus scrapes this format; OpenMetrics is a stricter variant.

Related: Exporter, OpenMetrics, Instrumentation
OpenMetrics

A standardized evolution of the Prometheus text format adding features such as exemplars and explicit end-of-stream markers. Negotiated over HTTP content types during scraping.

Related: Exposition format, Exemplar
Instrumentation

Adding metric collection code directly into an application using a client library. Direct instrumentation gives business-level insight that black-box exporters cannot see.

Related: Client library, Exporter
Client library

A language-specific package that registers metrics and serves them in exposition format. Official libraries exist for Go, Java, Python, Ruby, and several other languages.

Related: Instrumentation, Exposition format
Selector

The metric name plus label matchers at the start of a PromQL expression, such as http_requests_total{job="api"}. Matchers support =, !=, =, and ! operators.

Related: PromQL, Label set, Instant vector
PromQL

Prometheus's query language for selecting and transforming time series. It supports instant and range vectors, functions, aggregation, and binary operations with label matching.

Related: Selector, Instant vector, Range vector
Instant vector

A set of time series each holding a single sample at one evaluation timestamp. Most PromQL expressions and alert rules evaluate to an instant vector.

Related: Range vector, PromQL
Range vector

A set of series each holding all samples within a time window, written with a duration such as [5m]. Range vectors cannot be graphed directly and feed functions like rate().

Related: Instant vector, rate(), Lookback delta
rate()

A function that computes the per-second average increase of a counter over a range window, handling resets. The window should span at least four scrape intervals for accuracy.

Related: Counter, increase(), Range vector
increase()

A function returning the estimated total growth of a counter across a range window, equivalent to rate() multiplied by the window length in seconds. Results can be fractional.

Related: rate(), Counter
histogram_quantile()

A function estimating a quantile from cumulative histogram buckets, given a target quantile and a bucket series grouped by le. Accuracy is limited by bucket boundaries.

Related: Histogram, Summary
Aggregation operator

Operators such as sum, avg, max, and count that collapse many series into fewer, optionally grouped by labels. They reduce dimensionality but discard detail.

Related: PromQL, Cardinality
Lookback delta

How far back Prometheus searches for the most recent sample when evaluating an instant vector. Defaults to five minutes, so stale series can appear briefly after a target stops.

Related: Instant vector, Scrape interval, Staleness
Staleness

The marker Prometheus writes when a series disappears from a scrape, so queries stop returning old values. Prevents alerts from lingering after a target vanishes.

Related: Lookback delta, up metric
Recording rule

A rule that periodically evaluates a PromQL expression and stores the result as a new series. Used to precompute expensive queries and simplify dashboards and alerts.

Related: Alerting rule, PromQL
Alerting rule

A rule containing a PromQL expression, a for duration, and labels and annotations. It fires when the expression returns results continuously for the whole for period.

Related: for clause, Alertmanager, Recording rule
for clause

The duration an alerting rule's condition must remain true before the alert becomes firing. It suppresses flapping but delays notification.

Related: Alerting rule, Alertmanager
Alertmanager

A separate service that receives alerts from Prometheus and handles deduplication, grouping, inhibition, silencing, and routing to receivers such as email or chat.

Related: Alerting rule, Silence, Inhibition
Inhibition

An Alertmanager rule that suppresses certain alerts while a matching higher-severity alert is active. Reduces noise during incidents that trigger many related alerts.

Related: Alertmanager, Silence
Silence

A time-bounded mute on alerts matching given label matchers, created manually or via API. Useful during planned maintenance when inhibition rules do not apply.

Related: Alertmanager, Inhibition
up metric

An automatically generated gauge that is 1 when the last scrape of a target succeeded and 0 otherwise. The basis for target-availability alerts and scrape health dashboards.

Related: Scrape, Pull model, Staleness
job label

A label Prometheus assigns to group targets of the same type, set by the scrape configuration's job_name. Commonly used to aggregate and filter across instances.

Related: Target, Label set