github.com/go-graphite/carbonapi@v0.17.0/expr/functions/cairo/function.go (about) 1 package cairo 2 3 import ( 4 "context" 5 6 "github.com/go-graphite/carbonapi/expr/functions/cairo/png" 7 "github.com/go-graphite/carbonapi/expr/interfaces" 8 "github.com/go-graphite/carbonapi/expr/types" 9 "github.com/go-graphite/carbonapi/pkg/parser" 10 ) 11 12 type cairo struct{} 13 14 func GetOrder() interfaces.Order { 15 return interfaces.Any 16 } 17 18 func New(configFile string) []interfaces.FunctionMetadata { 19 res := make([]interfaces.FunctionMetadata, 0) 20 f := &cairo{} 21 functions := []string{"color", "stacked", "areaBetween", "alpha", "dashed", "drawAsInfinite", "secondYAxis", "lineWidth", "threshold"} 22 for _, n := range functions { 23 res = append(res, interfaces.FunctionMetadata{Name: n, F: f}) 24 } 25 return res 26 } 27 28 func (f *cairo) Do(ctx context.Context, eval interfaces.Evaluator, e parser.Expr, from, until int64, values map[parser.MetricRequest][]*types.MetricData) ([]*types.MetricData, error) { 29 return png.EvalExprGraph(ctx, eval, e, from, until, values) 30 } 31 32 func (f *cairo) Description() map[string]types.FunctionDescription { 33 return png.Description() 34 }