Add name to triggers data frame, fixes #1441

This commit is contained in:
Alexander Zobnin
2023-03-21 12:51:05 +01:00
parent dd6798834a
commit 418fe7a70d
3 changed files with 7 additions and 3 deletions

View File

@@ -717,7 +717,7 @@ export class ZabbixDatasource extends DataSourceApi<ZabbixMetricsQuery, ZabbixDS
.then((problems) => problemsHandler.addTriggerHostProxy(problems, proxies)); .then((problems) => problemsHandler.addTriggerHostProxy(problems, proxies));
return problemsPromises.then((problems) => { return problemsPromises.then((problems) => {
const problemsDataFrame = problemsHandler.toDataFrame(problems); const problemsDataFrame = problemsHandler.toDataFrame(problems, target);
return problemsDataFrame; return problemsDataFrame;
}); });
} }

View File

@@ -1,7 +1,7 @@
import _ from 'lodash'; import _ from 'lodash';
import * as utils from './utils'; import * as utils from './utils';
import { DataFrame, Field, FieldType, ArrayVector } from '@grafana/data'; import { DataFrame, Field, FieldType, ArrayVector } from '@grafana/data';
import { ZBXProblem, ZBXTrigger, ProblemDTO, ZBXEvent } from './types'; import { ZBXProblem, ZBXTrigger, ProblemDTO, ZBXEvent, ZabbixMetricsQuery } from './types';
export function joinTriggersWithProblems(problems: ZBXProblem[], triggers: ZBXTrigger[]): ProblemDTO[] { export function joinTriggersWithProblems(problems: ZBXProblem[], triggers: ZBXTrigger[]): ProblemDTO[] {
const problemDTOList: ProblemDTO[] = []; const problemDTOList: ProblemDTO[] = [];
@@ -172,7 +172,7 @@ export function sortProblems(problems: ProblemDTO[], target) {
return problems; return problems;
} }
export function toDataFrame(problems: any[]): DataFrame { export function toDataFrame(problems: any[], query: ZabbixMetricsQuery): DataFrame {
const problemsField: Field<any> = { const problemsField: Field<any> = {
name: 'Problems', name: 'Problems',
type: FieldType.other, type: FieldType.other,
@@ -186,6 +186,7 @@ export function toDataFrame(problems: any[]): DataFrame {
const response: DataFrame = { const response: DataFrame = {
name: 'problems', name: 'problems',
refId: query?.refId || 'A',
fields: [problemsField], fields: [problemsField],
length: problems.length, length: problems.length,
}; };

View File

@@ -614,6 +614,7 @@ export function handleSLAResponse(itservice, slaProperty, slaObject) {
function handleTriggersResponse(triggers: ZBXTrigger[], groups: ZBXGroup[], timeRange: number[], target) { function handleTriggersResponse(triggers: ZBXTrigger[], groups: ZBXGroup[], timeRange: number[], target) {
if (!_.isArray(triggers)) { if (!_.isArray(triggers)) {
// Handling count mode
let triggersCount = null; let triggersCount = null;
try { try {
triggersCount = Number(triggers); triggersCount = Number(triggers);
@@ -622,6 +623,7 @@ function handleTriggersResponse(triggers: ZBXTrigger[], groups: ZBXGroup[], time
} }
const frame = new MutableDataFrame({ const frame = new MutableDataFrame({
name: `Count ${target.refId}`,
refId: target.refId, refId: target.refId,
fields: [ fields: [
{ name: TIME_SERIES_TIME_FIELD_NAME, type: FieldType.time, values: new ArrayVector([timeRange[1] * 1000]) }, { name: TIME_SERIES_TIME_FIELD_NAME, type: FieldType.time, values: new ArrayVector([timeRange[1] * 1000]) },
@@ -634,6 +636,7 @@ function handleTriggersResponse(triggers: ZBXTrigger[], groups: ZBXGroup[], time
} else { } else {
const stats = getTriggerStats(triggers); const stats = getTriggerStats(triggers);
const frame = new MutableDataFrame({ const frame = new MutableDataFrame({
name: `Triggers ${target.refId}`,
refId: target.refId, refId: target.refId,
fields: [{ name: 'Host group', type: FieldType.string, values: new ArrayVector() }], fields: [{ name: 'Host group', type: FieldType.string, values: new ArrayVector() }],
}); });