in pkg/sls-plugin.go [765:792]
func (ds *SlsDatasource) BuildBarGraph(logs []map[string]string, ycols []string, frames *data.Frames) {
frame := data.NewFrame("response")
numMap := make(map[string][]float64)
for _, ycol := range ycols[1:] {
numMap[ycol] = make([]float64, 0)
}
strKey := ycols[0]
var strArr []string
for _, alog := range logs {
for k, v := range alog {
if numMap[k] != nil {
floatV, err := strconv.ParseFloat(v, 64)
if err != nil {
log.DefaultLogger.Debug("BuildBarGraph", "ParseFloat", err, "value", v)
}
numMap[k] = append(numMap[k], floatV)
}
if k == strKey {
strArr = append(strArr, v)
}
}
}
frame.Fields = append(frame.Fields, data.NewField(strKey, nil, strArr))
for _, ycol := range ycols[1:] {
frame.Fields = append(frame.Fields, data.NewField(ycol, nil, numMap[ycol]))
}
*frames = append(*frames, frame)
}