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  }