Saving screenshots of graph/panel/dashboard as jpg/png file uses phantomjs binary and requires server-side storage for generated files (webdav, etc). It is also slow and resource hungry.
And there are rumors that phantomjs author announced freeze of its development.
Would be really nice to have this screenshot functionality completely browser-side. For example, using html2canvas js library or similar to render png/jpg image of selected subset of dashboard and show a download link to user. Even with some loss of styles/formatting generated image may be good enough to attach in email or send in alert as inline image (dataurl).
Also recent versions of grafana-server can still run even on old CentOS 5.x (thanks to Go static linking) except for phantomjs binary which wants newer versions of dynamic C/C++ libs.
I have written my first plugin for grafana to make panel screenshots completely browser-side (screenshot panel plugin). It works fine for me in Grafana 4.6.2 (only tested in recent Chrome and old Firefox 45.7.0 though).
Still it would be great to have this kind of functionality be built-in - now I have to add my screenshot panel on every dashboard where I need it.
And one related question: currently all screenshots accumulated in panel are lost on page reload or every time its row is collapsed or when I switch to another dashboard. This prevents creation of cross-dashboard screenshots collection. I’m looking for ideas on how to make it possible.
Is it possible to render my panel outside of main grafana dashboard container, so that it would survive dashboard switching?