Grafana Plugin SDK for Go

This SDK enables building Grafana backend plugins using Go.

License 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.


If you're interested in contributing to this project:


Apache 2.0 License

Expand ▾ Collapse ▴



Package sdk is the root of the packages used to access Grafana Plugin SDK for Go. See for a full list of sub-packages.

Source Files


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.
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.