github.com/go-graphite/carbonapi@v0.17.0/zipper/interfaces/zipper.go (about) 1 package interfaces 2 3 import ( 4 "context" 5 6 "github.com/ansel1/merry" 7 8 "github.com/go-graphite/carbonapi/expr/types" 9 zipperTypes "github.com/go-graphite/carbonapi/zipper/types" 10 pb "github.com/go-graphite/protocol/carbonapi_v3_pb" 11 ) 12 13 // The CarbonZipper interface exposes access to realZipper 14 // Exposes the functionality to find, get info or render metrics. 15 type CarbonZipper interface { 16 Find(ctx context.Context, request pb.MultiGlobRequest) (*pb.MultiGlobResponse, *zipperTypes.Stats, merry.Error) 17 Info(ctx context.Context, metrics []string) (*pb.ZipperInfoResponse, *zipperTypes.Stats, merry.Error) 18 RenderCompat(ctx context.Context, metrics []string, from, until int64) ([]*types.MetricData, *zipperTypes.Stats, merry.Error) 19 Render(ctx context.Context, request pb.MultiFetchRequest) ([]*types.MetricData, *zipperTypes.Stats, merry.Error) 20 TagNames(ctx context.Context, query string, limit int64) ([]string, merry.Error) 21 TagValues(ctx context.Context, query string, limit int64) ([]string, merry.Error) 22 ScaleToCommonStep() bool 23 }