README

Grafana Plugin SDK for Go

This SDK enables building Grafana backend plugins using Go.

License Go.dev Go Report Card Circle CI

Current state

This SDK is still in development. The protocol between the Grafana server and the plugin SDK is considered stable, but we might introduce breaking changes in the SDK. This means that plugins using the older SDK should work with Grafana, but might lose out on new features and capabilities that we introduce in the SDK.

Contributing

If you're interested in contributing to this project:

License

Apache 2.0 License

Expand ▾ Collapse ▴

Documentation

Overview

Package sdk is the root of the packages used to access Grafana Plugin SDK for Go. See https://pkg.go.dev/github.com/grafana/grafana-plugin-sdk-go for a full list of sub-packages.

Source Files

Directories

Path Synopsis
backend Package backend provides SDK handler interfaces and contracts for implementing and serving backend plugins.
backend/datasource Package datasource provides utilities for creating and serving a data source plugin over gRPC.
backend/grpcplugin Package grpcplugin provides support for serving plugin over gRPC.
backend/instancemgmt Package instancemgmt provides utilities for managing plugin instances.
backend/log Package log provides a logging interface to send logs from plugins to Grafana server.
backend/resource Package resource provides utils for handling resource calls.
backend/resource/httpadapter Package httpadapter provides support for handling resource calls using an http.Handler.
build
build/utils
data Package data provides data structures that Grafana recognizes.
data/converters Package converters provides data.FieldConverters commonly used by plugins.
data/sqlutil Package sqlutil provides helpers for scanning database/sql responses into a data.Frame.
experimental
genproto/pluginv2