etcd-io/etcd
tools
Internal developer and operator tools. Source: tools/.
Purpose
tools/ is a grab bag of helpers that are too specific to live in production code but too useful to be hidden in scripts. Three of them are independently-tagged Go modules; the rest are simple main packages built by make tools.
Inventory
| Tool | Purpose |
|---|---|
tools/benchmark/ |
Workload generator; make bench-put is a wrapper. Used to produce repeatable throughput numbers for releases. |
tools/check-grpc-experimental/ |
Counterpart of make verify-grpc-experimental; flags new uses of grpc.experimental.*. |
tools/etcd-dump-db/ |
Iterates bbolt buckets, dumps revisions, raw key/value pairs. Heavily used in postmortems. |
tools/etcd-dump-logs/ |
Decodes WAL files into human-readable form (term, index, type, payload). |
tools/etcd-dump-metrics/ |
Boots a member, scrapes /metrics, outputs the full metric catalogue — CI uses it to detect accidental drops. |
tools/local-tester/ |
Tiny Procfile-driven cluster with deterministic faults; useful when you don't need the full robustness suite. |
tools/mod/ |
Independent Go module pinning build tools (e.g. protoc-gen-grpc-gateway, gofail). |
tools/proto-annotations/ |
Engine behind make verify-proto-annotations. |
tools/rw-heatmaps/ |
Renders read/write throughput heatmaps from benchmark output. |
tools/testgrid-analysis/ |
Independent Go module that ingests Prow testgrid data and produces flake reports. |
How they're built
scripts/build_tools.sh builds the main packages into ./bin/. The independent modules under tools/mod/, tools/rw-heatmaps/, and tools/testgrid-analysis/ use their own go.mod and are listed in go.work.
Linting / config
tools/.golangci.yaml, tools/.markdownlint.jsonc, tools/.yamllint, and tools/.yamlfmt live at the top of tools/ and apply to the whole repository.
Entry points for modification
- New CI-only checker →
tools/<name>/plus amake verify-<name>target wired throughscripts/test.sh. - New benchmark scenario → extend
tools/benchmark/(Cobra subcommand), wire intoscripts/benchmark_test.sh. - New postmortem helper → match the style of
tools/etcd-dump-db/andtools/etcd-dump-logs/.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.