The repository currently contains several Grafana dashboard JSON files with heavily duplicated modules. In particular, the vLLM and SGLang dashboards share 123 element keys, and 116 of them are identical. Most repeated modules cover training, controller, storage, trajectory, layout, queries, and visualization settings.
This duplication makes dashboard maintenance error-prone: a fix or layout update often has to be repeated in multiple JSON files, and unrelated dashboards can drift over time.
Proposed solution
Introduce dashboard-as-code with reusable modules:
- Define shared panels for training, controller, storage, trajectory, and hardware metrics.
- Keep engine-specific panels separate for vLLM and SGLang.
- Generate the final Grafana JSON files from these shared definitions.
- Use stable semantic keys instead of generic keys such as panel-1.
- Add CI checks to ensure generated dashboards match their source definitions and contain no duplicate modules.
This would make dashboard updates easier to maintain, review, and test.
The repository currently contains several Grafana dashboard JSON files with heavily duplicated modules. In particular, the vLLM and SGLang dashboards share 123 element keys, and 116 of them are identical. Most repeated modules cover training, controller, storage, trajectory, layout, queries, and visualization settings.
This duplication makes dashboard maintenance error-prone: a fix or layout update often has to be repeated in multiple JSON files, and unrelated dashboards can drift over time.
Proposed solution
Introduce dashboard-as-code with reusable modules:
This would make dashboard updates easier to maintain, review, and test.