I wrote a few Grafana Panels a few years ago. Some of them are still used by the community. I do not use Grafana on a daily basis because lots of my databases are ElasticSearch based and thus I am mostly using the Kibana data explorer.

As I am between two missions, and as I have a few free days, my first idea was to rewrite my Kibana plugin that was using AngularJS using the new system proposed by Kibana as of version 7.5.

Writing Kibana plugins has always been painful as the plugin model is evolving all the time (At one point it was one plugin version per ElasticSearch version) and I was astonished to discover that it is not getting better. There is no documentation available and ElasticSearch still declare that plugin compatibility is not guarenteed.

So I went back to my Grafana plugin in order to see how they tackle the same problem on their side. Grafana keeps a high compatibilty with older plugins. Things written 2 years ago have still a good chance to work today, which is great. They propose a new system to write plugins that is based on React that works perfectly and that is very well documented here: https://grafana.com/tutorials/build-a-panel-plugin/#8

If you follow the tutorial you should be able to build a panel in a few hours. Find below the link to my grafana plugin that displays data as SVG graphics: https://github.com/snuids/grafana-svg-panel

This is the kind of documentations and tutorials I was expecting from ElasticSearch.