sdk

package module
v0.245.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 28, 2024 License: Apache-2.0 Imports: 0 Imported by: 0

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.

Navigating the SDK

The SDK documentation can be navigated in the form of Go docs. In particular, you can find the following packages:

  • backend: Package backend provides SDK handler interfaces and contracts for implementing and serving backend plugins. It includes multiple sub-packages.
  • build: Package build includes standard mage targets useful when building plugins.
  • data: Package data provides data structures that Grafana recognizes. It includes multiple subpackages like converters, framestruct and sqlutil.
  • experimental: Package experimental provides multiple experimental features. It includes multiple sub-packages.
  • live: Package live provides types for the Grafana Live server.

See the list of all packages here.

Contributing

If you're interested in contributing to this project:

License

Apache 2.0 License

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.

Directories

Path Synopsis
Package backend provides SDK handler interfaces and contracts for implementing and serving backend plugins.
Package backend provides SDK handler interfaces and contracts for implementing and serving backend plugins.
app
Package app provides utilities for creating and serving a app plugin over gRPC.
Package app provides utilities for creating and serving a app plugin over gRPC.
datasource
Package datasource provides utilities for creating and serving a data source plugin over gRPC.
Package datasource provides utilities for creating and serving a data source plugin over gRPC.
grpcplugin
Package grpcplugin provides support for serving plugin over gRPC.
Package grpcplugin provides support for serving plugin over gRPC.
gtime
gtime provides utilities for parsing time, time ranges and time durations (intervals).
gtime provides utilities for parsing time, time ranges and time durations (intervals).
httpclient
Package httpclient provides HTTP client and outgoing HTTP request middleware.
Package httpclient provides HTTP client and outgoing HTTP request middleware.
instancemgmt
Package instancemgmt provides utilities for managing plugin instances.
Package instancemgmt provides utilities for managing plugin instances.
log
Package log provides a logging interface to send logs from plugins to Grafana server.
Package log provides a logging interface to send logs from plugins to Grafana server.
proxy
Package proxy provides utilities for updating a data source plugin connection to go through a proxy.
Package proxy provides utilities for updating a data source plugin connection to go through a proxy.
resource
Package resource provides utils for handling resource calls.
Package resource provides utils for handling resource calls.
resource/httpadapter
Package httpadapter provides support for handling resource calls using an http.Handler.
Package httpadapter provides support for handling resource calls using an http.Handler.
Package build includes standard mage targets useful when building plugins.
Package build includes standard mage targets useful when building plugins.
Package data provides data structures that Grafana recognizes.
Package data provides data structures that Grafana recognizes.
converters
Package converters provides data.FieldConverters commonly used by plugins.
Package converters provides data.FieldConverters commonly used by plugins.
framestruct
Package framestruct provides functions to convert from any type to *data.Frame or data.Frames
Package framestruct provides functions to convert from any type to *data.Frame or data.Frames
sqlutil
Package sqlutil provides multiple utilities for working with SQL data sources.
Package sqlutil provides multiple utilities for working with SQL data sources.
utils/jsoniter
Package jsoniter wraps json-iterator/go's Iterator methods with error returns so linting can catch unchecked errors.
Package jsoniter wraps json-iterator/go's Iterator methods with error returns so linting can catch unchecked errors.
e2e
slo
genproto
pluginv2
Package pluginv2 includes code generated by protoc-gen-go.
Package pluginv2 includes code generated by protoc-gen-go.
Package live provides types for the Grafana Live server.
Package live provides types for the Grafana Live server.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL