Grafana Plugin SDK for Go
This SDK enables building Grafana backend plugins using Go.
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.
If you're interested in contributing to this project:
- Start by reading the Contributing guide.
- Learn how to set up your local environment, in our Developer guide.
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.
|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.|
|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.|