func getMetricValue()

in pkg/client/elasticsearch/query.go [284:300]


func getMetricValue(ctx *context.Context, path string, doc map[string]interface{}) (float64, error) {
	defer tracing.Span(ctx)()
	raw, err := getValue(path, doc)
	if err != nil {
		return 0, err
	}

	switch v := raw.(type) {
	case int:
		return float64(v), nil
	case float64:
		return v, nil
	default:
		return 0, fmt.Errorf("NaN: %v", v)
	}

}