func Metrics()

in pkg/graphql/dashboard/global.go [147:169]


func Metrics(ctx *cli.Context, duration api.Duration) ([][]*api.SelectedRecord, error) {
	var ret [][]*api.SelectedRecord

	template, err := LoadTemplate(ctx.String("template"))
	if err != nil {
		return nil, nil
	}

	// Check if there is a template of metrics.
	if template.Metrics == nil {
		return nil, nil
	}

	for _, m := range template.Metrics {
		sortMetrics, err := metrics.SortMetrics(ctx, m.Condition, duration)
		if err != nil {
			return nil, err
		}
		ret = append(ret, sortMetrics)
	}

	return ret, nil
}