Open-Source Wikis

/

Prometheus

/

Fun facts

prometheus/prometheus

Fun facts

A few things noticed while wandering the codebase.

The oldest line of code

The very first commit, Initial commit on 2012-11-24 03:14:12 -0800, was made well over thirteen years ago. The repo's earliest period saw a level-of-detail pivot from the original LevelDB-based prototype ("Levigo -> LevelDB in terminology and references", 2012-11-28 20:22:49 +0100) — a fun reminder that the project's storage engine wasn't always the TSDB.

"Initial commit" twice

There are two commits in the first day labelled Initial commit — one at 2012-11-24 03:14:12 -0800 and another at 2012-11-24 12:33:34 +0100 ("Initial commit of external resources."). Even disciplined projects start a little messily.

Comments by the hundred

The codebase carries about 319 TODO comments, 7 FIXME notes, and effectively zero HACK markers. The TODO count has been stable for years; some of them include an attribution like TODO(jesusvazquez) or TODO(bwplotka). A future cleanup PR could be its own contribution arc.

The longest source file

promql/engine.go at 4,700 lines is the longest non-generated, non-test Go file in the tree. The runner-up is cmd/prometheus/main.go at ~2,200 lines. On the test side, the heavyweights are tsdb/db_test.go (9,700), tsdb/head_test.go (8,300), and tsdb/db_append_v2_test.go (7,700). The pull request #17632's migration to AppenderV2 is single-handedly responsible for several of these.

Generated parser size

promql/parser/generated_parser.y.go is ~66 KB of generated Go from a ~56 KB goyacc grammar. There's a comment in CONTRIBUTING.md explaining how to set yyDebug = 1..5 for debugging; the comment is older than several of the maintainers.

A very old auth issue

The TLS-cert-paths handling for SD configs uses an interface called DirectorySetter (in discovery/discovery.go). It's named like a Java type because it does exactly what Java setters do — and because at one point the alternative was rewriting every YAML decoder. Pragmatism wins.

The CLAUDE.md aliasing trick

The repo carries both AGENTS.md and CLAUDE.md. CLAUDE.md is a one-liner: it @AGENTS.md so Claude-style agents read the same conventions everyone else does. A small and elegant solution to the "every tool wants its own config file" problem.

Naming origin: promu

promu is the build helper used across prometheus/* repos. The name is a mash-up of "Prometheus" and "promu" (from "[Pro]metheus [m]ake [u]tility"). It lives in its own repo and is invoked from Makefile.common.

Renovate is the noisiest contributor

renovate[bot] is the most-active "person" in the last 90 days at 26 commits — more than every human contributor except Julien Pivotto and Bartlomiej Plotka. Renovate manages both Go and npm dependency bumps; the auto-merge workflow handles the resulting PRs after CI.

The repo has been a CNCF project longer than most

Prometheus joined CNCF as the second project (after Kubernetes) and graduated in August 2018. The project's CNCF graduated status is the oldest among monitoring-stack projects.

Two branding eras

The original Prometheus logo was a simple flame with a chart line. The current logo (documentation/images/prometheus-logo.svg) is a stylised flaming torch on a clean background; it has been the de facto identity since around v1.5.

Six-week cadence

Releases ship every six weeks with rare exceptions. The release coordinator rotates among MAINTAINERS.md's "v3 release coordinators" list and is documented in RELEASE.md. The "Volunteer to shepherd the release v3.10" commit (Jan 2026) is a literal opt-in PR — whoever wins the round files a PR and gets the role.

The yacc lives on

PromQL is one of the few popular Go projects to still ship a yacc grammar. make parser runs goyacc and CI checks the output is committed. The setup is discreetly old-school and has held up for years; the grammar file is treated like any other source file.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Fun facts – Prometheus wiki | Factory