Fix item filtering

This commit is contained in:
Alexander Zobnin
2021-05-24 11:20:14 +03:00
parent 37573e0152
commit 94b5c88366
3 changed files with 19 additions and 7 deletions

View File

@@ -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)
}

View File

@@ -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
}

View File

@@ -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{}