Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 32 commits into from
Jul 19, 2024

Conversation

andrewazores
Copy link
Member

@andrewazores andrewazores commented Jul 5, 2024

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

@andrewazores andrewazores added chore Refactor, rename, cleanup, etc. feat New feature or request labels Jul 8, 2024
@andrewazores andrewazores changed the title feat(datasource): migrate from simple-json to infinity datasource" feat(datasource): migrate from simple-json to infinity datasource Jul 8, 2024
@andrewazores andrewazores changed the title feat(datasource): migrate from simple-json to infinity datasource feat(datasource): migrate simple-json to infinity datasource, upgrade Angular panels Jul 8, 2024
@andrewazores andrewazores marked this pull request as ready for review July 8, 2024 22:02
@andrewazores andrewazores requested a review from a team as a code owner July 8, 2024 22:02
Copy link
Contributor

@aali309 aali309 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

@andrewazores andrewazores merged commit e0fce3e into cryostatio:main Jul 19, 2024
2 checks passed
@andrewazores andrewazores deleted the infinity-plugin branch July 19, 2024 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Refactor, rename, cleanup, etc. feat New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Migrate panels from Angular plugins [Epic] Move away from grafana-simple-json-datasource
2 participants