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
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 Build pipeline: Cleanup build-main pipeline steps (#38484) 2021-08-26 10:11:22 +03:00
.circleci Chore: Add Circle CI empty config (#35020) 2021-06-01 11:56:11 +02:00
.github Chore: Rename scripts/star dir to scripts/drone (#38910) 2021-09-07 12:15:04 +03:00
.vscode Dev: include vscode launcher / debugger (#36360) 2021-07-07 00:05:30 -07:00
conf OAuth: Make generic teams URL and JMES path configurable (#37233) 2021-09-07 19:57:20 -05:00
contribute Docs: Fix typos in merge pull request guide (#38904) 2021-09-07 09:46:10 +02:00
cue/scuemata Refactor dashboard scuemata to introduce composition slots, allow unspecified panels to validate, and re-enable devenv validation (#38727) 2021-09-06 18:53:42 -04:00
cue.mod Introduce "scuemata" system for CUE-based specification of Grafana objects (#32527) 2021-04-08 01:11:11 -07:00
devenv devenv: update prom random_data for go1.17 (use go install) (#38763) 2021-09-02 10:32:09 +02:00
docs Sidemenu: Refactor Sidemenu to use emotion (#38995) 2021-09-09 09:56:08 +01:00
e2e Jaeger: fix bug where query is executed twice (#38550) 2021-08-27 10:36:18 +02:00
emails Email: Allow configuration of content types for email notifications (#34530) 2021-07-19 13:31:51 +03:00
grafana-mixin Chore: Add newline at EOF (#36595) 2021-07-09 08:21:59 -07:00
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 Update PID file location form /var/run to /run (#35739) 2021-09-03 10:50:13 -05:00
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 Chore: Fix version format (#38649) 2021-08-27 18:12:37 +02:00
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 Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.bra.toml Migrate to Wire for dependency injection (#32289) 2021-08-25 15:11:22 +02:00
.browserslistrc Babel: Target more modern browsers, updates browserlistrc (#32573) 2021-04-01 10:32:00 +02:00
.dockerignore remove duplicated /tmp entry in .dockerignore 2018-08-09 09:10:53 +02:00
.drone.star Chore: Rename scripts/star dir to scripts/drone (#38910) 2021-09-07 12:15:04 +03:00
.drone.yml Build: Upgrade grabpl to 2.4.2 (#38820) 2021-09-02 13:03:32 +01:00
.editorconfig Chore: Enable PR testing in Drone (#26189) 2020-07-10 16:09:21 +02:00
.eslintignore Chore: Lint all files for no-only-tests (#30364) 2021-01-19 11:06:27 +01: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 Migrate to Wire for dependency injection (#32289) 2021-08-25 15:11:22 +02:00
.pa11yci.conf.js A11y - Add Pa11y CI in main pipeline to collect a11y issues (#37741) 2021-08-23 10:08:01 +02:00
.prettierignore Geomap: Minor style fixes (#38532) 2021-08-26 10:17:03 +02:00
.prettierrc.js Prettier: Add prettier config that imports prettier from toolkit (#23729) 2020-04-21 17:23:49 +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
build.go Chore: move build command to importable package (#38726) 2021-09-03 11:24:21 -05:00
CHANGELOG_ARCHIVE.md Automation: Adds new changelog actions (#29142) 2020-11-16 21:34:19 +01:00
CHANGELOG.md Sidemenu: Refactor Sidemenu to use emotion (#38995) 2021-09-09 09:56:08 +01:00
CODE_OF_CONDUCT.md Docs: Refactor inconsistent unordered lists (#27826) 2020-10-02 11:02:11 -07:00
CONTRIBUTING.md Postgres: For template queries return [] and not error (#38060) 2021-08-19 13:43:41 +02:00
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
embed.go Move dashboard scuemata to grafana-schema (#38470) 2021-08-25 06:55:04 -04:00
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
GOVERNANCE.md Update GOVERNANCE.md (#36223) 2021-06-28 17:55:25 +02:00
ISSUE_TRIAGE.md Chore: Move from master to main branch (#33693) 2021-05-06 16:29:29 +02:00
jest.config.js Geomap: use a common configuration builder to find location fields (#36768) 2021-07-15 12:00:19 -07:00
latest.json bump latest (#38991) 2021-09-09 07:28:35 +02:00
lerna.json Chore: Fix version format (#38649) 2021-08-27 18:12:37 +02:00
LICENSE Re-license Grafana to AGPLv3 (#33184) 2021-04-20 19:03:30 +02:00
LICENSING.md Put vendored code under their upstream licenses explicitly (#36442) 2021-07-05 21:33:01 +02:00
MAINTAINERS.md Docs: Refactor inconsistent unordered lists (#27826) 2020-10-02 11:02:11 -07:00
Makefile Migrate to Wire for dependency injection (#32289) 2021-08-25 15:11:22 +02:00
metadata.md Docs: Document plugin authentication in metadata schema (#32703) 2021-04-08 18:13:18 +02:00
NOTICE.md Update NOTICE.md 2021-01-06 08:16:50 +01:00
package.json Chore: Bumps Immer, Redux Toolkit, Redux and React Redux (#38872) 2021-09-07 10:44:47 +02:00
PLUGIN_DEV.md Chore: Move from master to main branch (#33693) 2021-05-06 16:29:29 +02:00
README.md 33507_drone_badge: Replace CircleCI badge in readme with drone badge (#33649) 2021-05-04 17:59:52 +08:00
ROADMAP.md Update ROADMAP.md (#19384) 2019-09-25 07:18:35 +02:00
SECURITY.md Docs: Fix broken link (#25664) 2020-06-18 14:08:26 +02:00
SUPPORT.md Update SUPPORT.md (#19383) 2019-09-25 07:17:01 +02:00
tsconfig.json Geomap: add basic gazetteer support (#37082) 2021-07-21 23:41:27 -07:00
UPGRADING_DEPENDENCIES.md remove GO111MODULE (#36235) 2021-06-29 10:01:21 +02:00
WORKFLOW.md Chore: Move from master to main branch (#33693) 2021-05-06 16:29:29 +02:00
yarn.lock Chore: Bumps Immer, Redux Toolkit, Redux and React Redux (#38872) 2021-09-07 10:44:47 +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:

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