Go to file
Levente Balogh 1133e56006
Plugins Catalog: migrate state handling to Redux (#38876)
* feat(Plugins/Catalog): start adding necessary apis

* feat(PLugins/Catalog): add extra helpers for merging local & remote plugins

* feat(Plugins/Catalog): add plugin details as an optional field of CatalogPlugin

* feat(PLugins/Catalog): add scaffolding for the new redux model

* feat(PLugins/Catalog): export reducers based on a feature-flag

* refactor(Plugins/Admin): rename api methods

* feat(Plugin/Catalog): add an api method for fetching a single plugin

* feat(Plugins/Admin): try cleaning stuff around plugin fetching

* ffeat(Plugins/Catalog): return the catalog reducer when the feature flag is set

* refactor(Plugins/Admin): fix typings

* feat(Plugins/Admin): use the new reducer for the browse page

* feat(catalog): introduce selectors to search and filter plugins list

* refactor(Plugins/Details): rename page prop type

* refactor(Plugins/Admin): add a const for a state prefix

* refactor(Plugins/Admin): use the state prefix in the actions

* feat(Plugins/Admin): add types for the requests

* refactor(Plugins/Admin): add request info to the reducer

* refactor(Plugins/Admin): add request handling to the hooks & selectors

* refactor(Plugins/Details): start using the data stored in Redux

* refactor(Plugins/Admin): rename selector to start with "select"

* fix(Plugins/Admin): only fetch plugins once

* refactor(Plugins/Admin): make the tab selection work in details

* refactor(catalog): put back loading and error states in plugin list

* refactor(Plugins/Admin): use CatalogPlugin for <PluginDetailsSignature />

* feat(Plugins/Admin): add an api method for fetching plugin details

* refactor(Plugins/Admin): add action for updating the details

* irefactor(Plugins/Admin): show basic plugin details info

* refactor(Plugin Details): migrate the plugin details header

* refactor(Plugins/Admin): make the config and dashboards tabs work

* refactor(Plugins/Admin): add old reducer state to the new one

* feat(catalog): introduce actions, reducers and hooks for install & uninstall

* refactor(catalog): wire up InstallControls component to redux

* refactor(catalog): move parentUrl inside PluginDetailsHeader and uncomment InstallControls

* feat(catalog): introduce code for plugin updates to install action

* refactor(Plugins/Admin): add backward compatible actions

* test(catalog): update PluginDetails and Browse tests to work with catalog store

* refactor(Plugins/Admin): make the dashboards and panels work again

* refactor(Plugins/Admin): fix linter and typescript errors

* fix(Plugins/Admin): put the local-only plugins to the beginning of the list

* fix(Plugins/Admin): fix the mocks in the tests for PluginDetails

* refactor(Plugins/Admin): remove unecessary hook usePluginsByFilter()

* refactor(Plugins/Admin): extract the useTabs() hook to its own file

* refactor(Plugins/Admin): remove unused helpers and types

* fix(Plugins/Admin): show the first tab when uninstalling an app plugin

This can cause the user to find themselves on a dissappeared tab, as the
config and dashboards tabs are removed.

* fix(catalog): correct logic for checking if activeTabIndex is greater than total tabs

* fix(Plugins/Admin): fix race-condition between fetching plugin details and all plugins

* fix(Plugins): fix strict type errors

* chore(catalog): remove todos

* feat(catalog): render an alert in PluginDetails when a plugin cannot be found

* feat(catalog): use the proper store state

* refactor(Plugins/Admin): fetch local and remote plugins in parallell

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* style(catalog): fix prettier error in api

* fix(catalog): prevent throwing error if InstallControlsButton is unmounted during install

* refactor(Plugins/Admin): add a separate hook for filtering & sorting plugins

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2021-09-09 12:20:35 +02:00
.bingo
.circleci
.github Chore: Rename scripts/star dir to scripts/drone (#38910) 2021-09-07 12:15:04 +03:00
.vscode
conf OAuth: Make generic teams URL and JMES path configurable (#37233) 2021-09-07 19:57:20 -05:00
contribute
cue/scuemata
cue.mod
devenv
docs Sidemenu: Refactor Sidemenu to use emotion (#38995) 2021-09-09 09:56:08 +01:00
e2e
emails
grafana-mixin
packages Plugins: added the possibility to manage field config state outside of the panel renderer. (#38944) 2021-09-08 15:02:44 +02:00
packaging
pkg CloudWatch/Logs: Don't group dataframes for non time series queries for non live path (#38915) 2021-09-08 16:30:55 +02:00
plugins-bundled
public Plugins Catalog: migrate state handling to Redux (#38876) 2021-09-09 12:20:35 +02:00
scripts Chore: Rename scripts/star dir to scripts/drone (#38910) 2021-09-07 12:15:04 +03:00
tools
.bra.toml
.browserslistrc
.dockerignore
.drone.star Chore: Rename scripts/star dir to scripts/drone (#38910) 2021-09-07 12:15:04 +03:00
.drone.yml
.editorconfig
.eslintignore
.eslintrc
.gitattributes
.gitignore
.pa11yci.conf.js
.prettierignore
.prettierrc.js
CHANGELOG.md Sidemenu: Refactor Sidemenu to use emotion (#38995) 2021-09-09 09:56:08 +01:00
CHANGELOG_ARCHIVE.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Dockerfile Copy cue.mod and packages/grafana-schema to container workdir (#38998) 2021-09-09 08:54:36 +03:00
Dockerfile.ubuntu Copy cue.mod and packages/grafana-schema to container workdir (#38998) 2021-09-09 08:54:36 +03:00
GOVERNANCE.md
ISSUE_TRIAGE.md
LICENSE
LICENSING.md
MAINTAINERS.md
Makefile
NOTICE.md
PLUGIN_DEV.md
README.md
ROADMAP.md
SECURITY.md
SUPPORT.md
UPGRADING_DEPENDENCIES.md
WORKFLOW.md
api-extractor.json
build.go
embed.go
go.mod live: update centrifuge to v0.18.2 (#38925) 2021-09-07 21:05:24 +03:00
go.sum live: update centrifuge to v0.18.2 (#38925) 2021-09-07 21:05:24 +03:00
jest.config.js
latest.json bump latest (#38991) 2021-09-09 07:28:35 +02:00
lerna.json
metadata.md
package.json Chore: Bumps Immer, Redux Toolkit, Redux and React Redux (#38872) 2021-09-07 10:44:47 +02:00
tsconfig.json
yarn.lock Chore: Bumps Immer, Redux Toolkit, Redux and React Redux (#38872) 2021-09-07 10:44:47 +02:00

README.md

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.