Go to file
Jesse David Peterson 70dc9a0027
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
Trivy Scan / trivy-scan (push) Waiting to run Details
Tests: Custom script to run unit tests filtered by code ownership (#111210)
* feat(script): generate a source file x teams manifest from CODEOWNERS

* feat(script): unit tests + coverage report only for files owned by team

* feat(script): calculate CODEOWNERS metadata

* refactor(script): export a pure codeowners manifest generation function

* refactor(script): export a pure test coverage by team function

* refactor(script): generate raw JSONL codeowners data from Node.js script

* feat(script): put codeowners manifest all together in one script

* refactor(scripts): group consistently with NPM script name

* refactor(scripts): deduplicate constants for file paths etc.

* refactor(scripts): make console output cute 💅

* refactor(tests): make coverage by "owner" directory more human readable

* refactor(scripts): use consistent naming "codeowner" instead of "team"

* chore(codeowners): mark DataViz as owners of scripts for now

* chore(todo): leave a note where coverage metrics should be emitted later

* fix(gitignore): ignore root codeowners-manifest directory not scripts/*

* refactor(script): rename manifest to generate for clarity

* docs(readme): add a brief README describing new scrips

* chore(linter): ignore temporary files in prettier, fix whitespace format

* refactor(script): simplify Jest config by using team files list directly

* refactor(script): simplify script, partition sourceFiles and testFiles

* refactor(script): simplify and parallelize manifest write operations

* fix(script): handle errors for JSONL line reader

* refactor(script): use Map instead of POJOs

* fix(script): handle errors when streaming raw JSONL output

* fix(script): add error handling, and use promise API for metadata check

* fix(reporter): suppress duplicate Jest CLI coverage report output

* refactor(script): simplify with fs promises API for consistency

* fix(script): error handling for cp spawn-ed process

* refactor(script): use Promise API for mkdir + exists

* refactor(script): use fs Promise API

* refactor(script): use fs Promise API

* fix(script): same allow list for sourceFilter and all Jest config rules

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>

* fix(script): bust cache when new files are created also

---------

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-10-07 17:07:55 -04:00
.changelog-archive Update dependency prettier to v3.6.2 (#108689) 2025-07-25 17:47:44 +01:00
.citools Revert "Wire: Add provider lint" (#111306) 2025-09-18 12:07:55 +00:00
.github Tests: Custom script to run unit tests filtered by code ownership (#111210) 2025-10-07 17:07:55 -04:00
.husky
.vim
.vscode Chore: Move betterer eslint rules to use eslint suppressions (#106267) 2025-09-04 10:47:13 +01:00
.yarn Update Yarn to v4.9.4 (#111232) 2025-09-17 11:07:20 +00:00
apps Alerting: Update alerting module to e642236ea9eb9ba49137c476b404666c98a15f67 (#112122) 2025-10-07 16:40:47 +00:00
conf Provisioning: Allow configurable min interval (#111920) 2025-10-02 09:05:09 +03:00
contribute OpenFeature: Create basic frontend client + example usage (#110587) 2025-10-06 14:22:00 +00:00
cue.mod
devenv devenv: fix volumes section when sources don't contain one (#111563) 2025-09-25 07:18:14 -07:00
docs DOCS: Amazon CloudWatch data source docs revmp (#109945) 2025-10-07 19:21:44 +00:00
e2e Share: Remove new share drawer feature flag (#111048) 2025-09-16 10:57:49 -03:00
e2e-playwright OpenFeature: Create basic frontend client + example usage (#110587) 2025-10-06 14:22:00 +00: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 Scopes: Move types to its own module (#111556) 2025-10-07 11:31:03 +02:00
kinds Dashboard Schema V2: Support panel actions (#110842) 2025-09-12 11:31:05 -06:00
kindsv2 Chore: Remove Bingo as Drone is removed (#110020) 2025-08-22 13:49:44 +02:00
local
packages Revert "Revert: DataSource: Support config CRUD from apiservers (#106996) (#110342)" 2025-10-07 14:31:07 -04:00
packaging feat: map GF_INSTALL_PLUGINS to use preinstall plugins feature (#105145) 2025-05-22 08:23:33 -04:00
pkg Make it safe to run new config CRUD APIs in DS API server 2025-10-07 14:31:07 -04:00
public ShortURL: Fix wrong kind in RTK K8S API creation (#112130) 2025-10-07 19:22:35 +00:00
scripts Tests: Custom script to run unit tests filtered by code ownership (#111210) 2025-10-07 17:07:55 -04: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 Chore: Prevent `make run` from printing all environment variables (#101924) 2025-03-13 08:59:09 +01:00
.browserslistrc
.dockerignore chore: faster image building for mt-tilt (#111074) 2025-09-15 11:52:01 +02:00
.editorconfig
.gitattributes
.gitignore Tests: Custom script to run unit tests filtered by code ownership (#111210) 2025-10-07 17:07:55 -04:00
.golangci.yml Revert "Wire: Add provider lint" (#111306) 2025-09-18 12:07:55 +00:00
.ignore Remove support for Google Spanner database. (#105846) 2025-05-23 11:35:59 +02:00
.levignore.js
.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 Tests: Custom script to run unit tests filtered by code ownership (#111210) 2025-10-07 17:07:55 -04: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.4 (#111232) 2025-09-17 11:07:20 +00: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 (#111503) 2025-09-24 00:00:53 +00:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md Update CONTRIBUTING.md (Fa1thw patch 4) (#110331) 2025-08-29 12:37:09 +02:00
Dockerfile Scopes: Move types to its own module (#111556) 2025-10-07 11:31:03 +02: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 Chore: Disable cgo by default for local builds (#111807) 2025-09-30 23:06:40 +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-suppressions.json OTel logs: Move OTel augmented attributes out of the log line to a field (#110901) 2025-10-07 11:19:27 +00:00
eslint.config.js Internationalisation: Allow parameterising `basePaths` for key generation in lint rule (#111999) 2025-10-03 16:38:31 +01:00
go.mod Alerting: Update alerting module to e642236ea9eb9ba49137c476b404666c98a15f67 (#112122) 2025-10-07 16:40:47 +00:00
go.sum Alerting: Update alerting module to e642236ea9eb9ba49137c476b404666c98a15f67 (#112122) 2025-10-07 16:40:47 +00:00
go.work Scopes: Move types to its own module (#111556) 2025-10-07 11:31:03 +02:00
go.work.sum Revert "Revert: DataSource: Support config CRUD from apiservers (#106996) (#110342)" 2025-10-07 14:31:07 -04:00
jest.config.codeowner.js Tests: Custom script to run unit tests filtered by code ownership (#111210) 2025-10-07 17:07:55 -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 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 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 Tests: Custom script to run unit tests filtered by code ownership (#111210) 2025-10-07 17:07:55 -04: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 Frontend: Fix start scripts (#110510) 2025-09-18 14:07:33 +02:00
relyance.yaml Add Relyance github action (#107012) 2025-07-11 08:44:47 +02:00
stylelint.config.js Update dependency stylelint to v16 (#83252) 2024-02-23 11:56:38 +02:00
tsconfig.json Chore: Fix no-restricted-imports config not applying correctly (#110232) 2025-08-28 10:19:36 +01:00
yarn.lock Tests: Custom script to run unit tests filtered by code ownership (#111210) 2025-10-07 17:07:55 -04: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.