Open-Source Wikis

/

Elasticsearch

/

By the numbers

elastic/elasticsearch

By the numbers

Quantitative snapshot of the Elasticsearch repository. Data collected on 2026-04-30 against main at commit 38c64ae3a5c.

Size

xychart-beta horizontal
  title "Source files by language"
  x-axis "Files"
  y-axis ["Java", "YAML", "Markdown", "Gradle", "Shell", "Asciidoc", "Groovy", "Python"]
  bar [28913, 1926, 2779, 564, 68, 40, 86, 5]
Metric Value
Java source files 28,913
Java lines of code (incl. blanks/comments) ~5.75 million
YAML files (REST tests + config) 1,926
Markdown files 2,779
Asciidoc files 40
Gradle build scripts 564
build.gradle projects 353 (Gradle subprojects)
Shell scripts 68

Repository scope

The repository is one of the largest publicly developed Java codebases. The server/ directory alone is 4,732 Java files; x-pack/ adds 9,760 production Java files and an even larger amount of tests.

Top-level directory Java files (production)
server/src/main/java 4,732
x-pack/.../src/main/java 9,760
modules/ thousands across 30+ modules
plugins/ hundreds across 18 plugins
libs/ hundreds across 30+ libs

Activity

Metric Value
Total commits 99,221
First commit 2010-02-08
Latest commit 2026-04-30
Commits in last 90 days 3,904
Unique authors in last 365 days 341
Tags (releases) hundreds — newest are v9.3.3, v9.2.8, v8.19.14

Churn hotspots (last 90 days)

Path Commits
muted-tests.yml 1,243
x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/EsqlCapabilities.java 168
server/src/main/resources/transport/upper_bounds/9.4.csv 79
libs/simdvec/native/publish_vec_binaries.sh 47
x-pack/plugin/stateless/src/main/java/org/elasticsearch/xpack/stateless/StatelessPlugin.java 46
libs/native/libraries/build.gradle 46
x-pack/plugin/esql-datasource-parquet/src/main/java/org/elasticsearch/xpack/esql/datasource/parquet/ParquetFormatReader.java 41
x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/analysis/VerifierTests.java 39
x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/CsvTests.java 38
x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/planner/LocalExecutionPlanner.java 37

muted-tests.yml is the central registry of currently-flaky tests that are skipped from CI; its very high churn reflects the project's "mute first, fix in a follow-up" policy rather than instability of one component.

The pattern below it is unambiguous: ES|QL and stateless are the most actively-evolving subsystems in the project right now.

Bot-attributed commits

A grep of Co-authored-by trailers in the last year finds only a handful of bot-authored or bot-co-authored commits (e.g. elasticsearchmachine, the version-bump bot). Day-to-day code is written by humans; automation is concentrated in CI rather than in commits.

Complexity hotspots

A few central files exceed 4,000 lines and are imported by hundreds of others:

  • server/src/main/java/org/elasticsearch/action/ActionModule.java — registers the entire action catalog.
  • server/src/main/java/org/elasticsearch/node/Node.java — wires all node services through the injector.
  • server/src/main/java/org/elasticsearch/index/shard/IndexShard.java — the per-shard lifecycle and operation entry point.
  • server/src/main/java/org/elasticsearch/cluster/metadata/Metadata.java — top-level cluster metadata document.
  • x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/analysis/Analyzer.java — ES|QL semantic analyzer.

Build scope

353 Gradle subprojects, three included builds (build-conventions, build-tools, build-tools-internal), and a custom plugin set under build-tools-internal/src/main/groovy covering distribution packaging, REST API spec validation, fixtures (Docker Compose), test runner customizations, and BWC builds for prior major versions.

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

By the numbers – Elasticsearch wiki | Factory