The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
grafana/docs/sources/packages_api/runtime/datasourcewithbackend.md

4.3 KiB

+++

-----------------------------------------------------------------------

Do not edit this file. It is automatically generated by API Documenter.

-----------------------------------------------------------------------

title = "DataSourceWithBackend" keywords = ["grafana","documentation","sdk","@grafana/runtime"] type = "docs" +++

DataSourceWithBackend class

Extend this class to implement a data source plugin that is depending on the Grafana backend API.

Signature

export declare class DataSourceWithBackend<TQuery extends DataQuery = DataQuery, TOptions extends DataSourceJsonData = DataSourceJsonData> extends DataSourceApi<TQuery, TOptions> 

Import

import { DataSourceWithBackend } from '@grafana/runtime';

Constructors

Constructor Modifiers Description
constructor(instanceSettings) Constructs a new instance of the DataSourceWithBackend class

Methods

Method Modifiers Description
applyTemplateVariables(query) Override to apply template variables
callHealthCheck() Run the datasource healthcheck
getResource(path, params) Make a GET request to the datasource resource path
postResource(path, body) Send a POST request to the datasource resource path
query(request) Ideally final -- any other implementation may not work as expected
testDatasource() Checks the plugin health
toDataQueryResponse(rsp) This makes the arrow library loading async.

constructor(instanceSettings)

Constructs a new instance of the DataSourceWithBackend class

Signature

constructor(instanceSettings: DataSourceInstanceSettings<TOptions>);

Parameters

Parameter Type Description
instanceSettings DataSourceInstanceSettings<TOptions>

applyTemplateVariables method

Override to apply template variables

Signature

/** @virtual */
applyTemplateVariables(query: DataQuery): DataQuery;

Parameters

Parameter Type Description
query DataQuery

Returns:

DataQuery

callHealthCheck method

Run the datasource healthcheck

Signature

callHealthCheck(): Promise<HealthCheckResult>;

Returns:

Promise<HealthCheckResult>

getResource method

Make a GET request to the datasource resource path

Signature

getResource(path: string, params?: any): Promise<any>;

Parameters

Parameter Type Description
path string
params any

Returns:

Promise<any>

postResource method

Send a POST request to the datasource resource path

Signature

postResource(path: string, body?: any): Promise<any>;

Parameters

Parameter Type Description
path string
body any

Returns:

Promise<any>

query method

Ideally final -- any other implementation may not work as expected

Signature

query(request: DataQueryRequest): Observable<DataQueryResponse>;

Parameters

Parameter Type Description
request DataQueryRequest

Returns:

Observable<DataQueryResponse>

testDatasource method

Checks the plugin health

Signature

testDatasource(): Promise<any>;

Returns:

Promise<any>

toDataQueryResponse method

This makes the arrow library loading async.

Signature

toDataQueryResponse(rsp: any): Promise<DataQueryResponse>;

Parameters

Parameter Type Description
rsp any

Returns:

Promise<DataQueryResponse>