Add name to triggers data frame, fixes #1441
This commit is contained in:
@@ -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;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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() }],
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user