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 |
#130 in HTTP client
63 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:
backend
contains 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.data
contains the fundamental data structures used by backend plugins, such asFrame
s,Field
s, and their associated metadata.live
contains 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 Frame
s and Field
s.
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 anIntoHttpResponse
implementation forreqwest::Response
The low-level structs generated from protocol definitions.
Dependencies
~18–32MB
~478K SLoC