This directory stores the bulky, machine-readable evidence used to validate
stock Prometheus profiles in netdata/netdata.
profiles/<profile>/fixtures/contains sanitized, source-derived synthetic Prometheus exposition.profiles/<profile>/SOURCE-SEMANTICS.yamlrecords source-owned metric semantics and exact upstream revisions.- Optional
SOURCE-REGISTRY.yamlcontains generated mechanical registration truth. Its siblingSOURCE-REGISTRY.generator.yamlandgenerator/directory reproduce it from the declared upstream source closure.
Each proof case is a realizable deployment state. Separate fixtures represent mutually exclusive releases, roles, features, and exporter modes.
Operational dumps, credentials, private endpoints, and real deployment label values must not be committed here. Profile
design, replay cases, and operator rationale remain in the matching
src/go/plugin/go.d/collector/prometheus/profile-proofs/<profile>/ directory in netdata/netdata.
Run all generated-registry checks from the repository root:
python3 prometheus/tools/source_registry_runner.pyThe fixed runner fetches each declared full upstream commit, exposes only declared source files, the reviewed generator
directory, and its shared prometheus_client source parser, runs conventionally discovered fail-closed tests with network
and writes disabled, and compares generated stdout byte-for-byte with the committed registry. Generators use only the
Python standard library.
FastAPI, LiteLLM, and vLLM extraction fingerprints the normalized AST of each complete Python module whose executable shape
is an input, including imports and other global bindings. Formatting and comments do not affect the fingerprint; any
executable source-shape change fails closed until the pinned upgrade is reviewed and the expected fingerprint is replaced.
The shared prometheus_client fingerprint also closes every consumer over the _created emitter implementation and its
positive feature gate. Other generators use source-language-specific closed grammars and negative tests instead.
Prometheus profile validation uses the latest netdata/testdata master. Each profile has one stable directory; proof
data and the matching Netdata profile proof are updated together when exporter coverage or validation behavior changes.
Develop coordinated changes on paired feature branches in a contributor's testdata fork and Netdata checkout. Validate the
Netdata proof against the local testdata branch, merge testdata first, update the Netdata checkout to merged testdata
master, rerun the complete consumer proof, and merge the paired Netdata pull request promptly.
Git owns transport integrity; this repository does not preserve historical proof revisions for old Netdata checkouts.