cryostatio / cryostat-grafana-dashboard

Apache License 2.0
0 stars 6 forks source link

feat(datasource): migrate simple-json to infinity datasource, upgrade Angular panels #68

Closed andrewazores closed 2 months ago

andrewazores commented 3 months ago

Fixes #25 Fixes #60

Current bugs: 1. The main dashboard panels are still placed into rows, but the rows are expanded by default and any chart that is in the viewport when the dashboard loads will try to render, triggering a datasource query, which can be expensive. Updating the dashboard JSON definition to collapse the rows leads to empty collapsed rows and visible panels rendered outside of the rows, but when this happens, expanding the empty row and collapsing it again causes it to "recapture" the chart panels and hide them.

On load: image

"Expand" Network row: image

Collapse Network row: image

  1. The object allocation sub-dashboard's query for determining what classes have been allocated (setting the objectClass template variable) querys from the Unix epoch 0 (ie 1970-01-01-00:00:00) until 1000 years later. The ${__timeFrom:date} and ${__timeTo:date} macros that work in other datasource queries do not seem to work in the template variable query - the macros both always get substituted with the Unix epoch 0, leading to a query with a range of 0 duration, and no samples, therefore an empty dashboard. The 1970-2970 range workaround works fine and will work for most of this millenium, and captures all of the allocated class names, so this is not actually causing any problem.

To Test

  1. Check out PR
  2. ./build.sh && podman image prune -f
  3. cd cryostat ; ./smoketest.bash -Ot and wait for it to come up
  4. Select cryostat3:9091 target and "View in Grafana" on one of the existing recordings
  5. The Grafana dashboard should appear. There should be no more Angular deprecation warnings. Otherwise, the dashboard should just look a feel a little "fresher" and maybe smoother, but function the same as before.

Before: image

After: image