如何使 Grafana 的数据源插件与 Query Inspector 兼容?
How to make Grafana's datasource plugin compliant with Query Inspector?
我正在为 Grafana 开发一个运行良好的数据源插件,但是如果我尝试使用 Query Inspector,我只会收到以下消息 "Loading query inspector... ".
那么如何让我的插件兼容这个特性呢?是否有任何特定功能可以添加到我的 datasource.ts 文件中?
[编辑]
我正在使用 Grafana 6.7.1 和@grafana/toolkit
感谢您的帮助
终于,我想我明白了它是如何工作的。
仅当后端服务器完成查询后发出事件(dsRequestResponse
或 dsRequestError
)时,才会触发 查询检查器(请参阅code documentation)
例如:
import { getBackendSrv } from '@grafana/runtime';
//later in your code
getBackendSrv().datasourceRequest({
url:'https://api.github.com/repos/grafana/grafana/stats/commit_activity',
method:'GET'
}).then((data: any) => console.log('DATA',data));
在我的数据源中,我正在从浏览器进行 fetch()
调用,因此不会发出任何事件,因此 查询检查器 中也不会显示任何数据。但这是发出事件的解决方法:
import { SystemJS } from '@grafana/runtime'
//later in your code
SystemJS.load('app/core/app_events').then((appEvents:any) => {
appEvents.emit('ds-request-response', data) // where data is the data to display
})
希望能帮到别人
我正在为 Grafana 开发一个运行良好的数据源插件,但是如果我尝试使用 Query Inspector,我只会收到以下消息 "Loading query inspector... ".
那么如何让我的插件兼容这个特性呢?是否有任何特定功能可以添加到我的 datasource.ts 文件中?
[编辑] 我正在使用 Grafana 6.7.1 和@grafana/toolkit
感谢您的帮助
终于,我想我明白了它是如何工作的。
仅当后端服务器完成查询后发出事件(dsRequestResponse
或 dsRequestError
)时,才会触发 查询检查器(请参阅code documentation)
例如:
import { getBackendSrv } from '@grafana/runtime';
//later in your code
getBackendSrv().datasourceRequest({
url:'https://api.github.com/repos/grafana/grafana/stats/commit_activity',
method:'GET'
}).then((data: any) => console.log('DATA',data));
在我的数据源中,我正在从浏览器进行 fetch()
调用,因此不会发出任何事件,因此 查询检查器 中也不会显示任何数据。但这是发出事件的解决方法:
import { SystemJS } from '@grafana/runtime'
//later in your code
SystemJS.load('app/core/app_events').then((appEvents:any) => {
appEvents.emit('ds-request-response', data) // where data is the data to display
})
希望能帮到别人