From 94b5c883667c0dc433b740e8f74aef5cc205235f Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Mon, 24 May 2021 11:20:14 +0300 Subject: [PATCH] Fix item filtering --- pkg/datasource/response_handler.go | 4 ++-- pkg/zabbix/methods.go | 13 +++++++++---- pkg/zabbix/utils.go | 9 ++++++++- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/pkg/datasource/response_handler.go b/pkg/datasource/response_handler.go index 6825f7e..120e8b0 100644 --- a/pkg/datasource/response_handler.go +++ b/pkg/datasource/response_handler.go @@ -17,9 +17,9 @@ func convertHistoryToDataFrame(history History, items zabbix.Items) *data.Frame for _, item := range items { field := data.NewFieldFromFieldType(data.FieldTypeNullableFloat64, 0) if len(item.Hosts) > 0 { - field.Name = fmt.Sprintf("%s: %s", item.Hosts[0].Name, item.ExpandItem()) + field.Name = fmt.Sprintf("%s: %s", item.Hosts[0].Name, item.ExpandItemName()) } else { - field.Name = item.ExpandItem() + field.Name = item.ExpandItemName() } frame.Fields = append(frame.Fields, field) } diff --git a/pkg/zabbix/methods.go b/pkg/zabbix/methods.go index 9c7e2c1..d2356be 100644 --- a/pkg/zabbix/methods.go +++ b/pkg/zabbix/methods.go @@ -191,7 +191,12 @@ func (ds *Zabbix) GetAllItems(ctx context.Context, hostids []string, appids []st } var items []Item - err = convertTo(result, items) + err = convertTo(result, &items) + if err != nil { + return nil, err + } + + items = expandItems(items) return items, err } @@ -207,7 +212,7 @@ func (ds *Zabbix) GetAllApps(ctx context.Context, hostids []string) ([]Applicati } var apps []Application - err = convertTo(result, apps) + err = convertTo(result, &apps) return apps, err } @@ -224,7 +229,7 @@ func (ds *Zabbix) GetAllHosts(ctx context.Context, groupids []string) ([]Host, e } var hosts []Host - err = convertTo(result, hosts) + err = convertTo(result, &hosts) return hosts, err } @@ -241,7 +246,7 @@ func (ds *Zabbix) GetAllGroups(ctx context.Context) ([]Group, error) { } var groups []Group - err = convertTo(result, groups) + err = convertTo(result, &groups) return groups, err } diff --git a/pkg/zabbix/utils.go b/pkg/zabbix/utils.go index 88927df..3ef2cff 100644 --- a/pkg/zabbix/utils.go +++ b/pkg/zabbix/utils.go @@ -6,7 +6,7 @@ import ( "strings" ) -func (item *Item) ExpandItem() string { +func (item *Item) ExpandItemName() string { name := item.Name key := item.Key @@ -25,6 +25,13 @@ func (item *Item) ExpandItem() string { return name } +func expandItems(items []Item) []Item { + for i := 0; i < len(items); i++ { + items[i].Name = items[i].ExpandItemName() + } + return items +} + func splitKeyParams(paramStr string) []string { paramRunes := []rune(paramStr) params := []string{}