joel113 / forked-grafana-grafonnet

Jsonnet library for generating Grafana dashboards.

Home Page:https://grafana.github.io/grafonnet/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Grafonnet

Jsonnet library for generating Grafana dashboards.

Maturity

The code in this repository should be considered experimental. Documentation is only available alongside the code. It comes with no support, but we are keen to receive feedback on the product and suggestions on how to improve it, though we cannot commit to resolution of any particular issue. No SLAs are available. It is not meant to be used in production environments, and the risks are unknown/high.

Grafana Labs defines experimental features as follows:

Projects and features in the Experimental stage are supported only by the Engineering teams; on-call support is not available. Documentation is either limited or not provided outside of code comments. No SLA is provided.

Experimental projects or features are primarily intended for open source engineers who want to participate in ensuring systems stability, and to gain consensus and approval for open source governance projects.

Projects and features in the Experimental phase are not meant to be used in production environments, and the risks are unknown/high.

Additional information can be found in Release life cycle for Grafana Labs.

Introduction

This library depends on JSON Schemas generated by Grok, these schemas are generated directly from the Grafana repository to ensure Grafonnet can keep up with Grafana development.

Grafonnet is the spiritual successor of grafonnet-lib. As grafonnet-lib was manually written, it had a hard time to keep up with Grafana development, this resulted in it being under-maintained. Besides that, it also came with a performance penalty in jsonnet as it used the builder pattern, although visually appealing it becomes very slow for environments that need to manage many dashboards.

Requirements

Grafonnet uses the Jsonnet programming language.

NOTE: There is a significant performance issue with the C implementation of Jsonnet. You are strongly recommended to use the newer go-jsonnet Jsonnet implementation. This is also the implementation recommended by the Jsonnet developers themselves.

The library can be installed with jsonnet-bundler.

Install

To add grafonnet to a jsonnet project:

jb install github.com/grafana/grafonnet/gen/grafonnet-latest@main

Usage

// dashboard.jsonnet
local grafonnet = import 'github.com/grafana/grafonnet/gen/grafonnet-latest/main.libsonnet';

grafonnet.dashboard.new('My Dashboard')
jsonnet -J vendor dashboard.jsonnet

About

Jsonnet library for generating Grafana dashboards.

https://grafana.github.io/grafonnet/

License:Apache License 2.0


Languages

Language:Jsonnet 97.5%Language:Makefile 2.5%