mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
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.
alertinganalyticsbusiness-intelligencedashboarddata-visualizationelasticsearchgografanahacktoberfestinfluxdbmetricsmonitoringmysqlpostgresprometheus
* Alerting: Fix unique violation when updating rule group with title chains/cycles The uniqueness constraint for titles within an org+folder is enforced on every update within a transaction instead of on commit (deferred constraint). This means that there could be a set of updates that will throw a unique constraint violation in an intermediate step even though the final state is valid. For example, a chain of updates RuleA -> RuleB -> RuleC could fail if not executed in the correct order, or a swap of titles RuleA <-> RuleB cannot be executed in any order without violating the constraint. The exact solution to this is complex and requires determining directed paths and cycles in the update graph, adding in temporary updates to break cycles, and then executing the updates in reverse topological order (see first commit in PR if curious). This is not implemented here. Instead, we choose a simpler solution that works in all cases but might perform more updates than necessary. This simpler solution makes a determination of whether an intermediate collision could occur and if so, adds a temporary title on all updated rules to break any cycles and remove the need for specific ordering. In addition, we make sure diffs are executed in the following order: DELETES, UPDATES, INSERTS. |
||
---|---|---|
.bingo | ||
.changelog-archive | ||
.github | ||
.husky | ||
.vim | ||
.vscode | ||
.yarn | ||
conf | ||
contribute | ||
cue.mod | ||
devenv | ||
docs | ||
e2e | ||
emails | ||
grafana-mixin | ||
kinds | ||
local | ||
packages | ||
packaging | ||
pkg | ||
plugins-bundled | ||
public | ||
scripts | ||
tools | ||
.betterer.results | ||
.betterer.ts | ||
.bra.toml | ||
.browserslistrc | ||
.dockerignore | ||
.drone.star | ||
.drone.yml | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc | ||
.gitattributes | ||
.gitignore | ||
.golangci.toml | ||
.linguirc | ||
.nvmrc | ||
.pa11yci-pr.conf.js | ||
.pa11yci.conf.js | ||
.prettierignore | ||
.prettierrc.js | ||
.yarnrc.yml | ||
babel.config.json | ||
build.go | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
crowdin.yml | ||
Dockerfile | ||
embed.go | ||
go.mod | ||
go.sum | ||
GOVERNANCE.md | ||
HALL_OF_FAME.md | ||
ISSUE_TRIAGE.md | ||
jest.config.js | ||
latest.json | ||
lerna.json | ||
LICENSE | ||
LICENSING.md | ||
MAINTAINERS.md | ||
Makefile | ||
metadata.md | ||
NOTICE.md | ||
package.json | ||
README.md | ||
ROADMAP.md | ||
SECURITY.md | ||
stylelint.config.js | ||
SUPPORT.md | ||
tsconfig.json | ||
UPGRADING_DEPENDENCIES.md | ||
WORKFLOW.md | ||
yarn.lock |
The open-source platform for monitoring and observability
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:
- Start by reading the Contributing guide.
- Learn how to set up your local environment, in our Developer guide.
- Explore our beginner-friendly issues.
- Look through our style guide and Storybook.
Get involved
- Follow @grafana on Twitter.
- Read and subscribe to the Grafana blog.
- If you have a specific question, check out our discussion forums.
- For general discussions, join us on the official Slack team.
License
Grafana is distributed under AGPL-3.0-only. For Apache-2.0 exceptions, see LICENSING.md.