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. https://grafana.com
  • TypeScript 49.8%
  • Go 47.7%
  • CUE 0.6%
  • JavaScript 0.5%
  • Rich Text Format 0.3%
  • Other 0.9%
Find a file
Piotr Jamróz e21f7dc07d
Dashboards: Keep sidebar state up to date after spec changes (#132986)
* unify apply spec logic

* Simplify the code

* Add support to undo redo for applying schemas

* Add missing prop

* Add unit tests

* Update public/app/features/dashboard-scene/serialization/buildDashboardWithAccessInfoFromScene.ts

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>

* Update codePaneUtils to use group correctlu

* Update builder to use group correctly

* Add isPublic property to dashboard serialization

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Update public/app/features/dashboard-scene/serialization/buildDashboardWithAccessInfoFromScene.test.ts

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>

* Refresh objects after undo

* Clean up imports

* Clean up the sidebar selection

* Close edit pane after apply

* Update comment

* Be defensive as per unit test

* Update public/app/features/dashboard-scene/actions/dashboard/applyDashboardSpec.test.ts

Co-authored-by: Marc M. <146180665+grafakus@users.noreply.github.com>

* Clear sidebar when applySpec is called

* Reconstruct the sidebar after applyDashboardSpec is called

* Fix a test

* Update unit test

* Reconstruct the sidebar after applyDashboardSpec is called

* Update unit test

* Add a comment

* Fix comment grammar in refreshAfterRebuild method

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Simplify test

* Assert via reference, not the key

* Fix lazy loading

* Move code editor preferences to scene object to keep them between re-renders.

---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Marc M. <146180665+grafakus@users.noreply.github.com>
2026-09-29 14:51:25 +02:00
.changelog-archive
.citools Chore: use golang 1.27.1 (#133688) 2026-09-29 12:54:54 +09:00
.claude/skills Testing: Exempt theme colors from literal-value assertions (#133189) 2026-09-21 18:13:32 -04:00
.github Chore: use golang 1.27.1 (#133688) 2026-09-29 12:54:54 +09:00
.vim
.vscode Router: Add a stub dskit service (#132232) 2026-09-11 04:45:13 +09:00
.yarn chore(deps): update yarn to v4.18.0 (#132867) 2026-09-24 17:02:33 +01:00
apps Apiserver: honor list-keys manifest opt-outs (#133775) 2026-09-29 11:37:49 +02:00
conf Config: Deprecate [security]x_xss_protection (#132884) 2026-09-24 14:43:41 +02:00
contribute Build: Compile theme Sass before frontend bundling (#133685) 2026-09-28 15:05:47 +01:00
cue.mod ci: add validation for cue using new make target and backend check (#121032) 2026-03-25 10:35:49 -06:00
devenv Chore: use golang 1.27.1 (#133688) 2026-09-29 12:54:54 +09:00
docs Docs: Add information about publishing delay (#133503) 2026-09-28 16:09:28 -04:00
e2e-playwright Build: Compile theme Sass before frontend bundling (#133685) 2026-09-28 15:05:47 +01:00
emails Auth: Remove passwordless (magic link) authentication backend implementation (#118881) 2026-03-27 09:19:58 -05:00
grafana-mixin Log Details: Show embedded trace if available (#109926) 2025-08-25 14:06:01 +00:00
hack Chore: use golang 1.27.1 (#133688) 2026-09-29 12:54:54 +09:00
kinds Transformations: Allow setting static refIDs per transformation (#131458) 2026-09-24 12:04:24 -04:00
local
packages Grafana UI: Remove GFM processing from Storybook docs (#133759) 2026-09-29 10:34:08 +01:00
packaging Packaging: place backend plugin unix sockets in /run/grafana to survive systemd-tmpfiles age cleanup (#131593) 2026-09-24 11:42:55 +02:00
pkg unified-storage: index deleted_rv on deleted documents (#133709) 2026-09-29 09:36:23 -03:00
public Dashboards: Keep sidebar state up to date after spec changes (#132986) 2026-09-29 14:51:25 +02:00
scripts CI: Report direct and total dependency counts (#133743) 2026-09-29 11:14:43 +02:00
tools Chore: Remove remaining ptr constructor helper functions (#124553) 2026-05-11 21:00:39 +03:00
.air.toml Build: Quote profiling address so make run works in native Windows (#130357) 2026-08-19 09:53:54 +02:00
.browserslistrc
.dockerignore CI: Use docker build without dagger in release-build (#121828) 2026-04-03 10:24:08 +02:00
.editorconfig
.gitattributes Search: serve the per-resource search endpoints by default (#131128) 2026-08-21 10:31:16 +02:00
.gitignore Build: Compile theme Sass before frontend bundling (#133685) 2026-09-28 15:05:47 +01:00
.golangci.yml Chore: prepare for 1.27 (#133731) 2026-09-28 16:43:26 +00:00
.ignore chore: add mt-tilt directory in ignore file (#133098) 2026-09-21 13:00:48 +02:00
.levignore.js
.madgerc Chore: fix last circular deps in @grafana/ui (#130782) 2026-08-14 15:56:44 +01:00
.nvmrc Chore: Update node to v24 (#112649) 2025-10-29 17:17:07 +01:00
.nxignore
.policy.yml CI: Replace Dependabot with Renovate for Go and GHA updates (#133439) 2026-09-24 11:35:07 +02:00
.policy.yml.tmpl fix: wait for patch to complete (#123188) 2026-04-22 07:24:33 +00:00
.prettierignore Chore: Implement a moment-compat layer behind useLuxon FF, backed by Luxon (#130235) 2026-08-19 11:10:20 -05:00
.prettierrc.js
.vale.ini Fix token matching for Hugo shortcodes missing post-argument whitespace (#128282) 2026-08-03 09:54:19 +01:00
.yarnrc.yml chore(deps): update yarn to v4.18.0 (#132867) 2026-09-24 17:02:33 +01:00
AGENTS.md Skills: split panel-testing-strategy into a generic frontend-testing-strategy skill (#130498) 2026-08-21 17:59:38 +00:00
CHANGELOG.md Release: update changelog for main (#133769) 2026-09-29 11:08:12 +02:00
CLAUDE.md agents: add CLAUDE.md (#120503) 2026-03-17 13:10:51 +01:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md Docs: Fix broken markdown link to Grafana Champions program (#127246) 2026-06-25 14:51:19 +00:00
crowdin.yml Plugins: add /translations endpoint and en-US source for advisor-app backend strings (#127654) 2026-08-13 14:11:43 +02:00
Dockerfile Chore: use golang 1.27.1 (#133688) 2026-09-29 12:54:54 +09:00
embed.go
eslint-suppressions.json Chore: fix eslint suppressions — no-explicit-any in alerting utils/rules.ts (#133767) 2026-09-29 10:23:20 +01:00
eslint.config.js UI: replaces useCopyToClipboard from react-use (#132873) 2026-09-22 11:08:18 +02:00
go.mod Chore: Use encoding/json/jsontext" (#133766) 2026-09-29 09:37:39 +02:00
go.sum Chore: Use encoding/json/jsontext" (#133766) 2026-09-29 09:37:39 +02:00
go.work Chore: use golang 1.27.1 (#133688) 2026-09-29 12:54:54 +09:00
go.work.sum Chore: Use encoding/json/jsontext" (#133766) 2026-09-29 09:37:39 +02:00
GOVERNANCE.md
HALL_OF_FAME.md
i18next.config.ts Add faceted labels filter for time series legend (#119918) 2026-03-12 15:57:58 +01:00
jest.config.codeowner.js Frontend coverage: show regressed files and HTML report artifact on failure (#124305) 2026-05-07 14:38:52 -04:00
jest.config.js Swagger: Avoid bootdata (#133368) 2026-09-24 00:44:20 +09:00
knip.config.ts Dependencies: Declare packages that only resolve through Yarn hoisting (#133700) 2026-09-28 16:23:32 +01:00
latest.json
lefthook.rc
lefthook.yml Chore: Add lefthook pre-commit hook to regenerate dev-dashboards jsonnet manifest (#130723) 2026-08-19 07:52:24 -04:00
lerna.json Release: bump version to 13.3.0-pre (#130834) 2026-08-17 09:05:19 +00:00
LICENSE
LICENSING.md Tempo: Remove from core plugins (#127056) 2026-06-24 10:00:04 +02:00
MAINTAINERS.md
Makefile Chore: use golang 1.27.1 (#133688) 2026-09-29 12:54:54 +09:00
mise.toml chore: add mise.toml for local toolchain management (#123953) 2026-06-09 13:21:11 -04:00
NOTICE.md
nx.json Chore: disable nx analytics (#131261) 2026-08-21 12:26:46 +00:00
package.json fix(security/medium/): update dependency nodemailer to v10 [security] (#133763) 2026-09-29 12:07:00 +09:00
playwright.config.ts Datasources: Add on-prem diagnostics download e2e (Playwright) (#129805) 2026-08-05 15:22:04 +02:00
playwright.storybook.config.ts Chore: Add lint rule for consistent type imports (#121336) 2026-03-30 12:44:01 +01:00
project.json Build: Compile theme Sass before frontend bundling (#133685) 2026-09-28 15:05:47 +01:00
README.md docs: remove deprecated Go Report Card badge (#129468) 2026-07-29 22:26:57 +09:00
relyance.yaml Dashboards: Remove unused v2alpha0 schema and kindsv2 generator (#123822) 2026-04-29 13:50:27 -04:00
ROADMAP.md
stylelint.config.js
SUPPORT.md
tsconfig.json Dashboards: CUJ instrumentation framework + canonical journey (#123719) 2026-07-01 08:26:10 -06:00
tsconfig.smoke.json Chore: clean up node options (#128861) 2026-07-31 10:59:18 +02:00
WORKFLOW.md
yarn.config.cjs CI: Run prettier on yarn.config.cjs (#130205) 2026-08-05 18:05:39 +00:00
yarn.lock Grafana UI: Remove GFM processing from Storybook docs (#133759) 2026-09-29 10:34:08 +01:00

Grafana Logo (Light) Grafana Logo (Dark)

The open-source platform for monitoring and observability

License

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.