Fix using units from Zabbix, #1321
This commit is contained in:
@@ -129,6 +129,7 @@ func seriesToDataFrame(series *timeseries.TimeSeriesData, valuemaps []zabbix.Val
|
||||
valueField.Config = &data.FieldConfig{
|
||||
Custom: map[string]interface{}{
|
||||
"scopedVars": scopedVars,
|
||||
"units": item.Units,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -188,6 +188,7 @@ export class ZabbixDatasource extends DataSourceApi<ZabbixMetricsQuery, ZabbixDS
|
||||
const resp = toDataQueryResponse(rsp);
|
||||
this.sortByRefId(resp);
|
||||
this.applyFrontendFunctions(resp, request);
|
||||
responseHandler.convertZabbixUnits(resp);
|
||||
if (responseHandler.isConvertibleToWide(resp.data)) {
|
||||
console.log('Converting response to the wide format');
|
||||
resp.data = responseHandler.convertToWide(resp.data);
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
DataFrame,
|
||||
dataFrameFromJSON,
|
||||
DataFrameJSON,
|
||||
DataQueryResponse,
|
||||
Field,
|
||||
FieldType,
|
||||
getTimeField,
|
||||
@@ -210,6 +211,28 @@ export function dataResponseToTimeSeries(response: DataFrameJSON[], items, reque
|
||||
return series;
|
||||
}
|
||||
|
||||
// Get units from Zabbix
|
||||
export function convertZabbixUnits(response: DataQueryResponse) {
|
||||
for (let i = 0; i < response.data.length; i++) {
|
||||
const frame: DataFrame = response.data[i];
|
||||
for (const field of frame.fields) {
|
||||
const zabbixUnits = field.config.custom?.units;
|
||||
if (zabbixUnits) {
|
||||
const unit = utils.convertZabbixUnit(zabbixUnits);
|
||||
if (unit) {
|
||||
field.config.unit = unit;
|
||||
|
||||
if (unit === 'percent') {
|
||||
field.config.min = 0;
|
||||
field.config.max = 100;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
export function itServiceResponseToTimeSeries(response: any, interval) {
|
||||
const series = [];
|
||||
if (response.length === 0) {
|
||||
@@ -569,4 +592,5 @@ export default {
|
||||
isConvertibleToWide,
|
||||
convertToWide,
|
||||
alignFrames,
|
||||
convertZabbixUnits,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user