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
sam boyer 07e5f8117f
Reconcile coremodels, entities, objects under new kind framework (#56492)
* Update thema to latest

* Deal with s/Library/*Runtime/

* Commit new, working results of codegen

* We like pointers now

* Always take runtime arg for NewBase()

* Sketchy handwavy pass at entity meta framework

* Little nibbles

* Update pkg/framework/coremodel/entityframework.cue

Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>

* Move file into new framework location

* Introduce loaders, Go code

* Complete rename to kind

* Flesh out framework, add svg/dashboard examples

* Cruft removal

* Remove generated kind go files from gitignore

* Refine maturity concept, add SlotKind

* Update embed and go deps

* Export PrefixWithGrafanaCUE

* Make the loader actually work, holy crap

* Many small tweaks to type.cue

* Add Apache 2 licensing exceptions for kinds

* Add new kinds dir, start of generator

* Roll back to earlier oapi-codegen

* Introduce new grafana-specific CUE loaders

* Introduce new tidy code generators framework

* Catch up kind framework with tinkering

* Add slices for the generators

* Add write/verify step to main generator

* Many renames

* Split up kind framework cue files

* Use kind.Decl within generated kinds

* Create kind.SomeDecl wrapper type to cache lineages

* Better names again

* Get one generated implemented, hopefully

* Copy dashboard schema into new kind.cue

* Small fixes to make the initial gen work

* Put svg kind in its new home

* Add generated Go dashboard type

* More renames and cleanups

* Add base kind registry and generator

* Stop blacklisting *_gen.go files

This is not the Go best practice, anyway. All we actually want to ignore
for enterprise is generated wire files.

* Change codegen output directories

pkg/kind -> pkg/kinds
pkg/registry/kindreg -> pkg/registry/corekind

* Rename pkg/framework/kind to pkg/kindsys

* Add core structured kind generator

* Add plural and machine names to kind spec

* Copy playlist over to kind system

* Consolidate kindsys files

* Add raw kind generator

* Update CODEOWNERS for kind framework

* Touch up comments a bit

* More docs tweaks

* Remove generated types to reduce noise for review

* Split each generator into its own file

* Rename Slot kind to Composable kind

* Add handwavy types for customkind loading

* Guard against init calls to framework loader

* First pass at doc on extending the kind system

* Improve attribute example in docs

* Fix wire imports

* Add basic TS types generator

* Fix composable kind category def

* No need for a separate file with generate directive

* Catch dashboard schema up

* Rename generator types to something saner and generic

* Make version configurable in ts/go generators

* Add CommonMeta to ease property access

* Add kindsys prop indicating whether lineage is group

* Put all kind categories back in a single file

* Finish with kindsys group props

* Refactor maturity progression per discussion

- Replace "committed" with "merged"
- All kindcats can use all maturity levels, at least for now

* Convert ts veneer index generator to modular system

* Move over to new jennywrites framework

* Strip down old coremodel generator

* Use public version of jennywrites

* Pull latest thema

* Commit generated Go types

* Add header injection postprocessor

* Move sdboyer/jennywrites to grafana/codejen

* Tweak header output

* Remove dashboard and playlist coremodels

* Fix up backend dashboards devenv test

* Fix TS import patterns to new gen filename

* Update internal imports, remove coremodel registry

* Fix compilation errors, wire generation

* Export and replace the prefix dropper

* More Go struct and field name changes

* Last name fixes, hopefully

* Fix lint errors

* Last lint error

Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
2022-11-10 12:36:40 -08:00
.bingo Chore: Add jsonnet library for devenv dashboards (#57928) 2022-11-03 11:04:39 -04:00
.changelog-archive Changelog: Move to a folder structure for change logs (#50361) 2022-06-08 15:59:47 -05:00
.github Reconcile coremodels, entities, objects under new kind framework (#56492) 2022-11-10 12:36:40 -08:00
.husky Chore: do not run husky hooks on backend-only changes (#48439) 2022-04-29 14:01:02 +01:00
.vim Chore: Upgrade yarn and editor sdks (#42847) 2021-12-08 14:40:24 +01:00
.vscode Add VSCode launch configuration to debug in remote Chrome (#58108) 2022-11-03 21:08:38 +07:00
.yarn Update Monthly patch updates (#58002) 2022-11-02 12:05:32 +00:00
conf Echo: Add config option to prevent duplicate page views for GA4 (#57619) 2022-11-09 15:09:19 +01:00
contribute Build: clean up and document integration test convention (#58170) 2022-11-04 10:14:21 -04:00
cue.mod Introduce "scuemata" system for CUE-based specification of Grafana objects (#32527) 2021-04-08 01:11:11 -07:00
devenv BarChart: Fix coloring from thresholds and value mappings (#58285) 2022-11-10 07:43:32 -06:00
docs Cleaning up plugin developer docs (#58596) 2022-11-10 18:36:59 +01:00
e2e feat(loki-monaco-editor): update e2e test with autocomplete steps (#58455) 2022-11-09 13:37:00 +01:00
emails Alerting: Support values in notification templates (#56457) 2022-10-10 13:40:21 +01:00
grafana-mixin grafana-mixin: Fix GrafanaRequestsFailing alert (#43116) 2021-12-20 15:12:37 +01:00
kinds Reconcile coremodels, entities, objects under new kind framework (#56492) 2022-11-10 12:36:40 -08:00
packages Reconcile coremodels, entities, objects under new kind framework (#56492) 2022-11-10 12:36:40 -08:00
packaging Docker: Remove Edge repos (#53875) 2022-11-02 09:44:39 -04:00
pkg Reconcile coremodels, entities, objects under new kind framework (#56492) 2022-11-10 12:36:40 -08:00
plugins-bundled Chore: Update versions (#55813) 2022-09-27 14:07:16 +02:00
public Reconcile coremodels, entities, objects under new kind framework (#56492) 2022-11-10 12:36:40 -08:00
scripts Chore: Switching to new output format for detect breaking changes action (#58516) 2022-11-10 06:02:04 -05:00
tools Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.betterer.results Canvas: Fix setting icon from field data #58499 2022-11-10 10:56:31 -08:00
.betterer.ts Chore: Ignore type assertions in __mocks__ (#53593) 2022-08-11 14:06:15 +00:00
.bra.toml Chore: Add jsonnet library for devenv dashboards (#57928) 2022-11-03 11:04:39 -04:00
.browserslistrc Babel: Target more modern browsers, updates browserlistrc (#32573) 2021-04-01 10:32:00 +02:00
.dockerignore Add support for local Makefile to docker (#41296) 2021-11-04 11:13:10 -03:00
.drone.star CI: Stop publishing OSS images for security mode (#56088) 2022-10-05 09:39:38 +03:00
.drone.yml AzureMonitor - E2E tests drone update (#57100) 2022-11-08 11:27:54 +01:00
.editorconfig Chore: Enable PR testing in Drone (#26189) 2020-07-10 16:09:21 +02:00
.eslintignore Chore: Align on 'internationalization' for feature name (#52585) 2022-07-21 06:31:08 -04:00
.eslintrc Scenes: Enforce explicit accessibility modifiers (ESLint) (#58331) 2022-11-07 15:32:02 +01:00
.gitattributes CRLF (#28822) 2020-11-05 17:20:40 +01:00
.gitignore Reconcile coremodels, entities, objects under new kind framework (#56492) 2022-11-10 12:36:40 -08:00
.golangci.toml Chore: Upgrade Go to 1.19.1 (#54902) 2022-09-12 12:03:49 +02:00
.linguirc I18n: Change locale format to IETF language tag (#52596) 2022-07-22 10:50:00 -04:00
.nvmrc Update Yarn to v3.2.0 (#45714) 2022-03-09 10:10:51 +01:00
.pa11yci-pr.conf.js Chore: Update footer changelog link to github (#57871) 2022-10-31 07:34:21 -04:00
.pa11yci.conf.js A11y: Add Dashboard Settings to Pa11y CI and Refactor local a11y report (#54476) 2022-09-12 15:14:45 +02:00
.prettierignore Implementing OpenApi 3 specs (converted from Swagger 2) (#53243) 2022-08-04 13:51:12 -03:00
.prettierrc.js Prettier: Add prettier config that imports prettier from toolkit (#23729) 2020-04-21 17:23:49 +02:00
.yarnrc.yml Update Monthly patch updates (#58002) 2022-11-02 12:05:32 +00:00
babel.config.json Chore: Reorder babel plugins into correct order (#45691) 2022-02-21 17:07:42 +00: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 8.5.15 (#58467) 2022-11-08 16:32:41 +00:00
CODE_OF_CONDUCT.md Docs: Refactor inconsistent unordered lists (#27826) 2020-10-02 11:02:11 -07:00
CONTRIBUTING.md Docs: Clarify contributions for translations (#55574) 2022-09-27 10:21:23 -04:00
crowdin.yml I18n: Update crowdin config and codeowners (#57264) 2022-10-20 14:59:02 +01:00
Dockerfile Chore: Upgrade Go to 1.19.3 (#58052) 2022-11-04 14:50:43 +01:00
Dockerfile.ubuntu Chore: Upgrade Go to 1.19.3 (#58052) 2022-11-04 14:50:43 +01:00
embed.go Reconcile coremodels, entities, objects under new kind framework (#56492) 2022-11-10 12:36:40 -08:00
go.mod Reconcile coremodels, entities, objects under new kind framework (#56492) 2022-11-10 12:36:40 -08:00
go.sum Reconcile coremodels, entities, objects under new kind framework (#56492) 2022-11-10 12:36:40 -08:00
GOVERNANCE.md Chore: Introducing a Grafana HALL_OF_FAME.md (#45878) 2022-05-18 20:13:11 +00: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 Updated broken links (#43849) 2022-02-15 13:42:21 +00:00
jest.config.js I18n: Migrate to I18next (#55845) 2022-10-06 16:34:04 +01:00
latest.json Chore: update latest.json to 9.2.4 (#58433) 2022-11-08 09:26:32 -05:00
lerna.json Chore: Update versions (#55813) 2022-09-27 14:07:16 +02:00
LICENSE Re-license Grafana to AGPLv3 (#33184) 2021-04-20 19:03:30 +02:00
LICENSING.md Reconcile coremodels, entities, objects under new kind framework (#56492) 2022-11-10 12:36:40 -08:00
MAINTAINERS.md Add Docs maintainers (#51287) 2022-06-22 13:10:30 -07:00
Makefile Reconcile coremodels, entities, objects under new kind framework (#56492) 2022-11-10 12:36:40 -08: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 Chore: Switch Grafana to using faro libraries (#58186) 2022-11-08 10:36:27 +01:00
PLUGIN_DEV.md Chore: Updated the link to the plugin developer guide docs - it used to point to an old version (#40710) 2021-10-25 12:11:44 +04:00
README.md Update README.md (#45946) 2022-03-02 15:52:45 +01: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 Update SECURITY.md (#42149) 2021-11-24 14:06:18 +01:00
stylelint.config.js Update dependency stylelint to v14.6.0 (#46626) 2022-03-23 13:40:54 +00: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 Chore: Enable useUnknownInCatchVariables for stricter type checking in catch blocks (#50591) 2022-06-15 08:59:29 +01:00
UPGRADING_DEPENDENCIES.md Bump publish docs node version (#46475) 2022-03-11 21:28:12 +01:00
WORKFLOW.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
yarn.lock Chore: Switch Grafana to using faro libraries (#58186) 2022-11-08 10:36:27 +01:00

Grafana

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

License

Grafana is distributed under AGPL-3.0-only. For Apache-2.0 exceptions, see LICENSING.md.