Go to file
Andreas Christou 3081ac166a
Graphite: Backend functions endpoint (#110771)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add util function for decoding responses

* Add events types

* Add resource handler

* Add events handler and generic resource req handler

* Tests

* Update frontend

- Add types
- Update events function to support backend requests

* Lint and typing

* Lint

* Add metrics find endpoint

- Add types
- Add generic response parser
- Add endpoint
- Tests

* Update FE functoin to use backend endpoint

* Lint

* Simplify request

* Update test

* Metrics expand type

* Extract shared logic and add metric expand endpoint

* Update tests

* Call metric expand from backend

* Rename type for clarity

* Add get resource req handler

* Refactor doGraphiteRequest, parseResponse

Update tests

* Migrate functions endpoint to backend

* Add tests

* Review

* Review

* Fix packages

* Format

* Fix merge issues

* Review

* Fix undefined values

* Extract request creation

- Add method for create requests generically with tests
- Replace usage in query method
- Update usages in resource handlers
- Update tests
- Update types

* Lint

* Lint
2025-09-12 23:23:44 +01:00
.changelog-archive Update dependency prettier to v3.6.2 (#108689) 2025-07-25 17:47:44 +01:00
.citools Dependencies: Bump github.com/go-viper/mapstructure/v2 to 2.4.0 (#110201) 2025-08-27 11:28:10 +02:00
.github Make alerting team a sole owner of alerting tests (#111036) 2025-09-12 13:32:06 -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.2 (#107104) 2025-06-24 14:47:42 +01:00
apps Alerting: Rename expression elements of Rules APIs (#110914) 2025-09-12 22:15:55 +00:00
conf Chore: Removes HideAngularDeprecation configuration (#110665) 2025-09-08 12:39:01 +02:00
contribute Docs: improve form field accessibility guidance (#110826) 2025-09-10 08:58:30 -04:00
cue.mod
devenv Table: Fix logic to calculate footer height (#110954) 2025-09-12 17:22:30 -04:00
docs Update docs for pdc+sigv4 (#110787) 2025-09-12 10:59:05 -04:00
e2e Playwright: Fix remaining various-suite tests (#110667) 2025-09-08 16:57:39 +01:00
e2e-playwright Table: Restore previous footer behavior of reducers applying to filtered data (#111041) 2025-09-12 17:33:06 -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 feat: add mt development scripts (#110890) 2025-09-10 16:39:55 +00: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 Table: Restore previous footer behavior of reducers applying to filtered data (#111041) 2025-09-12 17:33:06 -04:00
packaging feat: map GF_INSTALL_PLUGINS to use preinstall plugins feature (#105145) 2025-05-22 08:23:33 -04:00
pkg Graphite: Backend functions endpoint (#110771) 2025-09-12 23:23:44 +01:00
public Graphite: Backend functions endpoint (#110771) 2025-09-12 23:23:44 +01:00
scripts NPM: Publish canary packages (#110866) 2025-09-11 10:03:19 +01:00
tools Alerting: Add alertmanager integration tests (#100106) 2025-02-13 11:36:45 +01:00
.air.toml Air: Keep binary after exiting (#109103) 2025-08-04 09:58:54 +02:00
.bra.toml Chore: Prevent `make run` from printing all environment variables (#101924) 2025-03-13 08:59:09 +01:00
.browserslistrc
.dockerignore
.editorconfig
.gitattributes
.gitignore feat: add mt development scripts (#110890) 2025-09-10 16:39:55 +00:00
.golangci.yml Graphite: Decouple from core Grafana (#110294) 2025-09-10 18:48:29 +01: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
.prettierignore Chore: Remove betterer (#110469) 2025-09-04 18:17:53 +01:00
.prettierrc.js
.trivyignore
.vale.ini Lint only Markdown files (#101533) 2025-03-04 11:00:35 +00:00
.yarnrc.yml Chore: disable npm package install scripts (#110559) 2025-09-08 15:01:52 -04:00
CHANGELOG.md Pyroscope: Fix incorrect rate calculation from flamegraph totals (#110470) 2025-09-03 08:15:06 +01:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md Update CONTRIBUTING.md (Fa1thw patch 4) (#110331) 2025-08-29 12:37:09 +02:00
Dockerfile Alerting: Define rules.alerting.grafana.app/v0alpha1 AlertRule and RecordingRule 2025-09-10 09:30:56 -04: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 Plugins: Add ability to run backend plugins in containers (#110534) 2025-09-10 11:12:23 +01:00
NOTICE.md
README.md
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
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: Remove some unnecessary suppressions (#110942) 2025-09-11 11:55:54 +00:00
eslint.config.js Chore: prevents imports from grafana packages in i18n (#111000) 2025-09-12 10:26:50 +02:00
go.mod Alerting: Update alerting module to f2728ab090eed9c6b70057b53239fb370d68e8ed (#111018) 2025-09-12 15:01:13 -04:00
go.sum Alerting: Update alerting module to f2728ab090eed9c6b70057b53239fb370d68e8ed (#111018) 2025-09-12 15:01:13 -04:00
go.work Alerting: Update alerting module to 2b26ef8f17eb91ce179a51dde6d86839a680e1b4 (#110975) 2025-09-11 21:27:22 +00:00
go.work.sum Chore: update otel v1.37.0 to v1.38.0 (#110985) 2025-09-12 10:11:56 +00: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 Release: Bump version to 12.3.0-pre (#110974) 2025-09-12 17:54:11 +00: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 Build: Adds option to build debug frontend docker images (#108202) 2025-08-19 14:22:59 -04: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 Release: Bump version to 12.3.0-pre (#110974) 2025-09-12 17:54:11 +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.