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 d6d49d8ba3
DataSources: refactor datasource pages to be reusable (#51874)
* refactor: move utility functions out of the redux actions

* refactor: move password handlers to the feature root

* refactor: move API related functions to an api.ts

* refactor: move components under a /components folder

* refactor: move page containers under a /pages folder and extract components

* refactor: update mocks to be easier to reuse

* refactor: move tests into a state/tests/ subfolder

* refactor: expose 'initialState' for plugins

* refactor: move generic types to the root folder of the feature

* refactor: import path fixe

* refactor: update import paths for app routes

* chore: update betterer

* refactor: fix type errors due to changed mock functions

* chore: fix mocking context_srv in tests

* refactor: udpate imports to be more concise

* fix: update failing test because of mocks

* refactor: use the new `navId` prop where we can

* fix: use UID instead ID in datasource edit links

* fix:clean up Redux state when unmounting the edit page

* refactor: use `uid` instead of `id`

* refactor: always fetch the plugin details when editing a datasource

The deleted lines could provide performance benefits, although they also make the
implementation more prone to errors. (Mostly because we are storing the information
about the currently loaded plugin in a single field, and it was not validating if it
is for the latest one).

We are planning to introduce some kind of caching, but first we would like to clean up
the underlying state a bit (plugins & datasources.

* fix: add missing dispatch() wrapper for update datasource callback

* refactor: prefer using absolute import paths

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* fix: ESLINT import order issue

* refactor: put test files next to their files

* refactor: use implicit return types for components

* fix: remove caching from datasource fetching

I have introduced a cache to only fetch data-sources once, however as we
are missing a good logic for updating the instances in the Redux store
when they change (create, update, delete), this approach is not keeping the UI in sync.
Due to this reason I have removed the caching for now, and will reintroduce it once we have a
more robust client-side state logic.

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2022-07-20 09:25:09 +02:00
.bingo API: Universal swagger generation (#51033) 2022-06-27 10:54:31 +03:00
.changelog-archive Changelog: Move to a folder structure for change logs (#50361) 2022-06-08 15:59:47 -05:00
.github Cloud Datasources: Add necessary inputs and bump version for code coverage workflow (#52055) 2022-07-14 10:14:55 +01: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: Update yarn sdks (#50726) 2022-06-14 08:42:59 +02:00
conf Storage: limit the number of uploaded files (#50796) 2022-07-18 15:24:39 +04:00
contribute StyleGuide: Update frontend style guide (#52471) 2022-07-19 19:12:11 +02:00
cue.mod Introduce "scuemata" system for CUE-based specification of Grafana objects (#32527) 2021-04-08 01:11:11 -07:00
devenv JWT: Add JWT proxy setup devenv (#51731) 2022-07-07 10:28:04 -04:00
docs Adds documentation for public dashboards under the dashboards section. (#52126) 2022-07-19 13:19:40 -06:00
e2e Variables: variables in Markdown links are not interpolated (#51392) 2022-06-29 15:26:31 +03:00
emails Alerting: Preserve new-lines from custom email templates in rendered email (#52253) 2022-07-19 11:05:50 -05:00
grafana-mixin grafana-mixin: Fix GrafanaRequestsFailing alert (#43116) 2021-12-20 15:12:37 +01:00
packages Legend: Right align calculation values (#52400) 2022-07-19 14:07:27 +02:00
packaging Docker: Update glibc version (#51107) 2022-07-06 17:30:56 +02:00
pkg Public Dashboards: Add Public Tag to Dashboard Title (#52351) 2022-07-19 17:44:41 -06:00
plugins-bundled Bump version: Update main branch version to 9.1.0-pre (#50803) 2022-06-14 09:06:14 -07:00
public DataSources: refactor datasource pages to be reusable (#51874) 2022-07-20 09:25:09 +02:00
scripts Docker: Install git in grafana/grafana-ci-deploy image (#52466) 2022-07-19 11:04:16 -04:00
tools Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.betterer.results DataSources: refactor datasource pages to be reusable (#51874) 2022-07-20 09:25:09 +02:00
.betterer.ts Chore: Make betterer tests more stable (#51703) 2022-07-04 12:13:20 +01:00
.bra.toml bra: Ignore wildcard generated go files (#51399) 2022-06-24 20:55:49 +02: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 Add artifacts-page grabpl command (#51894) 2022-07-07 11:00:28 -04:00
.drone.yml Docker: Install git in grafana/grafana-ci-deploy image (#52466) 2022-07-19 11:04:16 -04: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: Add scripts/go/bin/** to .gitignore (#51343) 2022-06-24 10:20:46 +03: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 Service accounts: Remove feature toggle check on API keys page (#52048) 2022-07-11 16:24:10 +01: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 lerna to v5 (#50876) 2022-06-28 08:32:37 +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.md ReleaseNotes: Updated changelog and release notes for 9.0.3 (#52296) 2022-07-14 17:34:46 -05: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 Update Golang - bump grabpl and build-container (#50253) 2022-06-06 15:38:39 +02:00
Dockerfile.ubuntu Update Golang - bump grabpl and build-container (#50253) 2022-06-06 15:38:39 +02:00
embed.go schema: Migrate from scuemata to thema (#49805) 2022-06-06 17:52:44 -07:00
go.mod Upgrade grafana-azure-sdk-go package (#52248) 2022-07-15 10:46:30 +01:00
go.sum Upgrade grafana-azure-sdk-go package (#52248) 2022-07-15 10:46:30 +01: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 Chore: Upgrade to jest 28 (#49679) 2022-05-30 14:14:34 +01:00
latest.json Chore: update latest.json to 9.0.3 (#52298) 2022-07-14 18:56:25 -04:00
lerna.json Bump version: Update main branch version to 9.1.0-pre (#50803) 2022-06-14 09:06:14 -07:00
LICENSE Re-license Grafana to AGPLv3 (#33184) 2021-04-20 19:03:30 +02:00
LICENSING.md license: Make coremodels all Apache v2 (#49731) 2022-06-01 11:00:25 -04:00
MAINTAINERS.md Add Docs maintainers (#51287) 2022-06-22 13:10:30 -07:00
Makefile Chore: Add new go test commands for unit, integration, and pro tests to makefile (#51202) 2022-07-19 11:04:38 +03: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 Loki: Support json parser with expressions in query builder (#51965) 2022-07-12 15:42:01 +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 Chore: Enable useUnknownInCatchVariables for stricter type checking in catch blocks (#50591) 2022-06-15 08:59:29 +01: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 Loki: Support json parser with expressions in query builder (#51965) 2022-07-12 15:42:01 +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.