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
Piotr Jamróz c6c79a9360
Query History: Migrate local storage to remote storage (#48572)
* Load Rich History when the container is opened

* Store rich history for each pane separately

* Do not update currently opened query history when an item is added

It's impossible to figure out if the item should be added or not, because filters are applied in the backend. We don't want to replicate that filtering logic in frontend. One way to make it work could be by refreshing both panes.

* Test starring and deleting query history items when both panes are open

* Remove e2e dependency on ExploreId

* Fix unit test

* Assert exact queries

* Simplify test

* Fix e2e tests

* Fix toolbar a11y

* Reload the history after an item is added

* Fix unit test

* Remove references to Explore from generic PageToolbar component

* Update test name

* Fix test assertion

* Add issue item to TODO

* Improve test assertion

* Simplify test setup

* Move query history settings to persistence layer

* Fix test import

* Fix unit test

* Fix unit test

* Test local storage settings API

* Code formatting

* Fix linting errors

* Add an integration test

* Add missing aria role

* Fix a11y issues

* Fix a11y issues

* Use divs instead of ul/li

Otherwis,e pa11y-ci reports the error below claiming there are no children with role=tab:

Certain ARIA roles must contain particular children
   (https://dequeuniversity.com/rules/axe/4.3/aria-required-children?application=axeAPI)

   (#reactRoot > div > main > div:nth-child(3) > div > div:nth-child(1) > div >
   div:nth-child(1) > div > div > nav > div:nth-child(2) > ul)

   <ul class="css-af3vye" role="tablist"><li class="css-1ciwanz"><a href...</ul>

* Clean up settings tab

* Remove redundant aria label

* Remove redundant container

* Clean up test assertions

* Move filtering to persistence layer

* Move filtering to persistence layer

* Simplify applying filters

* Split applying filters and reloading the history

* Debounce updating filters

* Update tests

* Fix waiting for debounced results

* Clear results when switching tabs

* Improve test coverage

* Update docs

* Revert extra handling for uid (will be added when we introduce remote storage)

* Create basic plan

* Rename query history toggle

* Add list of supported features and add ds name to RichHistoryQuery object

* Clean up

Removed planned items will be addressed in upcoming prs (filtering and pagination)

* Handle data source filters

* Simplify DTO conversion

* Clean up

* Fix betterer conflicts

* Fix imports

* Fix imports

* Post-merge fixes

* Use config instead of a feature flag

* Use config instead of a feature flag

* Update converter tests

* Add tests for RichHistoryRemoteStorage

* Simplify test setup

* Simplify assertion

* Add e2e test for query history

* Remove duplicated entry

* Fix unit tests

* Improve readability

* Remove unnecessary casting

* Mock backend in integration tests

* Remove unnecessary casting

* Fix integration test

* Update betterer results

* Fix unit tests

* Simplify testing with DataSourceSrv

* Fix sorting and add to/from filtering

* Add migration for local storage query history

* Test query history migration

* Simplify testing DataSourceSettings

* Skip redundant migrations

* Revert error logging test

* Fix tests

* Update betterer results

* Change notification message after migration

* Ensure previous request is canceled when getting search results

* Add loading message when results are being loaded

* Show info message only if local storage is enabled

* Fix unit test

* Post-merge fixes

* Fix intergration tests

* Fix incorrect filtering
2022-05-19 13:45:32 +02:00
.bingo Makefile: Force use drone-cli 1.4.0 version (#40385) 2021-10-14 16:02:45 +02:00
.github Update UX issue template to use YAML extension (#49099) 2022-05-18 10:05:24 +02:00
.husky Chore: do not run husky hooks on backend-only changes (#48439) 2022-04-29 14:01:02 +01:00
.vim Chore: Upgrade yarn and editor sdks (#42847) 2021-12-08 14:40:24 +01:00
.vscode Chore: Fix Debug Jest test command for vscode (#45420) 2022-02-17 14:18:09 +01:00
.yarn Chore: Upgrade typescript to 4.6.4 (#49016) 2022-05-17 12:08:10 +01:00
conf AccessControl: Document basic roles changes and provisioning V2 (#48910) 2022-05-17 15:46:43 +02:00
contribute Chore: Add PR Check action enforcing changelog decision (#48728) 2022-05-05 11:38:46 +02: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 Elastic: devenv: improved devenv-image (#49002) 2022-05-19 08:29:23 +02:00
docs List Azure Devops as an enterprise plugin (#49189) 2022-05-18 15:02:45 -04:00
e2e Query History: Implement RemoteStorage methods: get all, add new (#48330) 2022-05-17 12:59:16 +02: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 Update dependency rollup to v2.74.0 (#49215) 2022-05-19 10:13:16 +01:00
packaging Remove folder (#48617) 2022-05-05 12:19:35 +01:00
pkg Login: Fix mismatching label on auth_module in user list (#49177) 2022-05-19 12:03:04 +02:00
plugins-bundled Chore: Upgrade typescript to 4.6.4 (#49016) 2022-05-17 12:08:10 +01:00
public Query History: Migrate local storage to remote storage (#48572) 2022-05-19 13:45:32 +02:00
scripts Drone: Trigger Enterprise PR checks for OSS PRs (#47176) 2022-05-16 14:28:37 +02:00
tools Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.betterer.results Convert packages/jaeger-ui-components/src/TraceTimelineViewer/SpanBarRow.test.js to RTL (#49119) 2022-05-18 17:18:24 +01:00
.betterer.ts Chore: Remove prettier-plugin from ESLint (#45910) 2022-03-04 10:49:50 +01:00
.bra.toml add ability to pass builds flags/tags to go via make, update bra config (#46787) 2022-04-01 19:01:05 -04: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 CI: Add docs pipeline for main pipelines (#45740) 2022-02-22 18:06:14 +00:00
.drone.yml Drone: Trigger Enterprise PR checks for OSS PRs (#47176) 2022-05-16 14:28:37 +02:00
.editorconfig Chore: Enable PR testing in Drone (#26189) 2020-07-10 16:09:21 +02:00
.eslintignore Chore: ESlint import order (#44959) 2022-04-22 14:33:13 +01:00
.eslintrc Chore: ESlint import order (#44959) 2022-04-22 14:33:13 +01:00
.gitattributes CRLF (#28822) 2020-11-05 17:20:40 +01:00
.gitignore Chore: Move Typescript cache file to root (#45964) 2022-03-04 09:26:25 +01:00
.linguirc Chore: Mark up User Profile page for translation (#43874) 2022-01-17 16:58:49 +00:00
.nvmrc Update Yarn to v3.2.0 (#45714) 2022-03-09 10:10:51 +01: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 prevent generated files from being prettiered (#49061) 2022-05-17 12:01:07 +02:00
.prettierrc.js Prettier: Add prettier config that imports prettier from toolkit (#23729) 2020-04-21 17:23:49 +02:00
.yarnrc.yml Update dependency moveable to v0.29.8 (#49097) 2022-05-19 09:49:10 +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 Chore: Reorder babel plugins into correct order (#45691) 2022-02-21 17:07:42 +00: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.5.2 (#48681) 2022-05-04 11:35:22 +02: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 Chore: Update Go version (#47914) 2022-04-20 09:14:12 +02:00
Dockerfile.ubuntu Chore: Update Go version (#47914) 2022-04-20 09:14:12 +02:00
embed.go Make "dist" version of dashboard scuemata directly importable in CUE (#39251) 2021-09-17 16:17:55 -04:00
go.mod Settings: Use Grafana Azure SDK to pass Azure env vars for external plugins (#48954) 2022-05-18 15:28:40 +02:00
go.sum Settings: Use Grafana Azure SDK to pass Azure env vars for external plugins (#48954) 2022-05-18 15:28:40 +02:00
GOVERNANCE.md Chore: Introducing a Grafana HALL_OF_FAME.md (#45878) 2022-05-18 20:13:11 +00:00
HALL_OF_FAME.md Chore: Introducing a Grafana HALL_OF_FAME.md (#45878) 2022-05-18 20:13:11 +00:00
ISSUE_TRIAGE.md Updated broken links (#43849) 2022-02-15 13:42:21 +00:00
jest.config.js Remove root/scripts directory from Jest root (#45410) 2022-02-16 07:15:31 -06:00
latest.json update latest.json to 8.5.2 (#48690) 2022-05-04 12:10:54 +02:00
lerna.json Chore: Update pre version (#47438) 2022-04-07 14:32:37 +02: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
MAINTAINERS.md Docs: Refactor inconsistent unordered lists (#27826) 2020-10-02 11:02:11 -07:00
Makefile add ability to pass builds flags/tags to go via make, update bra config (#46787) 2022-04-01 19:01:05 -04: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 Update dependency @welldone-software/why-did-you-render to v7 (#49226) 2022-05-19 11:34:34 +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 README.md (#45946) 2022-03-02 15:52:45 +01: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 Update dependency stylelint to v14.6.0 (#46626) 2022-03-23 13:40:54 +00: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 Table: Add enable pagination option (#45732) 2022-03-31 09:36:04 +02:00
UPGRADING_DEPENDENCIES.md Bump publish docs node version (#46475) 2022-03-11 21:28:12 +01: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 Update dependency @welldone-software/why-did-you-render to v7 (#49226) 2022-05-19 11:34:34 +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:

  • Visualizations: 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.