Go to file
Misi 1f3dc0533c
Actionlint / Lint GitHub Actions files (push) Waiting to run Details
Backend Code Checks / Validate Backend Configs (push) Waiting to run 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 / Analyze (actions) (push) Waiting to run Details
CodeQL checks / Analyze (go) (push) Waiting to run Details
CodeQL checks / Analyze (javascript) (push) Waiting to run 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 / Betterer (push) Blocked by required conditions Details
golangci-lint / lint-go (push) Waiting to run Details
Crowdin Upload Action / upload-sources-to-crowdin (push) Waiting to run 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 / ${{ 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 / ${{ matrix.suite }} (e2e/dashboards-suite, dashboards-suite) (push) Blocked by required conditions Details
End-to-end tests / ${{ matrix.suite }} (e2e/panels-suite, panels-suite) (push) Blocked by required conditions Details
End-to-end tests / ${{ matrix.suite }} (e2e/smoke-tests-suite, smoke-tests-suite) (push) Blocked by required conditions Details
End-to-end tests / ${{ matrix.suite }} (e2e/various-suite, various-suite) (push) Blocked by required conditions Details
End-to-end tests / A11y test (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.chunk }} / 8) (1) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.chunk }} / 8) (2) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.chunk }} / 8) (3) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.chunk }} / 8) (4) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.chunk }} / 8) (5) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.chunk }} / 8) (6) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.chunk }} / 8) (7) (push) Blocked by required conditions Details
Frontend tests / Unit tests (${{ matrix.chunk }} / 8) (8) (push) Blocked by required conditions Details
Frontend tests / All frontend unit tests complete (push) Blocked by required conditions Details
Integration Tests / Sqlite (${{ matrix.shard }}) (1/8) (push) Waiting to run Details
Integration Tests / Sqlite (${{ matrix.shard }}) (2/8) (push) Waiting to run Details
Integration Tests / Sqlite (${{ matrix.shard }}) (3/8) (push) Waiting to run Details
Integration Tests / Sqlite (${{ matrix.shard }}) (4/8) (push) Waiting to run Details
Integration Tests / Sqlite (${{ matrix.shard }}) (5/8) (push) Waiting to run Details
Integration Tests / Sqlite (${{ matrix.shard }}) (6/8) (push) Waiting to run Details
Integration Tests / Sqlite (${{ matrix.shard }}) (7/8) (push) Waiting to run Details
Integration Tests / Sqlite (${{ matrix.shard }}) (8/8) (push) Waiting to run Details
Integration Tests / MySQL (${{ matrix.shard }}) (1/8) (push) Waiting to run Details
Integration Tests / MySQL (${{ matrix.shard }}) (2/8) (push) Waiting to run Details
Integration Tests / MySQL (${{ matrix.shard }}) (3/8) (push) Waiting to run Details
Integration Tests / MySQL (${{ matrix.shard }}) (4/8) (push) Waiting to run Details
Integration Tests / MySQL (${{ matrix.shard }}) (5/8) (push) Waiting to run Details
Integration Tests / MySQL (${{ matrix.shard }}) (6/8) (push) Waiting to run Details
Integration Tests / MySQL (${{ matrix.shard }}) (7/8) (push) Waiting to run Details
Integration Tests / MySQL (${{ matrix.shard }}) (8/8) (push) Waiting to run Details
Integration Tests / Postgres (${{ matrix.shard }}) (1/8) (push) Waiting to run Details
Integration Tests / Postgres (${{ matrix.shard }}) (2/8) (push) Waiting to run Details
Integration Tests / Postgres (${{ matrix.shard }}) (3/8) (push) Waiting to run Details
Integration Tests / Postgres (${{ matrix.shard }}) (4/8) (push) Waiting to run Details
Integration Tests / Postgres (${{ matrix.shard }}) (5/8) (push) Waiting to run Details
Integration Tests / Postgres (${{ matrix.shard }}) (6/8) (push) Waiting to run Details
Integration Tests / Postgres (${{ matrix.shard }}) (7/8) (push) Waiting to run Details
Integration Tests / Postgres (${{ matrix.shard }}) (8/8) (push) Waiting to run Details
Integration Tests / All backend integration tests complete (push) Blocked by required conditions Details
publish-kinds-next / main (push) Waiting to run Details
publish-technical-documentation-next / sync (push) Waiting to run Details
Reject GitHub secrets / reject-gh-secrets (push) Waiting to run Details
Build Release Packages / setup (push) Waiting to run Details
Build Release Packages / Dispatch grafana-enterprise build (push) Blocked by required conditions Details
Build Release Packages / ${{ needs.setup.outputs.version }} / ${{ matrix.name }} (targz:grafana:darwin/amd64, darwin-amd64) (push) Blocked by required conditions Details
Build Release Packages / ${{ needs.setup.outputs.version }} / ${{ matrix.name }} (targz:grafana:darwin/arm64, darwin-arm64) (push) Blocked by required conditions Details
Build Release Packages / ${{ needs.setup.outputs.version }} / ${{ matrix.name }} (targz:grafana:linux/amd64,deb:grafana:linux/amd64,rpm:grafana:linux/amd64,docker:grafana:linux/amd64,docker:grafana:linux/amd64:ubuntu,npm:grafana,storybook, linux-amd64) (push) Blocked by required conditions Details
Build Release Packages / ${{ needs.setup.outputs.version }} / ${{ matrix.name }} (targz:grafana:linux/arm/v6,deb:grafana:linux/arm/v6, linux-armv6) (push) Blocked by required conditions Details
Build Release Packages / ${{ needs.setup.outputs.version }} / ${{ matrix.name }} (targz:grafana:linux/arm/v7,deb:grafana:linux/arm/v7,docker:grafana:linux/arm/v7,docker:grafana:linux/arm/v7:ubuntu, linux-armv7) (push) Blocked by required conditions Details
Build Release Packages / ${{ needs.setup.outputs.version }} / ${{ matrix.name }} (targz:grafana:linux/arm64,deb:grafana:linux/arm64,rpm:grafana:linux/arm64,docker:grafana:linux/arm64,docker:grafana:linux/arm64:ubuntu, linux-arm64) (push) Blocked by required conditions Details
Build Release Packages / ${{ needs.setup.outputs.version }} / ${{ matrix.name }} (targz:grafana:linux/s390x,deb:grafana:linux/s390x,rpm:grafana:linux/s390x,docker:grafana:linux/s390x,docker:grafana:linux/s390x:ubuntu, linux-s390x) (push) Blocked by required conditions Details
Build Release Packages / ${{ needs.setup.outputs.version }} / ${{ matrix.name }} (targz:grafana:windows/amd64,zip:grafana:windows/amd64,msi:grafana:windows/amd64, windows-amd64) (push) Blocked by required conditions Details
Build Release Packages / ${{ needs.setup.outputs.version }} / ${{ matrix.name }} (targz:grafana:windows/arm64,zip:grafana:windows/arm64, windows-arm64) (push) Blocked by required conditions Details
Build Release Packages / Upload artifacts (push) Blocked by required conditions Details
Run dashboard schema v2 e2e / dashboard-schema-v2-e2e (push) Waiting to run Details
Shellcheck / Shellcheck scripts (push) Waiting to run Details
Swagger generated code / Verify committed API specs match (push) Waiting to run Details
Dispatch sync to mirror / dispatch-job (push) Waiting to run Details
trigger-dashboard-search-e2e / trigger-search-e2e (push) Waiting to run Details
Auth: Add tracing to auth clients and AuthToken service (#107878)
* Add tracing to auth clients + authtoken svc

* Fix span names

* Fix ext_jwt.go

* Fix idimpl/service

* Update wire_gen.go

* Add tracing to JWT client

* Lint
2025-07-10 15:41:00 +02:00
.bingo Frontend: Remove Angular (#99760) 2025-04-04 11:31:35 +02:00
.changelog-archive Chore: Archive v8,9, and 10 CHANGELOG content (#97448) 2024-12-05 16:09:38 -07:00
.citools Dependencies: Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 (#107379) 2025-06-30 11:56:31 +02:00
.github Actions: Run prettier on docs changes (#107949) 2025-07-10 12:58:13 +02:00
.husky Chore: Remove colours from old husky cleanup pre-commit hook (#73395) 2023-08-18 13:10:18 +00:00
.vim
.vscode FEMT: Basic frontend-service implementation (#104229) 2025-04-24 13:14:21 +01:00
.yarn Update Yarn to v4.9.2 (#107104) 2025-06-24 14:47:42 +01:00
apps Advisor: Update app-sdk and regenerate code (#107786) 2025-07-10 09:55:10 +02:00
conf Schema V2: Simplify annotations v1<->v2 conversions (#107390) 2025-07-08 14:42:30 +02:00
contribute docs: k8s backend contrib docs minor fixes (#106174) 2025-06-17 15:12:49 +02:00
cue.mod
devenv StateTimeline: Show error when Time type field has invalid values (#107491) 2025-07-02 08:51:20 -05:00
docs Docs: Update min supported Loki version to v2.9+ (#107853) 2025-07-10 09:02:53 +02:00
e2e Plugin Configs: Fix Env types (#107908) 2025-07-09 17:54:00 +01:00
emails Auth: Passwordless Login Option Using Magic Links (#95436) 2024-11-14 08:50:55 -05:00
grafana-mixin DashboardSchema: Remove old unused legacy props style and timepicker.enable (#73879) 2023-08-28 12:18:17 +02:00
hack Dependencies: Bump Go to v1.24.4 (#106533) 2025-06-11 14:25:48 +02:00
kinds i18n: rename locale to regionalFormat (#106585) 2025-06-16 21:53:55 +02:00
kindsv2 Chore: Replace bingo-managed tools with go tool directive. (#101890) 2025-03-17 09:48:41 +01:00
local
packages chore: fix typo in FlameGraph docs (#107921) 2025-07-10 13:32:36 +02:00
packaging feat: map GF_INSTALL_PLUGINS to use preinstall plugins feature (#105145) 2025-05-22 08:23:33 -04:00
pkg Auth: Add tracing to auth clients and AuthToken service (#107878) 2025-07-10 15:41:00 +02:00
public virtualization: check for index (#107963) 2025-07-10 13:18:02 +00:00
scripts Plugins: Levitate workflow improvements on forks (#107832) 2025-07-10 12:12:12 +02:00
tools Alerting: Add alertmanager integration tests (#100106) 2025-02-13 11:36:45 +01:00
.air.toml Air: Send interrupt signal for graceful server shutdown (#107507) 2025-07-03 16:50:48 +02:00
.betterer.eslint.config.js Chore: ignore /mocks/** from the betterer results (#107708) 2025-07-07 17:02:59 +01:00
.betterer.results Plugins: renames snake cased plugin files (#107862) 2025-07-09 13:18:44 +02:00
.betterer.ts Chore: Sort eslint betterer results by name (#98208) 2025-01-07 14:56:12 +00:00
.bra.toml Chore: Prevent `make run` from printing all environment variables (#101924) 2025-03-13 08:59:09 +01:00
.browserslistrc
.dockerignore
.drone.star Drone: Delete migrated workflows (#106870) 2025-06-18 14:03:23 -05:00
.drone.yml CI: Fix pa11y check by running in docker-puppeteer image (#107084) 2025-06-24 14:40:37 +01:00
.editorconfig
.gitattributes
.gitignore Chore: Commit wire_gen.go (#107410) 2025-07-01 11:56:27 +02:00
.golangci.yml Zipkin: Decouple backend (#107312) 2025-07-01 08:58:00 +00:00
.ignore Remove support for Google Spanner database. (#105846) 2025-05-23 11:35:59 +02:00
.levignore.js Adds levitate levignore configuration file to prevent breaking change notifications from expected typescript symbols (#74371) 2023-09-05 15:00:13 +02:00
.nvmrc Chore: Bump node to v22.16.0 (#106758) 2025-06-16 17:29:07 +02:00
.nxignore Alerting/Chore: Mock API (MSW) in browser (#89223) 2024-09-04 10:22:03 +01:00
.prettierignore Chore: Fix prettier missing extensions files (#105321) 2025-05-13 13:34:24 +00:00
.prettierrc.js
.trivyignore CI: Add Trivy GitHub Action (#88987) 2024-06-10 16:53:48 -04:00
.vale.ini Lint only Markdown files (#101533) 2025-03-04 11:00:35 +00:00
.yarnrc.yml Update Yarn to v4.9.2 (#107104) 2025-06-24 14:47:42 +01:00
CHANGELOG.md Fix 12.0.2 changelog (#106863) 2025-06-17 22:04:28 +00:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md lint CONTRIBUTING.md (#107923) 2025-07-09 18:31:14 +00:00
Dockerfile Chore: Make base images in Dockerfile dependabot-friendly (#106792) 2025-06-19 10:45:34 +02:00
GOVERNANCE.md Сorrection of spelling errors (#83565) 2024-03-01 11:00:15 +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 Chore: Prepare Wire to generate files that can be committed to the repo (#107382) 2025-06-30 16:39:21 +02:00
NOTICE.md
README.md Added missing period for consistency and readability (#99549) 2025-01-27 05:20:24 -05: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 Minor correction done in WORKFLOW.md (#80505) 2024-04-12 17:56:10 +02:00
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 Core: Remove thema and kindsys dependencies (#84499) 2024-03-21 11:11:29 +01:00
eslint.config.js Storybook: Rearrange and tidy stories (#107270) 2025-07-08 12:37:09 +00:00
go.mod Bump nanogit 2025-07-09 (#107871) 2025-07-09 14:03:29 +02:00
go.sum Bump nanogit 2025-07-09 (#107871) 2025-07-09 14:03:29 +02:00
go.work Dependencies: Bump Go to v1.24.4 (#106533) 2025-06-11 14:25:48 +02:00
go.work.sum Future-proofing query and data source model in Dashboard Schema v2 (#104194) 2025-07-07 15:31:25 +02:00
jest.config.js Update dependency react-calendar to v6 (#107726) 2025-07-08 10:53:50 +00:00
latest.json Release: Deprecate latest.json and replace with api call to grafana.com (#80537) 2024-01-16 11:19:32 +00:00
lefthook.rc Chore: Fix lefthook not running (#106196) 2025-05-29 11:06:33 +02:00
lefthook.yml Lefthook: ensure we're adding the results file in betterer precommit (#103398) 2025-04-04 11:29:28 +01:00
lerna.json Chore: bump version to 12.1.0-pre (#104468) 2025-04-24 15:47:14 +01:00
nx.json Nx: fixes caching issues (#103443) 2025-04-04 14:36:18 +03:00
package.json chore(deps): update dependency postcss to v8.5.6 (#107960) 2025-07-10 13:34:38 +00:00
playwright.config.ts Loki: Decouple data source plugin (#107242) 2025-06-27 15:09:45 +02:00
project.json Revert "Build swagger ui in seperate webpack build" (#104580) 2025-04-25 22:07:43 +01:00
stylelint.config.js Update dependency stylelint to v16 (#83252) 2024-02-23 11:56:38 +02:00
tsconfig.json Chore: Fix `yarn generate-apis` command (#97639) 2024-12-09 15:32:01 +02:00
yarn.lock chore(deps): update dependency postcss to v8.5.6 (#107960) 2025-07-10 13:34:38 +00:00

README.md

Grafana Logo (Light) Grafana Logo (Dark)

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

This project is tested with BrowserStack.

License

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