Documentation
¶
Index ¶
- Variables
- func LogToSpan(ctx context.Context, r Request)
- func NewRoundTripper(next http.RoundTripper, codec Codec, middlewares ...Middleware) http.RoundTripper
- func NewTripperware(cfg Config, log log.Logger, limits Limits, codec Codec, ...) (frontend.Tripperware, cache.Cache, error)
- func ParseTime(s string) (int64, error)
- type CachedResponse
- func (*CachedResponse) Descriptor() ([]byte, []int)
- func (this *CachedResponse) Equal(that interface{}) bool
- func (m *CachedResponse) GetExtents() []Extent
- func (m *CachedResponse) GetKey() string
- func (this *CachedResponse) GoString() string
- func (m *CachedResponse) Marshal() (dAtA []byte, err error)
- func (m *CachedResponse) MarshalTo(dAtA []byte) (int, error)
- func (*CachedResponse) ProtoMessage()
- func (m *CachedResponse) Reset()
- func (m *CachedResponse) Size() (n int)
- func (this *CachedResponse) String() string
- func (m *CachedResponse) Unmarshal(dAtA []byte) error
- func (m *CachedResponse) XXX_DiscardUnknown()
- func (m *CachedResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *CachedResponse) XXX_Merge(src proto.Message)
- func (m *CachedResponse) XXX_Size() int
- func (m *CachedResponse) XXX_Unmarshal(b []byte) error
- type Codec
- type Config
- type Extent
- func (*Extent) Descriptor() ([]byte, []int)
- func (this *Extent) Equal(that interface{}) bool
- func (m *Extent) GetEnd() int64
- func (m *Extent) GetResponse() *types.Any
- func (m *Extent) GetStart() int64
- func (m *Extent) GetTraceId() string
- func (this *Extent) GoString() string
- func (m *Extent) Marshal() (dAtA []byte, err error)
- func (m *Extent) MarshalTo(dAtA []byte) (int, error)
- func (*Extent) ProtoMessage()
- func (m *Extent) Reset()
- func (m *Extent) Size() (n int)
- func (this *Extent) String() string
- func (m *Extent) Unmarshal(dAtA []byte) error
- func (m *Extent) XXX_DiscardUnknown()
- func (m *Extent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Extent) XXX_Merge(src proto.Message)
- func (m *Extent) XXX_Size() int
- func (m *Extent) XXX_Unmarshal(b []byte) error
- type Extractor
- type ExtractorFunc
- type Handler
- type HandlerFunc
- type Limits
- type Merger
- type Middleware
- func InstrumentMiddleware(name string) Middleware
- func LimitsMiddleware(l Limits) Middleware
- func MergeMiddlewares(middleware ...Middleware) Middleware
- func NewResultsCacheMiddleware(logger log.Logger, cfg ResultsCacheConfig, limits Limits, merger Merger, ...) (Middleware, cache.Cache, error)
- func NewRetryMiddleware(log log.Logger, maxRetries int) Middleware
- func SplitByIntervalMiddleware(interval time.Duration, limits Limits, merger Merger) Middleware
- type MiddlewareFunc
- type PrometheusData
- func (*PrometheusData) Descriptor() ([]byte, []int)
- func (this *PrometheusData) Equal(that interface{}) bool
- func (m *PrometheusData) GetResult() []SampleStream
- func (m *PrometheusData) GetResultType() string
- func (this *PrometheusData) GoString() string
- func (m *PrometheusData) Marshal() (dAtA []byte, err error)
- func (m *PrometheusData) MarshalTo(dAtA []byte) (int, error)
- func (*PrometheusData) ProtoMessage()
- func (m *PrometheusData) Reset()
- func (m *PrometheusData) Size() (n int)
- func (this *PrometheusData) String() string
- func (m *PrometheusData) Unmarshal(dAtA []byte) error
- func (m *PrometheusData) XXX_DiscardUnknown()
- func (m *PrometheusData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *PrometheusData) XXX_Merge(src proto.Message)
- func (m *PrometheusData) XXX_Size() int
- func (m *PrometheusData) XXX_Unmarshal(b []byte) error
- type PrometheusRequest
- func (*PrometheusRequest) Descriptor() ([]byte, []int)
- func (this *PrometheusRequest) Equal(that interface{}) bool
- func (m *PrometheusRequest) GetEnd() int64
- func (m *PrometheusRequest) GetPath() string
- func (m *PrometheusRequest) GetQuery() string
- func (m *PrometheusRequest) GetStart() int64
- func (m *PrometheusRequest) GetStep() int64
- func (m *PrometheusRequest) GetTimeout() time.Duration
- func (this *PrometheusRequest) GoString() string
- func (m *PrometheusRequest) Marshal() (dAtA []byte, err error)
- func (m *PrometheusRequest) MarshalTo(dAtA []byte) (int, error)
- func (*PrometheusRequest) ProtoMessage()
- func (m *PrometheusRequest) Reset()
- func (m *PrometheusRequest) Size() (n int)
- func (this *PrometheusRequest) String() string
- func (m *PrometheusRequest) Unmarshal(dAtA []byte) error
- func (q *PrometheusRequest) WithStartEnd(start int64, end int64) Request
- func (m *PrometheusRequest) XXX_DiscardUnknown()
- func (m *PrometheusRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *PrometheusRequest) XXX_Merge(src proto.Message)
- func (m *PrometheusRequest) XXX_Size() int
- func (m *PrometheusRequest) XXX_Unmarshal(b []byte) error
- type PrometheusResponse
- func (*PrometheusResponse) Descriptor() ([]byte, []int)
- func (this *PrometheusResponse) Equal(that interface{}) bool
- func (m *PrometheusResponse) GetData() PrometheusData
- func (m *PrometheusResponse) GetError() string
- func (m *PrometheusResponse) GetErrorType() string
- func (m *PrometheusResponse) GetStatus() string
- func (this *PrometheusResponse) GoString() string
- func (m *PrometheusResponse) Marshal() (dAtA []byte, err error)
- func (m *PrometheusResponse) MarshalTo(dAtA []byte) (int, error)
- func (*PrometheusResponse) ProtoMessage()
- func (m *PrometheusResponse) Reset()
- func (m *PrometheusResponse) Size() (n int)
- func (this *PrometheusResponse) String() string
- func (m *PrometheusResponse) Unmarshal(dAtA []byte) error
- func (m *PrometheusResponse) XXX_DiscardUnknown()
- func (m *PrometheusResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *PrometheusResponse) XXX_Merge(src proto.Message)
- func (m *PrometheusResponse) XXX_Size() int
- func (m *PrometheusResponse) XXX_Unmarshal(b []byte) error
- type Request
- type RequestResponse
- type Response
- type ResultsCacheConfig
- type SampleStream
- func (*SampleStream) Descriptor() ([]byte, []int)
- func (this *SampleStream) Equal(that interface{}) bool
- func (m *SampleStream) GetSamples() []client.Sample
- func (this *SampleStream) GoString() string
- func (m *SampleStream) Marshal() (dAtA []byte, err error)
- func (s *SampleStream) MarshalJSON() ([]byte, error)
- func (m *SampleStream) MarshalTo(dAtA []byte) (int, error)
- func (*SampleStream) ProtoMessage()
- func (m *SampleStream) Reset()
- func (m *SampleStream) Size() (n int)
- func (this *SampleStream) String() string
- func (m *SampleStream) Unmarshal(dAtA []byte) error
- func (s *SampleStream) UnmarshalJSON(data []byte) error
- func (m *SampleStream) XXX_DiscardUnknown()
- func (m *SampleStream) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *SampleStream) XXX_Merge(src proto.Message)
- func (m *SampleStream) XXX_Size() int
- func (m *SampleStream) XXX_Unmarshal(b []byte) error
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidLengthQueryrange = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowQueryrange = fmt.Errorf("proto: integer overflow") )
var PrometheusResponseExtractor = ExtractorFunc(func(start, end int64, from Response) Response { promRes := from.(*PrometheusResponse) return &PrometheusResponse{ Status: statusSuccess, Data: PrometheusData{ ResultType: promRes.Data.ResultType, Result: extractMatrix(start, end, promRes.Data.Result), }, } })
PrometheusResponseExtractor is an `Extractor` for a Prometheus query range response.
var StepAlignMiddleware = MiddlewareFunc(func(next Handler) Handler {
return stepAlign{
next: next,
}
})
StepAlignMiddleware aligns the start and end of request to the step to improved the cacheability of the query results.
Functions ¶
func LogToSpan ¶ added in v0.4.0
LogToSpan writes information about this request to the OpenTracing span in the context, if there is one.
func NewRoundTripper ¶
func NewRoundTripper(next http.RoundTripper, codec Codec, middlewares ...Middleware) http.RoundTripper
NewRoundTripper merges a set of middlewares into an handler, then inject it into the `next` roundtripper using the codec to translate requests and responses.
Types ¶
type CachedResponse ¶
type CachedResponse struct { Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key"` // List of cached responses; non-overlapping and in order. Extents []Extent `protobuf:"bytes,2,rep,name=extents,proto3" json:"extents"` }
func (*CachedResponse) Descriptor ¶
func (*CachedResponse) Descriptor() ([]byte, []int)
func (*CachedResponse) Equal ¶
func (this *CachedResponse) Equal(that interface{}) bool
func (*CachedResponse) GetExtents ¶
func (m *CachedResponse) GetExtents() []Extent
func (*CachedResponse) GetKey ¶
func (m *CachedResponse) GetKey() string
func (*CachedResponse) GoString ¶
func (this *CachedResponse) GoString() string
func (*CachedResponse) Marshal ¶
func (m *CachedResponse) Marshal() (dAtA []byte, err error)
func (*CachedResponse) ProtoMessage ¶
func (*CachedResponse) ProtoMessage()
func (*CachedResponse) Reset ¶
func (m *CachedResponse) Reset()
func (*CachedResponse) Size ¶
func (m *CachedResponse) Size() (n int)
func (*CachedResponse) String ¶
func (this *CachedResponse) String() string
func (*CachedResponse) Unmarshal ¶
func (m *CachedResponse) Unmarshal(dAtA []byte) error
func (*CachedResponse) XXX_DiscardUnknown ¶
func (m *CachedResponse) XXX_DiscardUnknown()
func (*CachedResponse) XXX_Marshal ¶
func (m *CachedResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*CachedResponse) XXX_Merge ¶
func (m *CachedResponse) XXX_Merge(src proto.Message)
func (*CachedResponse) XXX_Size ¶
func (m *CachedResponse) XXX_Size() int
func (*CachedResponse) XXX_Unmarshal ¶
func (m *CachedResponse) XXX_Unmarshal(b []byte) error
type Codec ¶ added in v0.4.0
type Codec interface { Merger // DecodeRequest decodes a Request from an http request. DecodeRequest(context.Context, *http.Request) (Request, error) // DecodeResponse decodes a Response from an http response. // The original request is also passed as a parameter this is useful for implementation that needs the request // to merge result or build the result correctly. DecodeResponse(context.Context, *http.Response, Request) (Response, error) // EncodeRequest encodes a Request into an http request. EncodeRequest(context.Context, Request) (*http.Request, error) // EncodeResponse encodes a Response into an http response. EncodeResponse(context.Context, Response) (*http.Response, error) }
Codec is used to encode/decode query range requests and responses so they can be passed down to middlewares.
var ( // PrometheusCodec is a codec to encode and decode Prometheus query range requests and responses. PrometheusCodec Codec = &prometheusCodec{} )
type Config ¶ added in v0.4.0
type Config struct { SplitQueriesByInterval time.Duration `yaml:"split_queries_by_interval"` SplitQueriesByDay bool `yaml:"split_queries_by_day"` AlignQueriesWithStep bool `yaml:"align_queries_with_step"` ResultsCacheConfig `yaml:"results_cache"` CacheResults bool `yaml:"cache_results"` MaxRetries int `yaml:"max_retries"` }
Config for query_range middleware chain.
func (*Config) RegisterFlags ¶ added in v0.4.0
RegisterFlags adds the flags required to config this to the given FlagSet.
type Extent ¶
type Extent struct { Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start"` End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end"` TraceId string `protobuf:"bytes,4,opt,name=trace_id,json=traceId,proto3" json:"-"` Response *types.Any `protobuf:"bytes,5,opt,name=response,proto3" json:"response"` }
func (*Extent) Descriptor ¶
func (*Extent) GetResponse ¶
func (*Extent) GetTraceId ¶
func (*Extent) ProtoMessage ¶
func (*Extent) ProtoMessage()
func (*Extent) XXX_DiscardUnknown ¶
func (m *Extent) XXX_DiscardUnknown()
func (*Extent) XXX_Marshal ¶
func (*Extent) XXX_Unmarshal ¶
type Extractor ¶ added in v0.4.0
type Extractor interface { // Extract extracts a subset of a response from the `start` and `end` timestamps in milliseconds in the `from` response. Extract(start, end int64, from Response) Response }
Extractor is used by the cache to extract a subset of a response from a cache entry.
type ExtractorFunc ¶ added in v0.4.0
ExtractorFunc is a sugar syntax for declaring an Extractor from a function.
type HandlerFunc ¶
HandlerFunc is like http.HandlerFunc, but for Handler.
type Limits ¶
Limits allows us to specify per-tenant runtime limits on the behavior of the query handling code.
type Merger ¶ added in v0.4.0
type Merger interface { // MergeResponse merges responses from multiple requests into a single Response MergeResponse(...Response) (Response, error) }
Merger is used by middlewares making multiple requests to merge back all responses into a single one.
type Middleware ¶
Middleware is a higher order Handler.
func InstrumentMiddleware ¶
func InstrumentMiddleware(name string) Middleware
InstrumentMiddleware can be inserted into the middleware chain to expose timing information.
func LimitsMiddleware ¶ added in v0.4.0
func LimitsMiddleware(l Limits) Middleware
LimitsMiddleware creates a new Middleware that invalidates large queries based on Limits interface.
func MergeMiddlewares ¶
func MergeMiddlewares(middleware ...Middleware) Middleware
MergeMiddlewares produces a middleware that applies multiple middleware in turn; ie Merge(f,g,h).Wrap(handler) == f.Wrap(g.Wrap(h.Wrap(handler)))
func NewResultsCacheMiddleware ¶
func NewResultsCacheMiddleware(logger log.Logger, cfg ResultsCacheConfig, limits Limits, merger Merger, extractor Extractor) (Middleware, cache.Cache, error)
NewResultsCacheMiddleware creates results cache middleware from config. The middleware cache result using a unique cache key for a given request (step,query,user) and interval. The cache assumes that each request length (end-start) is below or equal the interval. Each request starting from within the same interval will hit the same cache entry. If the cache doesn't have the entire duration of the request cached, it will query the uncached parts and append them to the cache entries. see `generateKey`.
func NewRetryMiddleware ¶
func NewRetryMiddleware(log log.Logger, maxRetries int) Middleware
NewRetryMiddleware returns a middleware that retries requests if they fail with 500 or a non-HTTP error.
func SplitByIntervalMiddleware ¶ added in v0.4.0
func SplitByIntervalMiddleware(interval time.Duration, limits Limits, merger Merger) Middleware
SplitByIntervalMiddleware creates a new Middleware that splits requests by a given interval.
type MiddlewareFunc ¶
MiddlewareFunc is like http.HandlerFunc, but for Middleware.
func (MiddlewareFunc) Wrap ¶
func (q MiddlewareFunc) Wrap(h Handler) Handler
Wrap implements Middleware.
type PrometheusData ¶ added in v0.4.0
type PrometheusData struct { ResultType string `protobuf:"bytes,1,opt,name=ResultType,json=resultType,proto3" json:"resultType"` Result []SampleStream `protobuf:"bytes,2,rep,name=Result,json=result,proto3" json:"result"` }
func (*PrometheusData) Descriptor ¶ added in v0.4.0
func (*PrometheusData) Descriptor() ([]byte, []int)
func (*PrometheusData) Equal ¶ added in v0.4.0
func (this *PrometheusData) Equal(that interface{}) bool
func (*PrometheusData) GetResult ¶ added in v0.4.0
func (m *PrometheusData) GetResult() []SampleStream
func (*PrometheusData) GetResultType ¶ added in v0.4.0
func (m *PrometheusData) GetResultType() string
func (*PrometheusData) GoString ¶ added in v0.4.0
func (this *PrometheusData) GoString() string
func (*PrometheusData) Marshal ¶ added in v0.4.0
func (m *PrometheusData) Marshal() (dAtA []byte, err error)
func (*PrometheusData) MarshalTo ¶ added in v0.4.0
func (m *PrometheusData) MarshalTo(dAtA []byte) (int, error)
func (*PrometheusData) ProtoMessage ¶ added in v0.4.0
func (*PrometheusData) ProtoMessage()
func (*PrometheusData) Reset ¶ added in v0.4.0
func (m *PrometheusData) Reset()
func (*PrometheusData) Size ¶ added in v0.4.0
func (m *PrometheusData) Size() (n int)
func (*PrometheusData) String ¶ added in v0.4.0
func (this *PrometheusData) String() string
func (*PrometheusData) Unmarshal ¶ added in v0.4.0
func (m *PrometheusData) Unmarshal(dAtA []byte) error
func (*PrometheusData) XXX_DiscardUnknown ¶ added in v0.4.0
func (m *PrometheusData) XXX_DiscardUnknown()
func (*PrometheusData) XXX_Marshal ¶ added in v0.4.0
func (m *PrometheusData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*PrometheusData) XXX_Merge ¶ added in v0.4.0
func (m *PrometheusData) XXX_Merge(src proto.Message)
func (*PrometheusData) XXX_Size ¶ added in v0.4.0
func (m *PrometheusData) XXX_Size() int
func (*PrometheusData) XXX_Unmarshal ¶ added in v0.4.0
func (m *PrometheusData) XXX_Unmarshal(b []byte) error
type PrometheusRequest ¶ added in v0.4.0
type PrometheusRequest struct { Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` Start int64 `protobuf:"varint,2,opt,name=start,proto3" json:"start,omitempty"` End int64 `protobuf:"varint,3,opt,name=end,proto3" json:"end,omitempty"` Step int64 `protobuf:"varint,4,opt,name=step,proto3" json:"step,omitempty"` Timeout time.Duration `protobuf:"bytes,5,opt,name=timeout,proto3,stdduration" json:"timeout"` Query string `protobuf:"bytes,6,opt,name=query,proto3" json:"query,omitempty"` }
func (*PrometheusRequest) Descriptor ¶ added in v0.4.0
func (*PrometheusRequest) Descriptor() ([]byte, []int)
func (*PrometheusRequest) Equal ¶ added in v0.4.0
func (this *PrometheusRequest) Equal(that interface{}) bool
func (*PrometheusRequest) GetEnd ¶ added in v0.4.0
func (m *PrometheusRequest) GetEnd() int64
func (*PrometheusRequest) GetPath ¶ added in v0.4.0
func (m *PrometheusRequest) GetPath() string
func (*PrometheusRequest) GetQuery ¶ added in v0.4.0
func (m *PrometheusRequest) GetQuery() string
func (*PrometheusRequest) GetStart ¶ added in v0.4.0
func (m *PrometheusRequest) GetStart() int64
func (*PrometheusRequest) GetStep ¶ added in v0.4.0
func (m *PrometheusRequest) GetStep() int64
func (*PrometheusRequest) GetTimeout ¶ added in v0.4.0
func (m *PrometheusRequest) GetTimeout() time.Duration
func (*PrometheusRequest) GoString ¶ added in v0.4.0
func (this *PrometheusRequest) GoString() string
func (*PrometheusRequest) Marshal ¶ added in v0.4.0
func (m *PrometheusRequest) Marshal() (dAtA []byte, err error)
func (*PrometheusRequest) MarshalTo ¶ added in v0.4.0
func (m *PrometheusRequest) MarshalTo(dAtA []byte) (int, error)
func (*PrometheusRequest) ProtoMessage ¶ added in v0.4.0
func (*PrometheusRequest) ProtoMessage()
func (*PrometheusRequest) Reset ¶ added in v0.4.0
func (m *PrometheusRequest) Reset()
func (*PrometheusRequest) Size ¶ added in v0.4.0
func (m *PrometheusRequest) Size() (n int)
func (*PrometheusRequest) String ¶ added in v0.4.0
func (this *PrometheusRequest) String() string
func (*PrometheusRequest) Unmarshal ¶ added in v0.4.0
func (m *PrometheusRequest) Unmarshal(dAtA []byte) error
func (*PrometheusRequest) WithStartEnd ¶ added in v0.4.0
func (q *PrometheusRequest) WithStartEnd(start int64, end int64) Request
WithStartEnd clones the current `PrometheusRequest` with a new `start` and `end` timestamp.
func (*PrometheusRequest) XXX_DiscardUnknown ¶ added in v0.4.0
func (m *PrometheusRequest) XXX_DiscardUnknown()
func (*PrometheusRequest) XXX_Marshal ¶ added in v0.4.0
func (m *PrometheusRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*PrometheusRequest) XXX_Merge ¶ added in v0.4.0
func (m *PrometheusRequest) XXX_Merge(src proto.Message)
func (*PrometheusRequest) XXX_Size ¶ added in v0.4.0
func (m *PrometheusRequest) XXX_Size() int
func (*PrometheusRequest) XXX_Unmarshal ¶ added in v0.4.0
func (m *PrometheusRequest) XXX_Unmarshal(b []byte) error
type PrometheusResponse ¶ added in v0.4.0
type PrometheusResponse struct { Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"status"` Data PrometheusData `protobuf:"bytes,2,opt,name=Data,json=data,proto3" json:"data,omitempty"` ErrorType string `protobuf:"bytes,3,opt,name=ErrorType,json=errorType,proto3" json:"errorType,omitempty"` Error string `protobuf:"bytes,4,opt,name=Error,json=error,proto3" json:"error,omitempty"` }
func (*PrometheusResponse) Descriptor ¶ added in v0.4.0
func (*PrometheusResponse) Descriptor() ([]byte, []int)
func (*PrometheusResponse) Equal ¶ added in v0.4.0
func (this *PrometheusResponse) Equal(that interface{}) bool
func (*PrometheusResponse) GetData ¶ added in v0.4.0
func (m *PrometheusResponse) GetData() PrometheusData
func (*PrometheusResponse) GetError ¶ added in v0.4.0
func (m *PrometheusResponse) GetError() string
func (*PrometheusResponse) GetErrorType ¶ added in v0.4.0
func (m *PrometheusResponse) GetErrorType() string
func (*PrometheusResponse) GetStatus ¶ added in v0.4.0
func (m *PrometheusResponse) GetStatus() string
func (*PrometheusResponse) GoString ¶ added in v0.4.0
func (this *PrometheusResponse) GoString() string
func (*PrometheusResponse) Marshal ¶ added in v0.4.0
func (m *PrometheusResponse) Marshal() (dAtA []byte, err error)
func (*PrometheusResponse) MarshalTo ¶ added in v0.4.0
func (m *PrometheusResponse) MarshalTo(dAtA []byte) (int, error)
func (*PrometheusResponse) ProtoMessage ¶ added in v0.4.0
func (*PrometheusResponse) ProtoMessage()
func (*PrometheusResponse) Reset ¶ added in v0.4.0
func (m *PrometheusResponse) Reset()
func (*PrometheusResponse) Size ¶ added in v0.4.0
func (m *PrometheusResponse) Size() (n int)
func (*PrometheusResponse) String ¶ added in v0.4.0
func (this *PrometheusResponse) String() string
func (*PrometheusResponse) Unmarshal ¶ added in v0.4.0
func (m *PrometheusResponse) Unmarshal(dAtA []byte) error
func (*PrometheusResponse) XXX_DiscardUnknown ¶ added in v0.4.0
func (m *PrometheusResponse) XXX_DiscardUnknown()
func (*PrometheusResponse) XXX_Marshal ¶ added in v0.4.0
func (m *PrometheusResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*PrometheusResponse) XXX_Merge ¶ added in v0.4.0
func (m *PrometheusResponse) XXX_Merge(src proto.Message)
func (*PrometheusResponse) XXX_Size ¶ added in v0.4.0
func (m *PrometheusResponse) XXX_Size() int
func (*PrometheusResponse) XXX_Unmarshal ¶ added in v0.4.0
func (m *PrometheusResponse) XXX_Unmarshal(b []byte) error
type Request ¶
type Request interface { // GetStart returns the start timestamp of the request in milliseconds. GetStart() int64 // GetEnd returns the end timestamp of the request in milliseconds. GetEnd() int64 // GetStep returns the step of the request in milliseconds. GetStep() int64 // GetQuery returns the query of the request. GetQuery() string // WithStartEnd clone the current request with different start and end timestamp. WithStartEnd(int64, int64) Request proto.Message }
Request represents a query range request that can be process by middlewares.
type RequestResponse ¶ added in v0.6.0
RequestResponse contains a request response and the respective request that was used.
func DoRequests ¶ added in v0.6.0
func DoRequests(ctx context.Context, downstream Handler, reqs []Request, limits Limits) ([]RequestResponse, error)
DoRequests executes a list of requests in parallel. The limits parameters is used to limit parallelism per single request.
type ResultsCacheConfig ¶
type ResultsCacheConfig struct { CacheConfig cache.Config `yaml:"cache"` MaxCacheFreshness time.Duration `yaml:"max_freshness"` SplitInterval time.Duration `yaml:"cache_split_interval"` }
ResultsCacheConfig is the config for the results cache.
func (*ResultsCacheConfig) RegisterFlags ¶
func (cfg *ResultsCacheConfig) RegisterFlags(f *flag.FlagSet)
RegisterFlags registers flags.
type SampleStream ¶
type SampleStream struct { Labels []github_com_cortexproject_cortex_pkg_ingester_client.LabelAdapter `` /* 131-byte string literal not displayed */ Samples []client.Sample `protobuf:"bytes,2,rep,name=samples,proto3" json:"values"` }
func (*SampleStream) Descriptor ¶
func (*SampleStream) Descriptor() ([]byte, []int)
func (*SampleStream) Equal ¶
func (this *SampleStream) Equal(that interface{}) bool
func (*SampleStream) GetSamples ¶
func (m *SampleStream) GetSamples() []client.Sample
func (*SampleStream) GoString ¶
func (this *SampleStream) GoString() string
func (*SampleStream) Marshal ¶
func (m *SampleStream) Marshal() (dAtA []byte, err error)
func (*SampleStream) MarshalJSON ¶
func (s *SampleStream) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
func (*SampleStream) ProtoMessage ¶
func (*SampleStream) ProtoMessage()
func (*SampleStream) Reset ¶
func (m *SampleStream) Reset()
func (*SampleStream) Size ¶
func (m *SampleStream) Size() (n int)
func (*SampleStream) String ¶
func (this *SampleStream) String() string
func (*SampleStream) Unmarshal ¶
func (m *SampleStream) Unmarshal(dAtA []byte) error
func (*SampleStream) UnmarshalJSON ¶
func (s *SampleStream) UnmarshalJSON(data []byte) error
UnmarshalJSON implements json.Unmarshaler.
func (*SampleStream) XXX_DiscardUnknown ¶
func (m *SampleStream) XXX_DiscardUnknown()
func (*SampleStream) XXX_Marshal ¶
func (m *SampleStream) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*SampleStream) XXX_Merge ¶
func (m *SampleStream) XXX_Merge(src proto.Message)
func (*SampleStream) XXX_Size ¶
func (m *SampleStream) XXX_Size() int
func (*SampleStream) XXX_Unmarshal ¶
func (m *SampleStream) XXX_Unmarshal(b []byte) error