openssl / project

Tracking of project related issues
2 stars 1 forks source link

Publish Benchmark dashboard #822

Closed quarckster closed 2 months ago

quarckster commented 2 months ago

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

quarckster commented 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:

quarckster commented 2 months ago

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.