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