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

More development dashboards #16550

Merged
merged 2 commits into from Apr 15, 2019
Merged

More development dashboards #16550

merged 2 commits into from Apr 15, 2019

Conversation

torkelo
Copy link
Member

@torkelo torkelo commented Apr 12, 2019

  • Organizes json files into folder structure (on disk not in Grafana)
  • Aligns tags across all so we can filter based on type of dashboard
  • Adds new home dashboard with a bunch of dashboard list with filters for different types of dashboards
  • Adds repeating panels test dashboard (using Test Data datasource)
  • Adds a basic demo dashboard (that uses test data)
  • Adds Bar Gauge demo dashboards

While working on this I came up with a provisioning enhancement. Show ExternalId (path on disk) in the save modal for provisioned dashboards.

thoughts @bergquist ^

The home / overview dashboard:
image

@@ -4,6 +4,6 @@ providers:
- name: 'gdev dashboards'
folder: 'gdev dashboards'
type: file
updateIntervalSeconds: 15
updateIntervalSeconds: 60
Copy link
Contributor

Choose a reason for hiding this comment

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

wont this just be frustrating when working with dashboards?
I think all devs runs SSD nowdays and the content should almost always be cached. scanning a few files are very very very fast :)

Copy link
Member Author

Choose a reason for hiding this comment

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

yea I increased it a bit after testing with many folders defined here (each have it's own interval) and the log spamming was a bit too much. And if we end up with a lot of dashboards parsing all those json files is going to eat up a lot cpu. The way the scanning works provisioning update cycles are far from cheap, having to deserialize all dashboards, and to hashed checksum on content, at least.

Set to 3s with 1300 dashboards it eats 100% according to this user: #16118

Copy link
Member Author

Choose a reason for hiding this comment

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

But that 100% could be due to something else, maybe huge > megabytes big json dashboards (can happen)

@bergquist
Copy link
Contributor

Interesting idea. But couldn't that be considered information leakage?
But it would be nice in devenv.

@torkelo
Copy link
Member Author

torkelo commented Apr 12, 2019

Interesting idea. But couldn't that be considered information leakage?

Sort of, especially if we include the full path (which ExternalId does contain) so you would see where on disk dashboards files are located. So we could strip out the first parts and only paths after the root provisioned path (but the logic for that could be a bit tricky).

Just think the updating a provisioned dashboard step is still pretty complicated as there is currently no hints on what file I need to update. A pretty major oversight in the workflow.

@bergquist
Copy link
Contributor

yea your absolutly right.
I wonder if getting the relative path would be helpful enough. We can certainly make that possible.

Copy link
Contributor

@bergquist bergquist left a comment

Choose a reason for hiding this comment

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

LGTM!

I opened #16587 about show path to provisioned dashboard

@bergquist bergquist merged commit 844ec82 into master Apr 15, 2019
@bergquist bergquist deleted the more-gdev-dashboards branch April 15, 2019 08:51
ryantxu added a commit to ryantxu/grafana that referenced this pull request Apr 15, 2019
* grafana/master:
  Docs: minor docs update for old urls
  Chore: Add more explicit typing (grafana#16594)
  Chore: Lowered implicit anys limit to 5977
  Chore: Adds typings to lodash (grafana#16590)
  PanelEditor: Change Queries heading to Query (grafana#16536)
  Security: Store datasource passwords encrypted in secureJsonData (grafana#16175)
  More development dashboards (grafana#16550)
  build: upgrades to golang 1.12.4 (grafana#16545)
  Use package libfontconfig1, instead of libfontconfig (grafana#16548)
  Adjust Send on all alerts to default label (grafana#16554)
  Chore: Lower limit of implicit anys to 6676
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants