27 return res
28}
29
30func (f *reduce) Do(ctx context.Context, eval interfaces.Evaluator, e parser.Expr, from, until int64, values map[parser.MetricRequest][]*types.MetricData) ([]*types.MetricData, error) { 31 const matchersStartIndex = 3
32
33 if e.ArgsLen() < matchersStartIndex+1 {
75 }
76}
77
78func (f *join) Do(ctx context.Context, eval interfaces.Evaluator, e parser.Expr, from, until int64, values map[parser.MetricRequest][]*types.MetricData) (results []*types.MetricData, err error) { 79 seriesA, err := helper.GetSeriesArg(ctx, eval, e.Arg(0), from, until, values)
80 if err != nil {
81 return nil, err
30 }
31}
32
33func (f *join) Description() map[string]types.FunctionDescription { 34 return map[string]types.FunctionDescription{
35 "join": {
36 Description: `Performs set operations on 'seriesA' and 'seriesB'. Following options are available:
29}
30
31// seriesByTag("name=cpu")|groupByTags("average","dc","os")
32func (f *groupByTags) Do(ctx context.Context, eval interfaces.Evaluator, e parser.Expr, from, until int64, values map[parser.MetricRequest][]*types.MetricData) ([]*types.MetricData, error) { 33 if e.ArgsLen() < 3 {
34 return nil, parser.ErrMissingArgument
35 }
30
31// groupByNode(seriesList, nodeNum, callback)
32// groupByNodes(seriesList, callback, *nodes)
33func (f *groupByNode) Do(ctx context.Context, eval interfaces.Evaluator, e parser.Expr, from, until int64, values map[parser.MetricRequest][]*types.MetricData) ([]*types.MetricData, error) { 34 if e.ArgsLen() < 2 {
35 return nil, parser.ErrMissingArgument
36 }
Methods with unused receivers can be a symptom of unfinished refactoring or a bug. To keep the same method signature, omit the receiver name or '_' as it is unused.
func (f *Unix) Name() string {
return "unix"
}
func (_ *Unix) Name() string {
return "unix"
}
func (*Unix) Name() string {
return "unix"
}