The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
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 Apply cuetsy attrs to PanelSchema (#39112) 2021-09-15 12:27:47 -04:00
cue.mod Introduce "scuemata" system for CUE-based specification of Grafana objects (#32527) 2021-04-08 01:11:11 -07:00
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 Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.bra.toml Bra: Run wire re-gen on code change (attempt #2) (#42582) 2021-12-01 09:26:45 -05:00
.browserslistrc Babel: Target more modern browsers, updates browserlistrc (#32573) 2021-04-01 10:32:00 +02:00
.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 Chore: Enable PR testing in Drone (#26189) 2020-07-10 16:09:21 +02:00
.eslintignore E2E: Rename end-to-end-tests-server to grafana-server (#44249) 2022-01-20 17:01:00 +00:00
.eslintrc Performance: Standardize lodash imports to use destructured members (#33040) 2021-04-21 09:38:00 +02:00
.gitattributes CRLF (#28822) 2020-11-05 17:20:40 +01:00
.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 Prettier: Add prettier config that imports prettier from toolkit (#23729) 2020-04-21 17:23:49 +02:00
.yarnrc.yml Toolkit: Bump react-dev-utils to 12.0.0 (#44696) 2022-02-08 12:36:59 +01:00
api-extractor.json Docs: added code comments for everything in the @grafana/runtime package. (#23456) 2020-04-15 10:46:51 +02:00
babel.config.json I18N: Add Lingui core translation framework. (#41827) 2021-12-15 17:00:37 +01:00
build.go Chore: move build command to importable package (#38726) 2021-09-03 11:24:21 -05: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
CHANGELOG.md Update changelog for 8.3.5 and 7.5.15 (#45078) 2022-02-08 15:52:53 +01:00
CODE_OF_CONDUCT.md Docs: Refactor inconsistent unordered lists (#27826) 2020-10-02 11:02:11 -07:00
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
embed.go Make "dist" version of dashboard scuemata directly importable in CUE (#39251) 2021-09-17 16:17:55 -04:00
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
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
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
LICENSE Re-license Grafana to AGPLv3 (#33184) 2021-04-20 19:03:30 +02:00
LICENSING.md Fix licensing text (#44518) 2022-01-27 11:09:39 +01:00
log AccessControl: upgrade apikeys by adding service accounts (#42425) 2021-12-16 14:28:16 +01:00
MAINTAINERS.md Docs: Refactor inconsistent unordered lists (#27826) 2020-10-02 11:02:11 -07:00
Makefile API: Extract OpenAPI specification from source code using go-swagger (#40528) 2022-02-08 13:38:43 +01:00
metadata.md Docs: Document plugin authentication in metadata schema (#32703) 2021-04-08 18:13:18 +02: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
package.json Tooltips: Make tooltips non interactive by default (#45053) 2022-02-08 22:58:20 +01: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
stylelint.config.js Chore: Replace Sass-lint with Stylelint (#40617) 2021-10-20 11:34:24 +02: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
tsconfig.json Build: Enable persistent cache for faster Webpack builds (#41430) 2021-11-11 14:32:34 +01:00
UPGRADING_DEPENDENCIES.md remove GO111MODULE (#36235) 2021-06-29 10:01:21 +02:00
WORKFLOW.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
yarn.lock Tooltips: Make tooltips non interactive by default (#45053) 2022-02-08 22:58:20 +01:00

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.