Grafana dashboard generator tool
Initial commit for the generate-rust-dashboards tool. This auto-generates Grafana dashboards for teams that own Rust Components. There's still a lot of work to do, but this feels like a good start.
Pull Request checklist
- Breaking changes: This PR follows our breaking change policy
- [ ] This PR follows the breaking change policy:
- This PR has no breaking API changes, or
- There are corresponding PRs for our consumer applications that resolve the breaking changes and have been approved
- [ ] This PR follows the breaking change policy:
- [ ] Quality: This PR builds and tests run cleanly
- Note:
- For changes that need extra cross-platform testing, consider adding
[ci full]to the PR title. - If this pull request includes a breaking change, consider cutting a new release after merging.
- For changes that need extra cross-platform testing, consider adding
- Note:
- [ ] Tests: This PR includes thorough tests or an explanation of why it does not
- [ ] Changelog: This PR includes a changelog entry in CHANGELOG.md or an explanation of why it does not need one
- Any breaking changes to Swift or Kotlin binding APIs are noted explicitly
- [ ] Dependencies: This PR follows our dependency management guidelines
- Any new dependencies are accompanied by a summary of the due diligence applied in selecting them.
This tool generates JSON files, which devs can then upload to the Grafana import page. Here's examples from the current config:
- Sync team dashboard.
- DISCO team demo dashboard
- You can click on most of the graphs to get a details page with more info.
There's a bunch of code here and probably lots of opportunities to improve it. I guess the main question is if this is leading us down a path we'll regret in the future. For example are devs going to want to hand-customize their dashboards, which will then be lost if they re-generate and re-import the JSON.
This doesn't handle alerting. AFAICT, that needs to be set up manually.