Closed quarckster closed 2 months ago
Apparently, this is not so trivial task. Unfortunately, Grafana has limitations in dashboards sharing. Grafana REST API POST /api/snapshots
endpoint clearly says:
When creating a snapshot using the API, you have to provide the full dashboard payload including the snapshot data. This endpoint is designed for the Grafana UI.
There is no API to get the "full dashboard payload". The options here could be the following:
I ended up to intersect Grafana UI calls to Grafana REST API and copied a reference dashboard model. Then I patch it for each platform and thread count. These patched models are sent to Grafana POST /api/snapshots
endpoint. This endpoint returns a snapshot URL. Due to lack of ability to set a static URL for a snapshot I had to use a third-party URL shortner service. I reserved a permanent URLs there and the publishing script updates links origins. Finally, I created a static HTML page in https://github.com/openssl/openssl-web/pull/35 PR. This PR has been merged. The resulting benchmark results are available at this link https://openssl-library.org/performance.html.
More details are here https://github.openssl.org/sysadmin/sysadmin/wiki/Performance-benchmarking-infrastructure.
Grafana dashboard with benchmark results should be publicly available. To avoid high costs for the traffic it makes sense to publish the snapshots of the charts on snapshots.raintank.io
Acceptance criteria