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 0276b029fc
Previews: crawler as a background service (#44891)
* 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: crawler as a background service v0.1

* #44449: use ServerLockService

* #44449: use ServerLockService

* #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: fix FindDashboardsWithStaleThumbnails to include `theme` and `kind` in search params

* #44449: fix FindDashboardsWithStaleThumbnails to include `theme` and `kind` in search params

* #44449: create function for crawler on demand

* #44449: improve crawler logging

* #44449: fix wire

* #44449: uncomment dummy thumb service, fix ticker interval

* #44449: prevent race condition

* #44449: improve logging

* #44449: fix theme

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

* #44449: add missing unlock

* #44449: merge

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

* #44449: formatting

* #44449: merge conflict fix

* #44449: merge conflict fix

* #44449: merge conflict fix

* #44449: naming fix

* #44449: update authOpts

* #44449: change authOpts.role back to admin

* #44449: fix `walk` signature, move ctx to a first argument

* #44449: add `dashboardPreviewsScheduler` feature flag

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2022-02-10 22:45:00 +04:00
.bingo Makefile: Force use drone-cli 1.4.0 version (#40385) 2021-10-14 16:02:45 +02:00
.github fix(github_actions): workflow execution concurrency is now limited to 1 (#45125) 2022-02-10 14:01:18 +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 remove whitespace from ${__value.raw } (#44928) 2022-02-09 19:16:17 +01:00
e2e Remove unified alerting specific assertions from panel base spec (#44961) 2022-02-08 10:00:58 +01:00
emails Email: change the year in templates (#45116) 2022-02-09 15:53:36 +01:00
grafana-mixin grafana-mixin: Fix GrafanaRequestsFailing alert (#43116) 2021-12-20 15:12:37 +01:00
packages Previews: crawler as a background service (#44891) 2022-02-10 22:45:00 +04:00
packaging remove ncurses upgrade in docker image (#44883) 2022-02-09 19:15:17 +01:00
pkg Previews: crawler as a background service (#44891) 2022-02-10 22:45:00 +04:00
plugins-bundled Chore: Update pre version (#44855) 2022-02-03 16:52:53 +01:00
public Fetch: parse JSON off-main-thread (async) based on response Content-Type (#45188) 2022-02-10 11:45:41 -06:00
scripts Update ci-frontend-metrics.sh (#45161) 2022-02-09 15:55:15 +00:00
tools Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.betterer.results Query History: Split data and view models (#44922) 2022-02-10 13:59:43 +01:00
.betterer.ts Chore: Add betterer test to track conversion of enzyme tests (#45055) 2022-02-09 12:41:39 +00: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 ReleaseNotes: Updated changelog and release notes for 8.3.6 (#45169) 2022-02-09 18:14:57 +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 Plugins: Update collect metrics handler to latest signature (#45166) 2022-02-09 17:36:53 +01:00
go.sum Plugins: Update collect metrics handler to latest signature (#45166) 2022-02-09 17:36:53 +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 latest.json (#45171) 2022-02-09 18:15:44 +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: Fix missing enterprise routes in swagger spec (#45152) 2022-02-09 15:31: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 Chore: Set tsconfig target to ES6 (#44842) 2022-02-10 14:37:39 +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 Chore: Set tsconfig target to ES6 (#44842) 2022-02-10 14:37:39 +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.