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 361cc18b45
Query History: Move filtering to service layer (#48008)
* 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)

* Fix betterer conflicts

* Fix imports

* Fix imports

* Simplify test setup

* Simplify assertion

* Improve readability

* Remove unnecessary casting

* Mock backend in integration tests
2022-04-27 15:07:44 +02:00
.bingo Makefile: Force use drone-cli 1.4.0 version (#40385) 2021-10-14 16:02:45 +02:00
.github Export: introduce export plumbing (behind dev feature flag) (#48091) 2022-04-25 16:59:18 -07: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 Chore: Fix Debug Jest test command for vscode (#45420) 2022-02-17 14:18:09 +01:00
.yarn Alerting: Add yaml editor to cloud rules (#46533) 2022-04-01 16:34:08 +02:00
conf Update cron library for ldap sync (#47983) 2022-04-26 14:14:48 +02:00
contribute Doc: display the use active voice table correctly (#47302) 2022-04-05 11:11:10 -04: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 Revert "DataLinks: Encode variable params for data link URLs (#46100)" (#47763) 2022-04-20 10:15:36 +01:00
docs Update cron library for ldap sync (#47983) 2022-04-26 14:14:48 +02:00
e2e Chore: ESlint import order (#44959) 2022-04-22 14:33:13 +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 Notifications: Hide display of trace ID behind feature flag (#48057) 2022-04-26 14:31:27 +01:00
packaging remove ncurses upgrade in docker image (#44883) 2022-02-09 19:15:17 +01:00
pkg Cloudwatch: Use new annotation API (#48102) 2022-04-27 12:41:48 +02:00
plugins-bundled Chore: ESlint import order (#44959) 2022-04-22 14:33:13 +01:00
public Query History: Move filtering to service layer (#48008) 2022-04-27 15:07:44 +02:00
scripts CI: Rename main pipelines (#48245) 2022-04-26 11:40:13 +01:00
tools Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.betterer.results Query History: Move filtering to service layer (#48008) 2022-04-27 15:07:44 +02: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 CI: Rename main pipelines (#48245) 2022-04-26 11:40:13 +01: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 Chore: Remove prettier-plugin from ESLint (#45910) 2022-03-04 10:49:50 +01:00
.prettierrc.js Prettier: Add prettier config that imports prettier from toolkit (#23729) 2020-04-21 17:23:49 +02:00
.yarnrc.yml Update Storybook updates to v6.4.21 (#47523) 2022-04-13 12:26:19 +02: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.0 (#48060) 2022-04-21 16:20:07 +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 Update cron library for ldap sync (#47983) 2022-04-26 14:14:48 +02:00
go.sum Chore: bump github.com/containerd/containerd to 1.6.2 (#48003) 2022-04-22 11:59:10 -03:00
GOVERNANCE.md Governance: Update employer info (#45369) 2022-02-14 15:43:50 -08: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 for 8.5.0 (#48065) 2022-04-21 16:49:32 +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 grafana/experimental and fix Cloudwatch components (#48132) 2022-04-26 11:28:34 +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 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 grafana/experimental and fix Cloudwatch components (#48132) 2022-04-26 11:28:34 +02: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.