8 releases (4 breaking)
| 0.5.0 | Sep 17, 2024 |
|---|---|
| 0.4.3 | Jan 18, 2024 |
| 0.4.2 | Sep 19, 2022 |
| 0.3.0 | Apr 14, 2022 |
| 0.1.0 | Dec 8, 2021 |
#10 in #grafana
880 downloads per month
325KB
6K
SLoC
The Grafana Plugin SDK for Rust.
This crate contains a Rust implementation of the Grafana plugin SDK. It is divided into three main modules:
backendcontains the traits that must be implemented by backend plugins for various pieces of functionality, whether querying data, calling resources, or streaming data between Grafana and the plugin.datacontains the fundamental data structures used by backend plugins, such asFrames,Fields, and their associated metadata.livecontains functionality used by Grafana Live, the streaming messaging service available from Grafana 8.0.
The prelude contains some useful unambiguous traits which are helpful when creating some structures,
particularly Frames and Fields.
Backend plugins communicate with Grafana via gRPC. The low-level protocols are exposed in the pluginv2
module as an escape hatch, if required. Please file an issue if this is needed and we will try to
accommodate your needs in the next release of the high-level SDK.
See the docs on backend plugins on grafana.com for an introduction to backend Grafana plugins, or check out the crate examples or sample app repo to get started with writing a backend plugin in Rust.
Feature flags
The following feature flags enable additional functionality for this crate:
reqwest- adds anIntoHttpResponseimplementation forreqwest::Response
The low-level structs generated from protocol definitions.
Dependencies
~21–41MB
~532K SLoC