Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
b10c2d6
testdata(prometheus): add runtime semantic evidence
ilyam8 Aug 7, 2026
ab26e24
testdata(prometheus): add FastAPI semantic evidence
ilyam8 Aug 8, 2026
4ecd1e2
testdata(prometheus): migrate VLLM semantic evidence
ilyam8 Aug 8, 2026
7c98a50
testdata(prometheus): migrate VLLM Ray semantic evidence
ilyam8 Aug 8, 2026
abb5cbb
feat(prometheus): add LiteLLM semantic evidence
ilyam8 Aug 8, 2026
0b692ae
feat(prometheus): add process runtime semantic proof
ilyam8 Aug 9, 2026
f1cebb7
feat(prometheus): add python gc semantic proof
ilyam8 Aug 9, 2026
61455df
feat(prometheus): generate FastAPI source registry
ilyam8 Aug 9, 2026
3d36575
feat(prometheus): migrate FastAPI semantic evidence
ilyam8 Aug 9, 2026
6aff6e0
feat(prometheus): generate vLLM source registry
ilyam8 Aug 10, 2026
b194a08
feat(prometheus): unify vLLM source semantics
ilyam8 Aug 10, 2026
f9b14b1
feat(prometheus): prove vLLM source relationships
ilyam8 Aug 10, 2026
7c18934
feat(prometheus): align vLLM source semantics
ilyam8 Aug 10, 2026
7d7f47f
feat(prometheus): complete unified vLLM semantic evidence
ilyam8 Aug 10, 2026
f4864e4
refactor(prometheus): remove split vLLM Ray evidence
ilyam8 Aug 10, 2026
d04747d
feat(prometheus): migrate LiteLLM semantic proof evidence
ilyam8 Aug 10, 2026
c678cc2
feat(prometheus): generate Ceph source registry
ilyam8 Aug 10, 2026
1562d57
feat(prometheus): cover Ceph NVMe-oF source registry
ilyam8 Aug 10, 2026
f9e3c5e
fix(prometheus): model Ceph service identity family
ilyam8 Aug 10, 2026
cb4faf4
feat(prometheus): add Ceph source semantics
ilyam8 Aug 10, 2026
1a191cb
fix(prometheus): correct Ceph priority activation
ilyam8 Aug 10, 2026
dbfb168
feat(prometheus): declare raw registry branches
ilyam8 Aug 10, 2026
c0b9b15
feat(prometheus): split Ceph source fixtures
ilyam8 Aug 10, 2026
a782e34
feat(prometheus): model Ceph contributor branches
ilyam8 Aug 10, 2026
ee9feda
feat(prometheus): complete Ceph source semantics
ilyam8 Aug 10, 2026
9577ea3
feat(prometheus): add HAProxy semantic proof data
ilyam8 Aug 10, 2026
43e1772
refactor(prometheus): remove legacy proof evidence
ilyam8 Aug 10, 2026
3f70e71
refactor(prometheus): share client registry parsing
ilyam8 Aug 10, 2026
19ce234
fix(prometheus): repair registry sandbox traversal
ilyam8 Aug 10, 2026
5ea2c42
refactor(prometheus): publish source semantics v1
ilyam8 Aug 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.gitattributes text eol=lf
/prometheus/README.md text eol=lf
/prometheus/ATTRIBUTION.md text eol=lf
/prometheus/profiles/**/manifest.yaml text eol=lf
/prometheus/profiles/**/SOURCE-INVENTORY.tsv text eol=lf linguist-generated=true
/prometheus/profiles/** text eol=lf
/prometheus/profiles/**/SOURCE-REGISTRY.yaml linguist-generated=true
/prometheus/profiles/**/fixtures/*.prom text eol=lf linguist-generated=true
32 changes: 32 additions & 0 deletions .github/workflows/prometheus-source-registries.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Prometheus source registries

on:
pull_request:
paths:
- '.github/workflows/prometheus-source-registries.yml'
- 'prometheus/profiles/**/SOURCE-REGISTRY.generator.yaml'
- 'prometheus/profiles/**/SOURCE-REGISTRY.yaml'
- 'prometheus/profiles/**/generator/**'
- 'prometheus/tools/**'
push:
branches: [master]
paths:
- '.github/workflows/prometheus-source-registries.yml'
- 'prometheus/profiles/**/SOURCE-REGISTRY.generator.yaml'
- 'prometheus/profiles/**/SOURCE-REGISTRY.yaml'
- 'prometheus/profiles/**/generator/**'
- 'prometheus/tools/**'

permissions:
contents: read

jobs:
verify:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Test shared generator runtime
run: python3 -m unittest discover -s prometheus/tools -p 'test_*.py'
- name: Reproduce generated registries
run: python3 prometheus/tools/source_registry_runner.py
15 changes: 15 additions & 0 deletions prometheus/ATTRIBUTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,21 @@ remain in the corresponding `netdata/netdata` profile proof.
- <https://github.com/BerriAI/litellm/blob/23de7a15d9d40006ee596e617475ba101d60c5e9/LICENSE>
- <https://github.com/prometheus/client_python/blob/f417f6ea8f058165a1934e368fed245e91aafc14/LICENSE>

## FastAPI instrumentator

- `trallnag/prometheus-fastapi-instrumentator` at `2f841527277a21ac9ea622a9f923a5f9078234c4`.
- `prometheus/client_python` at `f417f6ea8f058165a1934e368fed245e91aafc14`.
- Licenses:
- <https://github.com/trallnag/prometheus-fastapi-instrumentator/blob/2f841527277a21ac9ea622a9f923a5f9078234c4/LICENSE>
- <https://github.com/prometheus/client_python/blob/f417f6ea8f058165a1934e368fed245e91aafc14/LICENSE>

## Shared Python runtime collectors

- The `process_runtime` and `python_gc` source packs use `prometheus/client_python` 0.24.1 at
`f417f6ea8f058165a1934e368fed245e91aafc14`.
- License:
<https://github.com/prometheus/client_python/blob/f417f6ea8f058165a1934e368fed245e91aafc14/LICENSE>

## vLLM

- `vllm-project/vllm` at:
Expand Down
46 changes: 26 additions & 20 deletions prometheus/README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,38 @@
# Prometheus profile evidence
# Prometheus profile proof data

This directory stores the bulky, machine-readable evidence used to validate
stock Prometheus profiles in `netdata/netdata`.

## Data boundary

- `profiles/<profile>/fixtures/` contains sanitized, source-derived synthetic
Prometheus exposition.
- `profiles/<profile>/SOURCE-INVENTORY.tsv` contains the generated
source-family-to-profile reconciliation ledger.
- `profiles/<profile>/fixtures/` contains sanitized, source-derived synthetic Prometheus exposition.
- `profiles/<profile>/SOURCE-SEMANTICS.yaml` records source-owned metric semantics and exact upstream revisions.
- Optional `SOURCE-REGISTRY.yaml` contains generated mechanical registration truth. Its sibling
`SOURCE-REGISTRY.generator.yaml` and `generator/` directory reproduce it from the declared upstream source closure.

These fixtures are structural unions assembled from public exporter source and
documentation. Mutually exclusive releases, roles, features, and exporter
modes may coexist to exercise the complete declared profile surface. They are
not recordings of one realizable deployment.
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. The compact operator model, validation job,
validation summary, source revisions, and detailed provenance remain in the
matching `src/go/plugin/go.d/collector/prometheus/profile-proofs/<profile>/`
directory in `netdata/netdata`.
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`.

## Generated registries

Run all generated-registry checks from the repository root:

```sh
python3 prometheus/tools/source_registry_runner.py
```

The 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.

## Consumer contract

Prometheus profile validation uses the latest `netdata/testdata` `master`. Each
profile has one stable directory; evidence and the matching validator proof are
updated together when exporter coverage or validation behavior changes.
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.

The Netdata proof descriptor owns expected counts, findings, and exact source
inventory reconciliation. Git owns transport integrity; this repository does
not preserve historical evidence revisions for old Netdata checkouts.
Git owns transport integrity; this repository does not preserve historical proof revisions for old Netdata checkouts.
Loading
Loading