Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewDatasource ¶
func NewDatasource(settings backend.DataSourceInstanceSettings) (instancemgmt.Instance, error)
NewDatasource creates a new datasource instance.
Types ¶
type Data ¶
type Data struct {
ResultType string `json:"resultType"`
Result json.RawMessage `json:"result"`
}
Data contains fields ResultType which defines type of the query response Result resents json of the query response
type Datasource ¶
type Datasource struct {
// contains filtered or unexported fields
}
Datasource is an example datasource which can respond to data queries, reports its health and has streaming skills.
func (*Datasource) CheckHealth ¶
func (d *Datasource) CheckHealth(ctx context.Context, _ *backend.CheckHealthRequest) (*backend.CheckHealthResult, error)
CheckHealth performs a request to the specified data source and returns an error if the HTTP handler did not return a 200 OK response.
func (*Datasource) Dispose ¶
func (d *Datasource) Dispose()
Dispose here tells plugin SDK that plugin wants to clean up resources when a new instance created. As soon as datasource settings change detected by SDK old datasource instance will be disposed and a new one will be created using NewSampleDatasource factory function.
func (*Datasource) QueryData ¶
func (d *Datasource) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error)
QueryData handles multiple queries and returns multiple responses. req contains the queries []DataQuery (where each query contains RefID as a unique identifier). The QueryDataResponse contains a map of RefID to the response for each query, and each response contains Frames ([]*Frame).
type Query ¶
type Query struct {
RefID string `json:"refId"`
Instant bool `json:"instant"`
Range bool `json:"range"`
Interval string `json:"interval"`
IntervalMs int64 `json:"intervalMs"`
TimeInterval string `json:"timeInterval"`
Expr string `json:"expr"`
LegendFormat string `json:"legendFormat"`
MaxDataPoints int64
TimeRange TimeRange
// contains filtered or unexported fields
}
Query represents backend query object
type Result ¶
type Result struct {
Labels Labels `json:"metric"`
Values []Value `json:"values"`
Value Value `json:"value"`
}
Result represents timeseries from query