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.
Go to file
Steve Simpson a6ad2380bf
Alerting: Refactor api_prometheus.go request handlers. (#86639)
This splits the request handlers into two functions, one which is the actual
handler and one which is independent from the Grafana `ReqContext` object. This
is to make it easier to reuse the implementation in other code.

Part of the refactoring changes the functions which get query parameters from
the request to operate on a `url.Values` instead of the request object.

The change also makes the code consistently use `req.Form` instead of a
combination of `req.URL.Query()` and `req.Form`, though I have left
`api_ruler` as-is to avoid this PR growing too large.
2024-04-23 14:50:26 +02:00
.bingo chore: bump Go to 1.21.9 (#85964) 2024-04-11 15:37:07 -04:00
.changelog-archive Update links to default Grafana branch (#83025) 2024-02-29 17:08:45 +02:00
.github Bump slackapi/slack-github-action from 1.25.0 to 1.26.0 (#86562) 2024-04-22 09:10:36 +00:00
.husky Chore: Remove colours from old husky cleanup pre-commit hook (#73395) 2023-08-18 13:10:18 +00:00
.vim Chore: Upgrade yarn and editor sdks (#42847) 2021-12-08 14:40:24 +01:00
.vscode Rename debug target to "UI" rather than Jest 2024-04-23 11:26:56 +01:00
.yarn Update Yarn to v4.1.1 (#85350) 2024-04-02 10:25:30 +01:00
conf Short Links: Add setting for changing expiration time (#86003) 2024-04-22 07:39:24 -05:00
contribute I18n: Support for Enterprise translations (#86215) 2024-04-18 16:25:27 +01:00
cue.mod Introduce "scuemata" system for CUE-based specification of Grafana objects (#32527) 2021-04-08 01:11:11 -07:00
devenv Remove SAML form the list of auth providers for devenv (#86684) 2024-04-22 17:27:58 +02:00
docs Update make docs procedure (#86746) 2024-04-23 12:52:16 +01:00
e2e Prometheus: Bypass flaky E2E test (#86460) 2024-04-17 13:53:22 -05:00
emails Refactor: Email verification (#84393) 2024-03-14 13:25:28 +01:00
grafana-mixin DashboardSchema: Remove old unused legacy props style and timepicker.enable (#73879) 2023-08-28 12:18:17 +02:00
hack QueryService: Use types from sdk (#84029) 2024-03-08 18:12:59 +02:00
kinds Core: Remove thema and kindsys dependencies (#84499) 2024-03-21 11:11:29 +01:00
local Packaging: Dockerfile copy local folder (#64766) 2023-03-14 14:44:11 -05:00
packages Update dependency react-i18next to v14 (#86753) 2024-04-23 11:11:25 +01:00
packaging Alerting: Remove legacy alerting (#83671) 2024-03-14 15:36:35 +01:00
pkg Alerting: Refactor api_prometheus.go request handlers. (#86639) 2024-04-23 14:50:26 +02:00
plugins-bundled Chore: Delete Input Datasource (#83163) 2024-03-18 09:48:19 +01:00
public Alerting: Gops labels integration (#85467) 2024-04-23 14:38:31 +02:00
scripts Chore: Replace backend platform codeownership (#86010) 2024-04-19 19:12:59 +02:00
tools Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.betterer.results EmptyState: Apply call-to-action variant in core (#86448) 2024-04-22 17:01:24 +01:00
.betterer.results.json Chore: change bettererResultsToJSON format (#86381) 2024-04-17 11:51:18 +02:00
.betterer.ts Chore: Add codemod and betterer config to make barrel imports explicit (#80913) 2024-04-15 16:36:19 +02:00
.bra.toml Make: Speed up make run by removing redundant make go-gen in .bra (#84827) 2024-03-20 16:39:49 +01:00
.browserslistrc Babel: Target more modern browsers, updates browserlistrc (#32573) 2021-04-01 10:32:00 +02:00
.dockerignore copy .github folder into golang build container since we rely on codeowners (#62122) 2023-01-25 10:31:16 -05:00
.drone.star Chore: Upgrade Go to 1.21.5 (#79329) 2023-12-15 10:36:49 +01:00
.drone.yml Alerting: Use a struct when sending a Grafana AM configuration to the remote Alertmanager (#86451) 2024-04-19 13:04:18 +02:00
.editorconfig Chore: Enable PR testing in Drone (#26189) 2020-07-10 16:09:21 +02:00
.eslintignore Chore: fix .eslintignore to only ignore folder paths at the root (#72032) 2023-07-21 09:17:42 +01:00
.eslintrc Chore: Add codemod and betterer config to make barrel imports explicit (#80913) 2024-04-15 16:36:19 +02:00
.gitattributes CRLF (#28822) 2020-11-05 17:20:40 +01:00
.gitignore Chore: ignore Go coverage .out files (#84702) 2024-03-19 10:55:33 -03:00
.golangci.toml mysql: decouple sqleng (#86057) 2024-04-15 14:26:15 +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: Update to node 20 (#76097) 2023-10-26 09:34:50 +02:00
.pa11yci-pr.conf.js Pa11y: Decrease error thresholds for PRs (#85178) 2024-03-27 12:29:54 +01:00
.pa11yci.conf.js Login: Improve accessibility of Login form (#78652) 2023-11-28 10:22:20 +00:00
.prettierignore I18n: Support for Enterprise translations (#86215) 2024-04-18 16:25:27 +01:00
.prettierrc.js Toolkit: Remove deprecated plugin:build (#67485) 2023-04-28 14:33:16 +02:00
.yarnrc.yml Update Yarn to v4.1.1 (#85350) 2024-04-02 10:25:30 +01:00
build.go Chore: move build command to importable package (#38726) 2021-09-03 11:24:21 -05:00
CHANGELOG.md Changelog: Updated changelog for 10.4.2 (#85997) 2024-04-11 18:49:19 +00:00
CODE_OF_CONDUCT.md Fixing typos (#70487) 2023-06-22 09:43:38 +01:00
CONTRIBUTING.md Docs: Fix link to developing plugins (#75816) 2023-10-03 09:57:53 -05:00
crowdin.yml I18n: Fix path for Crowdin upload (#81733) 2024-02-05 13:33:37 +01:00
cypress.config.js Chore: Remove compareScreenshot + blink-diff dependency from core (#77920) 2023-11-09 13:18:12 +00:00
Dockerfile chore: bump Go to 1.21.9 (#85964) 2024-04-11 15:37:07 -04:00
embed.go Core: Remove thema and kindsys dependencies (#84499) 2024-03-21 11:11:29 +01:00
go.mod Chore: Replace backend platform codeownership (#86010) 2024-04-19 19:12:59 +02:00
go.sum Chore: Bump promlib to v0.0.5 (#86596) 2024-04-19 14:33:44 +02:00
go.work Chore: Vendor wire into pkg/build (#84637) 2024-03-25 11:23:27 +01:00
go.work.sum Alerting: Implement SaveAndApplyDefaultConfig in the remote Alertmanager struct (#85005) 2024-04-19 15:11:07 +02:00
GOVERNANCE.md Сorrection of spelling errors (#83565) 2024-03-01 11:00:15 +01:00
HALL_OF_FAME.md Docs: Update HALL_OF_FAME.md (#79775) 2024-02-26 15:04:58 +01:00
jest.config.js Simplify import logic for test utils 2024-04-16 12:23:50 +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: Replace Husky/Lint-staged with Lefthook (#66608) 2023-08-17 09:56:52 +00:00
lefthook.yml Chore: Temp remove betterer json from precommit (#83113) 2024-02-20 18:16:31 +02:00
lerna.json Release: Bump version to 11.1.0-pre (#85115) 2024-03-25 21:44:28 +02:00
LICENSE Re-license Grafana to AGPLv3 (#33184) 2021-04-20 19:03:30 +02:00
LICENSING.md Schemas: Replace registry generation and github workflow (#83490) 2024-03-13 18:05:21 +02:00
MAINTAINERS.md Update codeowners (#73159) 2023-09-28 11:31:26 -07:00
Makefile I18n: Support for Enterprise translations (#86215) 2024-04-18 16:25:27 +01:00
NOTICE.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
nx.json Chore: Bump Nx to 18.1.x (#85185) 2024-03-28 09:36:35 +01:00
package.json Update dependency react-i18next to v14 (#86753) 2024-04-23 11:11:25 +01:00
playwright.config.ts E2E: Rewrite mysql tests to playwright (#83424) 2024-03-19 23:07:48 +01:00
project.json Plugins: Always load decoupled frontend assets from builds (#81873) 2024-03-13 12:40:09 +01:00
README.md Docs: Invert logo color for dark theme in README (#76012) 2023-11-07 09:54:12 +00:00
ROADMAP.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
SECURITY.md Docs: Update SECURITY.md (#67985) 2023-06-21 07:34:42 +01:00
stylelint.config.js Update dependency stylelint to v16 (#83252) 2024-02-23 11:56:38 +02:00
SUPPORT.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
tsconfig.json Simplify import logic for test utils 2024-04-16 12:23:50 +01:00
WORKFLOW.md Minor correction done in WORKFLOW.md (#80505) 2024-04-12 17:56:10 +02:00
yarn.lock Chore: Bump webpack-dev-middleware to 6.1.3 (#86482) 2024-04-23 12:32:17 +02:00

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.