Go to file
Drew Slobodnjak f61578a50f
Actionlint / Lint GitHub Actions files (push) Waiting to run Details
Backend Code Checks / Detect whether code changed (push) Waiting to run Details
Backend Code Checks / Validate Backend Configs (push) Blocked by required conditions Details
Backend Unit Tests / Detect whether code changed (push) Waiting to run Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (1/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (2/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (3/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (4/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (5/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (6/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (7/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana (${{ matrix.shard }}) (8/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (1/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (2/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (3/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (4/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (5/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (6/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (7/8) (push) Blocked by required conditions Details
Backend Unit Tests / Grafana Enterprise (${{ matrix.shard }}) (8/8) (push) Blocked by required conditions Details
Backend Unit Tests / All backend unit tests complete (push) Blocked by required conditions Details
CodeQL checks / Detect whether code changed (push) Waiting to run Details
CodeQL checks / Analyze (actions) (push) Blocked by required conditions Details
CodeQL checks / Analyze (go) (push) Blocked by required conditions Details
CodeQL checks / Analyze (javascript) (push) Blocked by required conditions Details
Lint Frontend / Detect whether code changed (push) Waiting to run Details
Lint Frontend / Lint (push) Blocked by required conditions Details
Lint Frontend / Typecheck (push) Blocked by required conditions Details
Lint Frontend / Verify API clients (push) Waiting to run Details
Lint Frontend / Verify API clients (enterprise) (push) Waiting to run Details
golangci-lint / Detect whether code changed (push) Waiting to run Details
golangci-lint / go-fmt (push) Blocked by required conditions Details
golangci-lint / lint-go (push) Blocked by required conditions Details
Verify i18n / verify-i18n (push) Waiting to run Details
Documentation / Build & Verify Docs (push) Waiting to run Details
End-to-end tests / Detect whether code changed (push) Waiting to run Details
End-to-end tests / Build & Package Grafana (push) Blocked by required conditions Details
End-to-end tests / Build E2E test runner (push) Blocked by required conditions Details
End-to-end tests / push-docker-image (push) Blocked by required conditions Details
End-to-end tests / ${{ matrix.suite }} (--flags="--env dashboardScene=false", e2e/old-arch/dashboards-suite, dashboards-suite (old arch)) (push) Blocked by required conditions Details
End-to-end tests / ${{ matrix.suite }} (--flags="--env dashboardScene=false", e2e/old-arch/panels-suite, panels-suite (old arch)) (push) Blocked by required conditions Details
End-to-end tests / ${{ matrix.suite }} (--flags="--env dashboardScene=false", e2e/old-arch/smoke-tests-suite, smoke-tests-suite (old arch)) (push) Blocked by required conditions Details
End-to-end tests / ${{ matrix.suite }} (--flags="--env dashboardScene=false", e2e/old-arch/various-suite, various-suite (old arch)) (push) Blocked by required conditions Details
End-to-end tests / Verify Storybook (Playwright) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (1, 8) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (2, 8) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (3, 8) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (4, 8) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (5, 8) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (6, 8) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (7, 8) (push) Blocked by required conditions Details
End-to-end tests / Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }}) (8, 8) (push) Blocked by required conditions Details
End-to-end tests / run-azure-monitor-e2e (push) Blocked by required conditions Details
End-to-end tests / All Playwright tests complete (push) Blocked by required conditions Details
End-to-end tests / A11y test (push) Blocked by required conditions Details
End-to-end tests / Publish metrics (push) Blocked by required conditions Details
End-to-end tests / All E2E tests complete (push) Blocked by required conditions Details
Frontend tests / Detect whether code changed (push) Waiting to run Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (1, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (10, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (11, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (12, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (13, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (14, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (15, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (16, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (2, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (3, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (4, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (5, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (6, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (7, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (8, 16) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.shard }} / ${{ matrix.total }}) (9, 16) (push) Blocked by required conditions Details
Frontend tests / Decoupled plugin tests (push) Blocked by required conditions Details
Frontend tests / Packages unit tests (push) Blocked by required conditions Details
Frontend tests / All frontend unit tests complete (push) Blocked by required conditions Details
Integration Tests / Detect whether code changed (push) Waiting to run Details
Integration Tests / Sqlite (${{ matrix.shard }}) (1/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite (${{ matrix.shard }}) (2/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite (${{ matrix.shard }}) (3/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite (${{ matrix.shard }}) (4/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Without CGo (${{ matrix.shard }}) (1/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Without CGo (${{ matrix.shard }}) (2/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Without CGo (${{ matrix.shard }}) (3/4) (push) Blocked by required conditions Details
Integration Tests / Sqlite Without CGo (${{ matrix.shard }}) (4/4) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (1/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (10/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (11/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (12/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (13/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (14/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (15/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (16/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (2/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (3/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (4/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (5/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (6/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (7/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (8/16) (push) Blocked by required conditions Details
Integration Tests / MySQL (${{ matrix.shard }}) (9/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (1/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (10/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (11/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (12/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (13/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (14/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (15/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (16/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (2/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (3/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (4/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (5/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (6/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (7/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (8/16) (push) Blocked by required conditions Details
Integration Tests / Postgres (${{ matrix.shard }}) (9/16) (push) Blocked by required conditions Details
Integration Tests / All backend integration tests complete (push) Blocked by required conditions Details
publish-technical-documentation-next / sync (push) Waiting to run Details
Reject GitHub secrets / reject-gh-secrets (push) Waiting to run Details
Run dashboard schema v2 e2e / dashboard-schema-v2-e2e (push) Waiting to run Details
Shellcheck / Shellcheck scripts (push) Waiting to run Details
Run Storybook a11y tests / Detect whether code changed (push) Waiting to run Details
Run Storybook a11y tests / Run Storybook a11y tests (push) Blocked by required conditions Details
Swagger generated code / Detect whether code changed (push) Waiting to run Details
Swagger generated code / Verify committed API specs match (push) Blocked by required conditions Details
Dispatch sync to mirror / dispatch-job (push) Waiting to run Details
Geomap: Add a MapLibre style base layer (#109841)
* GeoMap: Add maplibre style basemap

* Docs: Add maplibre GeoMap base map

* GeoMap: Add test dashboard to devenv

* Add support for opacity

* Simplify layer name and description

* Add no repeat support

* Update docs/sources/panels-visualizations/visualizations/geomap/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/geomap/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/geomap/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/geomap/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/geomap/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/geomap/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/geomap/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Fix vale issues

* Move to consistent async await approach

* Increment ol-ext

* Remove mapbox temporarily

* Add mapbox back

* Add access token url to docs

* Highlight access token as public

* Make capitalization consistent

* Update yarn lock

* Grab yarn lock from main

* Add missing line to yarn lock

* Fix last line again

* Remove gdev dashboard for now

---------

Co-authored-by: Remo Geissbühler <37411349+remogeissbuehler@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-10-30 17:56:30 -07:00
.changelog-archive Update dependency prettier to v3.6.2 (#108689) 2025-07-25 17:47:44 +01:00
.citools Go: Update to 1.25.3 (#112359) 2025-10-14 12:21:27 +02:00
.github deps(actions): bump actions/download-artifact from 5 to 6 (#113024) 2025-10-29 18:51:40 +00:00
.husky
.vim
.vscode Chore: Move betterer eslint rules to use eslint suppressions (#106267) 2025-09-04 10:47:13 +01:00
.yarn chore(deps): update yarn to v4.10.3 (#112801) 2025-10-23 14:34:02 +01:00
apps Table: Support DataLinks and Actions in SparklineCell (#112244) 2025-10-30 10:04:08 -04:00
conf Chore: replace feature toggle filterOutBotsFromFrontendLogs with config (#112355) 2025-10-16 12:03:07 +00:00
contribute Chore: Update `node` to v24 (#112649) 2025-10-29 17:17:07 +01:00
cue.mod
devenv Table: Support DataLinks and Actions in SparklineCell (#112244) 2025-10-30 10:04:08 -04:00
docs Geomap: Add a MapLibre style base layer (#109841) 2025-10-30 17:56:30 -07:00
e2e Dashboards: Use unified search for dashboard links and improve tests (#112201) 2025-10-14 12:02:28 +01:00
e2e-playwright E2E-Skip: Skipping test due to failing CI test run (#113244) 2025-10-30 12:56:32 -04:00
emails Emails: Fix template brackets in passwordless_verify_ templates (#107108) 2025-08-27 12:47:02 +02:00
grafana-mixin Log Details: Show embedded trace if available (#109926) 2025-08-25 14:06:01 +00:00
hack Go: Update to 1.25.3 (#112359) 2025-10-14 12:21:27 +02:00
kinds PanelTimeCompare: Support saving time compare window (#113150) 2025-10-30 10:50:05 +01:00
kindsv2 Chore: Remove Bingo as Drone is removed (#110020) 2025-08-22 13:49:44 +02:00
local
packages Dashboards: Promote export dashboard as image feature to GA (#113192) 2025-10-30 13:34:33 -07:00
packaging feat: map GF_INSTALL_PLUGINS to use preinstall plugins feature (#105145) 2025-05-22 08:23:33 -04:00
pkg Dashboards: Promote export dashboard as image feature to GA (#113192) 2025-10-30 13:34:33 -07:00
public Geomap: Add a MapLibre style base layer (#109841) 2025-10-30 17:56:30 -07:00
scripts API clients: Extract into a package (#111810) 2025-10-23 13:57:51 +00:00
tools Alerting: Add alertmanager integration tests (#100106) 2025-02-13 11:36:45 +01:00
.air.toml Air: Enable stop_on_error (#111783) 2025-09-30 09:49:23 -04:00
.bra.toml Makefile: Change build-go to only build the binaries, and deprecate build-go-fast (#111986) 2025-10-08 15:04:36 +02:00
.browserslistrc
.dockerignore chore: faster image building for mt-tilt (#111074) 2025-09-15 11:52:01 +02:00
.editorconfig
.gitattributes
.gitignore docs: add comprehensive dashboard migration documentation (#112091) 2025-10-14 09:55:35 +02:00
.golangci.yml chore : Deprecating `FeatureToggles.IsEnabledGlobally` (#112885) 2025-10-24 12:02:53 -04:00
.ignore Remove support for Google Spanner database. (#105846) 2025-05-23 11:35:59 +02:00
.levignore.js
.nvmrc Chore: Update `node` to v24 (#112649) 2025-10-29 17:17:07 +01:00
.nxignore
.prettierignore Chore: regenerate theme schema + ignore in prettier (#112414) 2025-10-15 11:41:36 +01:00
.prettierrc.js
.trivyignore
.vale.ini Lint only Markdown files (#101533) 2025-03-04 11:00:35 +00:00
.yarnrc.yml chore(deps): update yarn to v4.10.3 (#112801) 2025-10-23 14:34:02 +01:00
AGENTS.md Add instructions to improve AI effectiveness when writing documentation (#111246) 2025-10-01 11:37:25 +01:00
CHANGELOG.md Release: update changelog for main (#112719) 2025-10-21 15:17:05 +00:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md add feedback survey to contributing related docs (#113168) 2025-10-30 09:36:44 +01:00
Dockerfile Chore: Update `node` to v24 (#112649) 2025-10-29 17:17:07 +01:00
GOVERNANCE.md Update dependency prettier to v3.6.2 (#108689) 2025-07-25 17:47:44 +01:00
HALL_OF_FAME.md Update HALL_OF_FAME.md (#102267) 2025-03-17 08:25:02 +01:00
LICENSE
LICENSING.md Actions: Introduce actionlint (#105224) 2025-05-13 08:23:59 +02:00
MAINTAINERS.md Adds johnny as codeowner for alerting docs (#99877) 2025-02-04 13:10:57 +01:00
Makefile Codegen: Revert gen-cue verification (#113247) 2025-10-30 17:21:41 +00:00
NOTICE.md
README.md add feedback survey to contributing related docs (#113168) 2025-10-30 09:36:44 +01:00
ROADMAP.md
SECURITY.md Updates SECURITY.md to align with current security & bug bounty guidance (#105572) 2025-05-16 17:19:09 -04:00
SUPPORT.md
WORKFLOW.md
build.go K8s: Update from v0.31.3 to v0.32.0 (#98507) 2025-01-06 18:20:35 +03:00
crowdin.yml Internationalisation: Mark up `@grafana/prometheus` package (#105861) 2025-06-12 11:29:33 +01:00
cypress.config.js e2e: improves flakiness and speed (#103533) 2025-04-16 05:21:06 +01:00
embed.go
eslint-suppressions.json Chore: Convert to functional components (#112951) 2025-10-30 09:23:21 +00:00
eslint.config.js StateTimeline: Comment and metadata cleanup (#112960) 2025-10-24 15:04:33 -04:00
go.mod SQL Expressions: Point to grafana GMS fork (#113104) 2025-10-29 15:06:56 +00:00
go.sum SQL Expressions: Point to grafana GMS fork (#113104) 2025-10-29 15:06:56 +00:00
go.work Apps: Add Example App to `./apps` (#112069) 2025-10-27 12:01:10 -04:00
go.work.sum SQL Expressions: Point to grafana GMS fork (#113104) 2025-10-29 15:06:56 +00:00
i18next.config.ts Chore: Replace deprecated i18next-parser (#112512) 2025-10-27 10:38:31 +01:00
jest.config.codeowner.js Coverage: Add some DX improvements to by codeowner script (#112673) 2025-10-22 15:09:39 -04:00
jest.config.js Accessibility: Make either `tooltip` or `aria-label` required when no button children present (#109131) 2025-08-05 12:04:35 +01:00
latest.json
lefthook.rc Chore: Fix lefthook not running (#106196) 2025-05-29 11:06:33 +02:00
lefthook.yml Chore: remove betterer command from lefthook (#110600) 2025-09-04 15:16:21 +01:00
lerna.json Release: Bump version to 12.3.0-pre (#110974) 2025-09-12 17:54:11 +00:00
nx.json Chore: Disable tui for Nx (#109896) 2025-08-20 10:08:03 +00:00
package.json Geomap: Add ol-mapbox-style to package.json (#113257) 2025-10-30 17:00:43 -07:00
playwright.config.ts Dashboards: User journey E2Es (#109049) 2025-09-04 15:17:54 +03:00
playwright.storybook.config.ts E2E: migrate to playwright (#107241) 2025-07-11 10:31:33 +01:00
project.json Theme: Add `/theme-playground` route (#111974) 2025-10-09 10:09:51 +01:00
relyance.yaml Add Relyance github action (#107012) 2025-07-11 08:44:47 +02:00
stylelint.config.js
tsconfig.json Chore: Fix no-restricted-imports config not applying correctly (#110232) 2025-08-28 10:19:36 +01:00
yarn.lock Geomap: Add ol-mapbox-style to package.json (#113257) 2025-10-30 17:00:43 -07:00

README.md

Grafana Logo (Light) Grafana Logo (Dark)

The open-source platform for monitoring and observability

License 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:

Share your contributor experience in our feedback survey to help us improve.

Get involved

This project is tested with BrowserStack.

License

Grafana is distributed under AGPL-3.0-only. For Apache-2.0 exceptions, see LICENSING.md.