in pkg/display/graph/dashboard/global.go [203:235]
func newWidgets(data *dashboard.GlobalData) error {
var columns []*gauge.MetricColumn
linears := make(map[string]*linechart.LineChart)
// Create gauges to display global metrics.
for i := range template.Metrics {
col, err := gauge.NewMetricColumn(data.Metrics[i], &template.Metrics[i])
if err != nil {
return err
}
columns = append(columns, col)
}
// Create line charts to display global response latency.
for label, input := range data.ResponseLatency {
l, err := linear.NewLineChart(input)
if err != nil {
return err
}
linears[label] = l
}
// Create a heat map.
hp, err := heatmap.NewHeatMapWidget(data.HeatMap)
if err != nil {
return err
}
allWidgets.gauges = columns
allWidgets.linears = linears
allWidgets.heatmap = hp
return nil
}