Open-Source Wikis

/

Prometheus

/

Reference

/

Feature flags catalogue

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.md documents 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.

Feature flags catalogue – Prometheus wiki | Factory