Documentation ¶
Index ¶
- func CloneExpr(expr parser.Expr) (newExpr parser.Expr)
- func ExprIsLiteral(expr parser.Expr) bool
- func PreserveLabel(expr parser.Expr, srcLabel string, dstLabel string) (relabelExpress parser.Expr)
- func UnwrapExpr(expr parser.Expr) parser.Expr
- type BooleanFinder
- type MultiVisitor
- type OffsetFinder
- type OffsetRemover
- type ProxyStorage
- func (p *ProxyStorage) Appender(context.Context) storage.Appender
- func (p *ProxyStorage) ApplyConfig(c *proxyconfig.Config) error
- func (p *ProxyStorage) ChunkQuerier(ctx context.Context, mint, maxt int64) (storage.ChunkQuerier, error)
- func (p *ProxyStorage) CleanTombstones() (err error)
- func (p *ProxyStorage) Close() error
- func (p *ProxyStorage) ConfigHandler(w http.ResponseWriter, r *http.Request)
- func (p *ProxyStorage) Delete(mint, maxt int64, ms ...*labels.Matcher) error
- func (p *ProxyStorage) ExemplarQuerier(ctx context.Context) (storage.ExemplarQuerier, error)
- func (p *ProxyStorage) GetState() *proxyStorageState
- func (p *ProxyStorage) MetadataHandler(w http.ResponseWriter, r *http.Request)
- func (p *ProxyStorage) NodeReplacer(ctx context.Context, s *parser.EvalStmt, node parser.Node, path []parser.Node) (parser.Node, error)
- func (p *ProxyStorage) Querier(ctx context.Context, mint, maxt int64) (storage.Querier, error)
- func (p *ProxyStorage) Snapshot(dir string, withHead bool) error
- func (p *ProxyStorage) StartTime() (int64, error)
- func (p *ProxyStorage) Stats(statsByLabelName string) (*tsdb.Stats, error)
- func (p *ProxyStorage) WALReplayStatus() (tsdb.WALReplayStatus, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExprIsLiteral ¶ added in v0.0.88
func PreserveLabel ¶ added in v0.0.58
PreserveLabel wraps the input expression with a label replace in order to preserve the metadata through binary expressions
Types ¶
type BooleanFinder ¶
BooleanFinder uses the given func to determine if something is in there or notret := &parser.VectorSelector{Offset: offset}
type MultiVisitor ¶
type MultiVisitor struct {
// contains filtered or unexported fields
}
MultiVisitor runs a set of visitors on the same pass over the node tree
func NewMultiVisitor ¶ added in v0.0.58
func NewMultiVisitor(visitors []parser.Visitor) *MultiVisitor
NewMultiVisitor takes a set of visitors and returns a MultiVisitor
type OffsetFinder ¶
type OffsetFinder struct { Found bool Offset time.Duration Error error // contains filtered or unexported fields }
OffsetFinder finds the offset (if any) within the tree
type OffsetRemover ¶
type OffsetRemover struct{}
OffsetRemover removes any offset found in the node tree This is required when we send the queries below as we want to actually *remove* the offset.
type ProxyStorage ¶
type ProxyStorage struct { NoStepSubqueryIntervalFn func(rangeMillis int64) int64 // contains filtered or unexported fields }
ProxyStorage implements prometheus' Storage interface
func NewProxyStorage ¶
func NewProxyStorage(NoStepSubqueryIntervalFn func(rangeMillis int64) int64) (*ProxyStorage, error)
NewProxyStorage creates a new ProxyStorage
func (*ProxyStorage) Appender ¶
func (p *ProxyStorage) Appender(context.Context) storage.Appender
Appender returns a new appender against the storage.
func (*ProxyStorage) ApplyConfig ¶
func (p *ProxyStorage) ApplyConfig(c *proxyconfig.Config) error
ApplyConfig updates the current state of this ProxyStorage
func (*ProxyStorage) ChunkQuerier ¶ added in v0.0.63
func (p *ProxyStorage) ChunkQuerier(ctx context.Context, mint, maxt int64) (storage.ChunkQuerier, error)
ChunkQuerier returns a new ChunkQuerier on the storage.
func (*ProxyStorage) CleanTombstones ¶ added in v0.0.68
func (p *ProxyStorage) CleanTombstones() (err error)
Implement web.LocalStorage
func (*ProxyStorage) Close ¶
func (p *ProxyStorage) Close() error
Close releases the resources of the Querier.
func (*ProxyStorage) ConfigHandler ¶ added in v0.0.76
func (p *ProxyStorage) ConfigHandler(w http.ResponseWriter, r *http.Request)
ConfigHandler is an implementation of the config handler within the prometheus API
func (*ProxyStorage) Delete ¶ added in v0.0.68
func (p *ProxyStorage) Delete(mint, maxt int64, ms ...*labels.Matcher) error
func (*ProxyStorage) ExemplarQuerier ¶ added in v0.0.75
func (p *ProxyStorage) ExemplarQuerier(ctx context.Context) (storage.ExemplarQuerier, error)
ExemplarQuerier returns a new ExemplarQuerier on the storage.
func (*ProxyStorage) GetState ¶
func (p *ProxyStorage) GetState() *proxyStorageState
GetState returns the current state of the ProxyStorage
func (*ProxyStorage) MetadataHandler ¶ added in v0.0.76
func (p *ProxyStorage) MetadataHandler(w http.ResponseWriter, r *http.Request)
MetadataHandler is an implementation of the metadata handler within the prometheus API
func (*ProxyStorage) NodeReplacer ¶
func (p *ProxyStorage) NodeReplacer(ctx context.Context, s *parser.EvalStmt, node parser.Node, path []parser.Node) (parser.Node, error)
NodeReplacer replaces promql Nodes with more efficient-to-fetch ones. This works by taking lower-layer chunks of the query, farming them out to prometheus hosts, then stitching the results back together. An example would be a sum, we can sum multiple sums and come up with the same result -- so we do. There are a few ground rules for this:
- Children cannot be AggregateExpr: aggregates have their own combining logic, so its not safe to send a subquery with additional aggregations
- offsets within the subtree must match: if they don't then we'll get mismatched data, so we wait until we are far enough down the tree that they converge
- Don't reduce accuracy/granularity: the intention of this is to get the correct data faster, meaning correctness overrules speed.
func (*ProxyStorage) Snapshot ¶ added in v0.0.68
func (p *ProxyStorage) Snapshot(dir string, withHead bool) error
func (*ProxyStorage) StartTime ¶
func (p *ProxyStorage) StartTime() (int64, error)
StartTime returns the oldest timestamp stored in the storage.
func (*ProxyStorage) Stats ¶ added in v0.0.68
func (p *ProxyStorage) Stats(statsByLabelName string) (*tsdb.Stats, error)
func (*ProxyStorage) WALReplayStatus ¶ added in v0.0.73
func (p *ProxyStorage) WALReplayStatus() (tsdb.WALReplayStatus, error)