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
Dan Cech c4c9bfaf2e
Storage: Unified Storage based on Entity API (#71977)
* first round of entityapi updates

- quote column names and clean up insert/update queries
- replace grn with guid
- streamline table structure

fixes

streamline entity history

move EntitySummary into proto

remove EntitySummary

add guid to json

fix tests

change DB_Uuid to DB_NVarchar

fix folder test

convert interface to any

more cleanup

start entity store under grafana-apiserver dskit target

CRUD working, kind of

rough cut of wiring entity api to kube-apiserver

fake grafana user in context

add key to entity

list working

revert unnecessary changes

move entity storage files to their own package, clean up

use accessor to read/write grafana annotations

implement separate Create and Update functions

* go mod tidy

* switch from Kind to resource

* basic grpc storage server

* basic support for grpc entity store

* don't connect to database unless it's needed, pass user identity over grpc

* support getting user from k8s context, fix some mysql issues

* assign owner to snowflake dependency

* switch from ulid to uuid for guids

* cleanup, rename Search to List

* remove entityListResult

* EntityAPI: remove extra user abstraction (#79033)

* remove extra user abstraction

* add test stub (but

* move grpc context setup into client wrapper, fix lint issue

* remove unused constants

* remove custom json stuff

* basic list filtering, add todo

* change target to storage-server, allow entityStore flag in prod mode

* fix issue with Update

* EntityAPI: make test work, need to resolve expected differences (#79123)

* make test work, need to resolve expected differences

* remove the fields not supported by legacy

* sanitize out the bits legacy does not support

* sanitize out the bits legacy does not support

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* update feature toggle generated files

* remove unused http headers

* update feature flag strategy

* devmode

* update readme

* spelling

* readme

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-12-06 15:21:21 -05:00
.bingo Chore: Fix bingo variables for Windows (#73830) 2023-10-27 15:28:41 +02:00
.changelog-archive Docs: Remove old plugin docs, fix URLs to go to new dev portal (#75325) 2023-09-29 07:43:48 +01:00
.github K8s: fix standalone command and add hack scripts (#79052) 2023-12-05 14:31:49 -08: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 K8s: fix standalone command and add hack scripts (#79052) 2023-12-05 14:31:49 -08:00
.yarn Chore: Update to typescript 5 (#76511) 2023-11-07 13:20:20 +00:00
conf Unified Alerting: Set max_attempts to 1 by default (#79095) 2023-12-05 17:42:34 +00:00
contribute Internationalization: Add information about the process to send feedback to Crowdin (#78755) 2023-12-01 16:10:23 +01:00
cue.mod Introduce "scuemata" system for CUE-based specification of Grafana objects (#32527) 2021-04-08 01:11:11 -07:00
devenv Transformations: Add regression analysis gdev dashboard (#78720) 2023-11-30 11:52:04 +01:00
docs Storage: Unified Storage based on Entity API (#71977) 2023-12-06 15:21:21 -05:00
e2e Transformations: Move transformation addition into drawer (#78299) 2023-12-01 14:08:54 -06:00
emails Alerting: Do not show grouping when grouplabels are empty in email template (#74090) 2023-08-30 13:02:23 +02:00
grafana-mixin DashboardSchema: Remove old unused legacy props style and timepicker.enable (#73879) 2023-08-28 12:18:17 +02:00
hack K8s: fix standalone command and add hack scripts (#79052) 2023-12-05 14:31:49 -08:00
kinds Swagger: Rename Spec to Preferences (#78226) 2023-12-04 09:51:09 -05:00
local Packaging: Dockerfile copy local folder (#64766) 2023-03-14 14:44:11 -05:00
packages Storage: Unified Storage based on Entity API (#71977) 2023-12-06 15:21:21 -05:00
packaging Chore: Update ubuntu image to 22.04 (#70719) 2023-09-28 08:48:41 -05:00
pkg Storage: Unified Storage based on Entity API (#71977) 2023-12-06 15:21:21 -05:00
plugins-bundled Chore: Replace ts-loader in e2e and input-datasource (#76872) 2023-10-23 10:45:22 +02:00
public Alerting: Support for condition field in /api/v1/eval (#79032) 2023-12-06 11:28:43 -05:00
scripts Frontend: Foundations for multi tenant frontend (#78815) 2023-12-05 08:34:22 +01:00
tools Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.betterer.results Scenes: Add ability to change panel viz type (#78477) 2023-12-06 16:14:54 +00:00
.betterer.ts Chore: Improve typings and ignore Graph (#75742) 2023-10-06 11:48:15 +01:00
.bra.toml Chore: Remove redundant codegen step from .bra.tom (#62764) 2023-02-02 14:53:54 +01:00
.browserslistrc Babel: Target more modern browsers, updates browserlistrc (#32573) 2021-04-01 10:32:00 +02:00
.codespellignore docs: what's new, add traces and k6 integration (#75401) 2023-10-04 12:04:48 -04: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 Refactor starlark to remove references to the build_image (#74624) 2023-09-12 12:19:06 -03:00
.drone.yml Alerting: Introduce a Mimir client as part of the Remote Alertmanager (#78357) 2023-11-23 16:59:36 +00: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: Improve decoupled-plugin linter (#75285) 2023-09-25 12:15:15 +02:00
.gitattributes CRLF (#28822) 2020-11-05 17:20:40 +01:00
.gitignore K8s: fix standalone command and add hack scripts (#79052) 2023-12-05 14:31:49 -08:00
.golangci.toml Chore: Rename testdata plugin with a fully qualified name (#75104) 2023-09-22 15:00:40 +03: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 Chore: Remove core-js polyfills (#78715) 2023-11-29 11:12:23 -06:00
.pa11yci.conf.js Login: Improve accessibility of Login form (#78652) 2023-11-28 10:22:20 +00:00
.prettierignore Chore: Split OSS and Enterprise OAPI Spec Generation (#75133) 2023-09-25 15:34:57 -04:00
.prettierrc.js Toolkit: Remove deprecated plugin:build (#67485) 2023-04-28 14:33:16 +02:00
.yarnrc.yml Chore: Update to typescript 5 (#76511) 2023-11-07 13:20:20 +00:00
babel.config.json Chore: Remove core-js polyfills (#78715) 2023-11-29 11:12:23 -06: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.2.2 (#78439) 2023-11-21 10:16:33 +01: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 Remove mandatory backport checks (#78678) 2023-11-28 14:03:32 +00:00
cypress.config.js Chore: Remove compareScreenshot + blink-diff dependency from core (#77920) 2023-11-09 13:18:12 +00:00
Dockerfile fix: Add vendored dependencies to Dockerfile (#78285) 2023-11-17 17:38:46 +01:00
embed.go extract kindsys to external library (#64562) 2023-03-15 12:04:28 -04:00
go.mod Storage: Unified Storage based on Entity API (#71977) 2023-12-06 15:21:21 -05:00
go.sum Chore: Upgrade sdk to v0.194.0 (#78961) 2023-12-04 11:42:09 +01:00
GOVERNANCE.md Governance: Update workplace (#63997) 2023-04-03 13:54:54 +02:00
HALL_OF_FAME.md Chore: Introducing a Grafana HALL_OF_FAME.md (#45878) 2022-05-18 20:13:11 +00:00
ISSUE_TRIAGE.md Docs: Update triage guide re feature requests (#73974) 2023-08-31 11:30:39 +02:00
jest.config.js Icon: Simplify and remove wrapping <div> (#76819) 2023-10-24 12:16:32 +01:00
latest.json Chore: update latest.json to 10.2.2 (#78445) 2023-11-21 11:10:45 +01:00
lefthook.rc Chore: Replace Husky/Lint-staged with Lefthook (#66608) 2023-08-17 09:56:52 +00:00
lefthook.yml Chore: Replace Husky/Lint-staged with Lefthook (#66608) 2023-08-17 09:56:52 +00:00
lerna.json Chore: Bump Lerna to v7 (again) (#77190) 2023-10-27 12:57:09 +02:00
LICENSE Re-license Grafana to AGPLv3 (#33184) 2021-04-20 19:03:30 +02:00
LICENSING.md Plugins: Remove deprecated grafana-toolkit (#73489) 2023-09-05 09:56:04 +02:00
MAINTAINERS.md Update codeowners (#73159) 2023-09-28 11:31:26 -07:00
Makefile Alerting: Introduce a Mimir client as part of the Remote Alertmanager (#78357) 2023-11-23 16:59:36 +00:00
metadata.md Docs: Document plugin authentication in metadata schema (#32703) 2021-04-08 18:13:18 +02: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
package.json Dashboard interactions reporting refactor, DashboardScene interactions handling (#79078) 2023-12-06 07:24:15 -08: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-config-sass-guidelines to v10 (#71632) 2023-07-19 16:05:06 +01: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 Build testdata frontend standalone (#75833) 2023-10-16 17:31:43 +02:00
UPGRADING_DEPENDENCIES.md Bump publish docs node version (#46475) 2022-03-11 21:28:12 +01:00
WORKFLOW.md Docs: Update contrib documentation around backports (#73558) 2023-08-30 08:14:15 +02:00
yarn.lock Dashboard interactions reporting refactor, DashboardScene interactions handling (#79078) 2023-12-06 07:24:15 -08: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.