Go to file
Artur Wierzbicki a025109647
Dash previews: populate crawler queue from SQL query (#44083)
* add SQL migrations

* dashboard previews from sql: poc

* added todos

* refactor: use the same enums where possible

* use useEffect, always return json

* added todo

* refactor + delete files after use

* refactor + fix manual thumbnail upload

* refactor: move all interactions with sqlStore to thumbnail repo

* refactor: remove file operations in thumb crawler/service

* refactor: fix dashboard_thumbs sql store

* refactor: extracted thumbnail fetching/updating to a hook

* refactor: store thumbnails in redux store

* refactor: store thumbnails in redux store

* refactor: private'd repo methods

* removed redux storage, saving images as blobs

* allow for configurable rendering timeouts

* added 1) query for dashboards with stale thumbnails, 2) command for marking thumbnails as stale

* use sql-based queue in crawler

* ui for marking thumbnails as stale

* replaced `stale` boolean prop with `state` enum

* introduce rendering session

* compilation errors

* fix crawler stop button

* rename thumbnail state frozen to locked

* #44449: fix merge conflicts

* #44449: remove thumb methods from `Store` interface

* #44449: clean filepath, defer file closing

* #44449: fix rendering.Theme cyclic import

* #44449: linting

* #44449: linting

* #44449: mutex'd crawlerStatus access

* #44449: added integration tests for `sqlstore.dashboard_thumbs`

* #44449: added comments to explain the `ThumbnailState` enum

* #44449: use os.ReadFile rather then os.Open

* #44449: always enable dashboardPreviews feature during integration tests

* #44449: remove sleep time, adjust number of threads

* #44449: review fix: add `orgId` to `DashboardThumbnailMeta`

* #44449: review fix: automatic parsing of thumbnailState

* #44449: lint fixes

* #44449: review fix: prefer `WithDbSession` over `WithTransactionalDbSession`

* #44449: review fix: add a comment explaining source of the filepath

* #44449: review fix: added filepath validation

* #44449: review fixes https://github.com/grafana/grafana/pull/45063/files @fzambia

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2022-02-09 13:23:32 +04:00
.bingo Makefile: Force use `drone-cli 1.4.0` version (#40385) 2021-10-14 16:02:45 +02:00
.github Chore: Make detect breaking changes workflow backport compatible (#45005) 2022-02-08 11:33:33 +01:00
.husky Chore: bump Husky to v7 (#40797) 2021-11-02 11:53:27 +01:00
.vim Chore: Upgrade yarn and editor sdks (#42847) 2021-12-08 14:40:24 +01:00
.vscode vscode: proposal to add current workdir to vscode config (#39088) 2022-02-04 09:18:40 +01:00
.yarn Yarn: Updates to SDK packages (#45043) 2022-02-08 09:45:42 +01:00
conf Auth: Guarantee consistency of signed SigV4 headers (#45054) 2022-02-08 14:48:17 +01:00
contribute E2E: Rename `end-to-end-tests-server` to `grafana-server` (#44249) 2022-01-20 17:01:00 +00:00
cue/scuemata
cue.mod
devenv Chore: E2E tests for various variables types (#44747) 2022-02-03 09:58:56 +11:00
docs Docs: Added what's new for 8.4 (#45108) 2022-02-08 17:41:00 -05:00
e2e Remove unified alerting specific assertions from panel base spec (#44961) 2022-02-08 10:00:58 +01:00
emails Alerting: Fix alert notification template (#44761) 2022-02-03 14:17:05 +01:00
grafana-mixin grafana-mixin: Fix `GrafanaRequestsFailing` alert (#43116) 2021-12-20 15:12:37 +01:00
packages Tooltips: Make tooltips non interactive by default (#45053) 2022-02-08 22:58:20 +01:00
packaging Fix typos in READMEs (#44084) 2022-01-21 16:10:48 +01:00
pkg Dash previews: populate crawler queue from SQL query (#44083) 2022-02-09 13:23:32 +04:00
plugins-bundled Chore: Update pre version (#44855) 2022-02-03 16:52:53 +01:00
public Dash previews: populate crawler queue from SQL query (#44083) 2022-02-09 13:23:32 +04:00
scripts Chore: Make detect breaking changes workflow backport compatible (#45005) 2022-02-08 11:33:33 +01:00
tools
.bra.toml Bra: Run wire re-gen on code change (attempt #2) (#42582) 2021-12-01 09:26:45 -05:00
.browserslistrc
.dockerignore Add support for local Makefile to docker (#41296) 2021-11-04 11:13:10 -03:00
.drone.star Remove test-release pipelines (#44220) 2022-01-19 16:42:40 +00:00
.drone.yml CI: Remove `grafana/drone-grafana-docker` image (#44983) 2022-02-07 18:30:41 +01:00
.editorconfig
.eslintignore E2E: Rename `end-to-end-tests-server` to `grafana-server` (#44249) 2022-01-20 17:01:00 +00:00
.eslintrc
.gitattributes
.gitignore devenv: Adding gitignore for the saml-enterprise block (#45042) 2022-02-08 09:56:03 +01:00
.linguirc Chore: Mark up User Profile page for translation (#43874) 2022-01-17 16:58:49 +00:00
.nvmrc add .nvmrc (#44665) 2022-01-31 10:48:21 -06:00
.pa11yci-pr.conf.js Select: Fix input cursor position so that it is at the start for single value selects (#41693) 2021-11-26 15:38:48 +00:00
.pa11yci.conf.js Select: Fix input cursor position so that it is at the start for single value selects (#41693) 2021-11-26 15:38:48 +00:00
.prettierignore E2E: Rename `end-to-end-tests-server` to `grafana-server` (#44249) 2022-01-20 17:01:00 +00:00
.prettierrc.js
.yarnrc.yml Toolkit: Bump react-dev-utils to 12.0.0 (#44696) 2022-02-08 12:36:59 +01:00
CHANGELOG.md Update changelog for 8.3.5 and 7.5.15 (#45078) 2022-02-08 15:52:53 +01:00
CHANGELOG_ARCHIVE.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md Fixed broken links in documentation (#44044) 2022-01-14 10:24:24 -05:00
Dockerfile API: Extract OpenAPI specification from source code using go-swagger (#40528) 2022-02-08 13:38:43 +01:00
Dockerfile.ubuntu API: Extract OpenAPI specification from source code using go-swagger (#40528) 2022-02-08 13:38:43 +01:00
GOVERNANCE.md Governance: Update Fredrik Enestad (#43871) 2022-01-19 11:52:48 +00:00
ISSUE_TRIAGE.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
LICENSE
LICENSING.md Fix licensing text (#44518) 2022-01-27 11:09:39 +01:00
MAINTAINERS.md
Makefile API: Extract OpenAPI specification from source code using go-swagger (#40528) 2022-02-08 13:38:43 +01:00
NOTICE.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
PLUGIN_DEV.md Chore: Updated the link to the plugin developer guide docs - it used to point to an old version (#40710) 2021-10-25 12:11:44 +04:00
README.md update links in README.md (#33195) 2021-09-21 10:21:27 -04:00
ROADMAP.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
SECURITY.md Update SECURITY.md (#42149) 2021-11-24 14:06:18 +01:00
SUPPORT.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
UPGRADING_DEPENDENCIES.md
WORKFLOW.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
api-extractor.json
babel.config.json I18N: Add Lingui core translation framework. (#41827) 2021-12-15 17:00:37 +01:00
build.go
embed.go
go.mod Auth: Guarantee consistency of signed SigV4 headers (#45054) 2022-02-08 14:48:17 +01:00
go.sum Auth: Guarantee consistency of signed SigV4 headers (#45054) 2022-02-08 14:48:17 +01:00
jest.config.js I18N: Add Lingui core translation framework. (#41827) 2021-12-15 17:00:37 +01:00
latest.json Update changelog for 8.3.5 and 7.5.15 (#45078) 2022-02-08 15:52:53 +01:00
lerna.json Chore: Update pre version (#44855) 2022-02-03 16:52:53 +01:00
log AccessControl: upgrade apikeys by adding service accounts (#42425) 2021-12-16 14:28:16 +01:00
metadata.md
package.json Tooltips: Make tooltips non interactive by default (#45053) 2022-02-08 22:58:20 +01:00
stylelint.config.js Chore: Replace Sass-lint with Stylelint (#40617) 2021-10-20 11:34:24 +02:00
tsconfig.json Build: Enable persistent cache for faster Webpack builds (#41430) 2021-11-11 14:32:34 +01:00
yarn.lock Tooltips: Make tooltips non interactive by default (#45053) 2022-02-08 22:58:20 +01:00

README.md

Grafana

The open-source platform for monitoring and observability.

License Drone Go Report Card

Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture:

  • Visualize: Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs.
  • Dynamic Dashboards: Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard.
  • Explore Metrics: Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side.
  • Explore Logs: Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live.
  • Alerting: Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie.
  • Mixed Data Sources: Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources.

Get started

Unsure if Grafana is for you? Watch Grafana in action on play.grafana.org!

Documentation

The Grafana documentation is available at grafana.com/docs.

Contributing

If you're interested in contributing to the Grafana project:

Get involved

License

Grafana is distributed under AGPL-3.0-only. For Apache-2.0 exceptions, see LICENSING.md.