grafanix

Tags
    :mnet:

Project to programmatically generate grafana dashboards using the nix programming language, and provision grafana instances with them. Shitty boilerplate antipatterns surfaced, and I didn't understand why. What went wrong?

Grafana expects dashboards to be configured using JSON - but different dashboard elements - for instance, different panel types or variable types - expect JSON objects with different data in them, and use that data differently. Nowhere are these expectations all documented - you have to go look at the defaults that get populated when creating those elements from the UI, and infer from those what the expectations are. This is stupid. I want autodoc. I just want types goddammit.

In the process of writing the damn gluey mess I also inevitably had to interface with grafana's horrendous slowness. There has to be a better way to render these graphs than what it's doing. There just has to be.

All in all, a profoundly educational experience: I learned a lot about what I need and want software to do.

Made me want to wirte my own metrics dashboard siutation.