grafana/pkg/services
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
..
accesscontrol Access control: hide team role picker if user doesn't have access to it (#45068) 2022-02-08 16:38:13 +00:00
alerting Dash previews: populate crawler queue from SQL query (#44083) 2022-02-09 13:23:32 +04:00
annotations Chore: Replace util.DynMap with structs (#36332) 2021-07-01 10:23:33 +02:00
auth Chore: Remove context.TODO() (#43409) 2021-12-22 11:02:42 +01:00
cleanup Rename DispatchCtx to Dispatch (#43563) 2021-12-28 17:36:22 +01:00
contexthandler Add/Delete API keys to Service accounts (#44871) 2022-02-07 14:51:54 +01:00
dashboardimport Plugins: Refactor plugin dashboards (#44315) 2022-01-28 10:28:33 +01:00
dashboards Remove unused GetDashboard method (#44890) 2022-02-04 17:21:06 +01:00
dashboardsnapshots Refactor: Change sqlstore.inTransaction to SQLStore.WithTransactional… (#43772) 2022-01-07 17:50:59 +01:00
datasourceproxy Chore: Implement OpenTelemtry in Grafana (#42674) 2022-01-20 11:10:12 +01:00
datasources Datasources: Simplify the AzureCredentials structure in datasource config (#39209) 2022-01-25 14:23:32 +01:00
encryption Replace encryption.Service usages by secrets.Service (#41625) 2021-11-12 12:16:39 +01:00
featuremgmt API: Extract OpenAPI specification from source code using go-swagger (#40528) 2022-02-08 13:38:43 +01:00
guardian Rename DispatchCtx to Dispatch (#43563) 2021-12-28 17:36:22 +01:00
hooks Migrate to Wire for dependency injection (#32289) 2021-08-25 15:11:22 +02:00
kmsproviders FeatureToggls: remove IsFeatureToggleEnabled from SettingsProvider (#44574) 2022-02-01 10:24:59 -08:00
ldap LDAP: Use an interface instead of a bus to get group teams (#42165) 2022-02-01 12:03:21 +01:00
libraryelements API: Extract OpenAPI specification from source code using go-swagger (#40528) 2022-02-08 13:38:43 +01:00
librarypanels Chore: Implement OpenTelemtry in Grafana (#42674) 2022-01-20 11:10:12 +01:00
licensing switch to using featureEnabled for enterprise features (#41559) 2022-01-07 15:11:23 -05:00
live FeatureFlags: define features outside settings.Cfg (take 3) (#44443) 2022-01-26 09:44:20 -08:00
login Chore: Logging improvements (#44925) 2022-02-07 16:00:08 +01:00
multildap Chore: Replace goconvey in multildap package (#40681) 2021-10-20 15:07:37 +02:00
ngalert Add context.Context to AlertingStore (#45069) 2022-02-09 09:22:09 +00:00
notifications Chore: Remove bus from password (#44482) 2022-02-03 10:33:46 +01:00
oauthtoken Rename DispatchCtx to Dispatch (#43563) 2021-12-28 17:36:22 +01:00
plugindashboards Plugins: Refactor plugin dashboards (#44315) 2022-01-28 10:28:33 +01:00
pluginsettings Rename AddHandlerCtx to AddHandler (#43557) 2021-12-28 16:08:07 +01:00
provisioning Chore: Remove bus from the alerting service (#44496) 2022-02-03 13:26:05 +01:00
query Propagate all headers (#43812) 2022-01-07 12:45:26 -07:00
queryhistory Query history: Create API to delete query from query history (#44653) 2022-02-04 16:14:36 +01:00
quota Rename DispatchCtx to Dispatch (#43563) 2021-12-28 17:36:22 +01:00
rendering Dash previews: populate crawler queue from SQL query (#44083) 2022-02-09 13:23:32 +04:00
schemaloader FeatureFlags: define features outside settings.Cfg (take 3) (#44443) 2022-01-26 09:44:20 -08:00
search Chore: Remove bus from Alerting API (#44894) 2022-02-04 13:41:15 +01:00
searchusers Auth: implement auto_sign_up for auth.jwt (#43502) 2022-01-13 17:15:22 +01:00
secrets Encryption: Add support for data keys re-encryption (#43548) 2022-02-03 09:15:38 +01:00
serviceaccounts ServiceAccounts: Add access control metadata to service accounts (#45096) 2022-02-08 19:19:22 +00:00
shorturls Migrate to Wire for dependency injection (#32289) 2021-08-25 15:11:22 +02:00
sqlstore Dash previews: populate crawler queue from SQL query (#44083) 2022-02-09 13:23:32 +04:00
teamguardian Chore: Remove bus from team (#44218) 2022-01-24 11:52:35 +01:00
thumbs Dash previews: populate crawler queue from SQL query (#44083) 2022-02-09 13:23:32 +04:00
updatechecker Plugins: Refactor Grafana and Plugin version update checkers (#44529) 2022-01-31 16:06:16 +01:00
validations Migrate to Wire for dependency injection (#32289) 2021-08-25 15:11:22 +02:00