prometheus/prometheus
Feature flags catalogue
The authoritative user-facing reference is docs/feature_flags.md. This page is a quick index — the implementation file, the category, and the current status as of 3.11.
| Flag | Category | Status | Where it's enforced |
|---|---|---|---|
exemplar-storage |
TSDB | Stable | tsdb/exemplar.go + web/api/v1/api.go |
memory-snapshot-on-shutdown |
TSDB | Stable | tsdb/head.go::Snapshot, replayed in Init |
extra-scrape-metrics |
Scrape | Deprecated | scrape/scrape.go; replaced by extra_scrape_metrics config field |
promql-per-step-stats |
PromQL | Stable | promql/engine.go::EngineOpts |
promql-experimental-functions |
PromQL Functions | Evolving | promql/parser/functions.go::Experimental |
promql-duration-expr |
PromQL | Stable | promql/parser/, promql/durations.go |
created-timestamp-zero-ingestion |
Scrape | Stable | scrape/scrape.go, model/textparse |
st-storage |
TSDB | New (3.11) | tsdb/head_append_v2.go, agent path |
xor2-encoding |
TSDB | New (3.11) | tsdb/chunkenc/xor2.go |
fast-startup |
TSDB | New (3.11) | tsdb/head.go |
out-of-order-attributes |
TSDB | Experimental | tsdb/head.go |
metadata-wal-records |
TSDB | Stable | tsdb/record/record.go |
auto-gomaxprocs |
Prometheus | Stable | cmd/prometheus/main.go |
auto-gomemlimit |
Prometheus | Stable | cmd/prometheus/main.go |
native-histograms |
TSDB | Stable | (Default-on in 3.x; flag accepted for back-compat.) |
agent |
Prometheus | Stable | The --agent CLI flag (not a feature flag in the registry). |
enable-feature=otlp-deltatocumulative |
OTLP Receiver | Experimental | storage/remote/write_otlp_handler.go |
enable-feature=otlp-native-delta-ingestion |
OTLP Receiver | Experimental | storage/remote/write_otlp_handler.go |
old-ui |
UI | Deprecation path | web/web.go |
delayed-compaction |
TSDB | Stable | tsdb/db.go::compact |
concurrent-rule-eval |
Rules | Stable | rules/group.go |
head-mmap-prefault |
TSDB | Experimental | tsdb/head.go |
The list above is a snapshot; consult docs/feature_flags.md for descriptions, syntax, and any deprecation timelines.
How a flag is wired
--enable-feature=foo
|
v
flagConfig.featureList[] (cmd/prometheus/main.go, kingpin)
|
v
features.Set(category, "foo", true) (util/features)
|
v
relevant subsystem reads the registry during construction
|
v
behaviour changes
|
v
/api/v1/features exposes the current state/api/v1/features returns the runtime view; the UI uses it to grey out experimental controls.
Promotion timeline
docs/feature_flags.md is updated whenever a flag changes status. The release coordinator removes flags during release cuts when:
- The behaviour is on by default.
- The flag has been deprecated for at least one minor.
docs/migration.mddocuments the upgrade path.
See Feature flags feature page for the developer-facing documentation.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.