Use backend queries for item id mode

This commit is contained in:
Alexander Zobnin
2021-06-01 13:01:54 +03:00
parent 6e6797653e
commit c81a6ae8c3
8 changed files with 106 additions and 30 deletions

View File

@@ -122,15 +122,22 @@ func (ds *ZabbixDatasource) QueryData(ctx context.Context, req *backend.QueryDat
ds.logger.Debug("DS query", "query", q)
if err != nil {
res.Error = err
} else if query.Mode != 0 {
res.Error = ErrNonMetricQueryNotSupported
} else {
} else if query.QueryType == MODE_METRICS {
frames, err := zabbixDS.queryNumericItems(ctx, &query)
if err != nil {
res.Error = err
} else {
res.Frames = append(res.Frames, frames...)
}
} else if query.QueryType == MODE_ITEMID {
frames, err := zabbixDS.queryItemIdData(ctx, &query)
if err != nil {
res.Error = err
} else {
res.Frames = append(res.Frames, frames...)
}
} else {
res.Error = ErrNonMetricQueryNotSupported
}
qdr.Responses[q.RefID] = res
}