query

package
v0.17.0-rc.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 13, 2020 License: Apache-2.0 Imports: 32 Imported by: 6

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config added in v0.11.0

type Config struct {
	HTTPClientConfig http_util.ClientConfig    `yaml:"http_config"`
	EndpointsConfig  http_util.EndpointsConfig `yaml:",inline"`
}

func BuildQueryConfig added in v0.12.0

func BuildQueryConfig(queryAddrs []string) ([]Config, error)

BuildQueryConfig returns a query client configuration from a static address.

func DefaultConfig added in v0.11.0

func DefaultConfig() Config

func LoadConfigs added in v0.11.0

func LoadConfigs(confYAML []byte) ([]Config, error)

LoadConfigs loads a list of Config from YAML data.

func (*Config) UnmarshalYAML added in v0.11.0

func (c *Config) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML implements the yaml.Unmarshaler interface.

type QueryableCreator

type QueryableCreator func(deduplicate bool, replicaLabels []string, storeDebugMatchers [][]*labels.Matcher, maxResolutionMillis int64, partialResponse, skipChunks bool) storage.Queryable

QueryableCreator returns implementation of promql.Queryable that fetches data from the proxy store API endpoints. If deduplication is enabled, all data retrieved from it will be deduplicated along all replicaLabels by default. When the replicaLabels argument is not empty it overwrites the global replicaLabels flag. This allows specifying replicaLabels at query time. maxResolutionMillis controls downsampling resolution that is allowed (specified in milliseconds). partialResponse controls `partialResponseDisabled` option of StoreAPI and partial response behavior of proxy.

func NewQueryableCreator

func NewQueryableCreator(logger log.Logger, reg prometheus.Registerer, proxy storepb.StoreServer, maxConcurrentSelects int, selectTimeout time.Duration) QueryableCreator

NewQueryableCreator creates QueryableCreator.

type RuleSpec added in v0.14.0

type RuleSpec interface {
	// Addr returns RulesAPI Address for the rules spec. It is used as its ID.
	Addr() string
}

type StoreSet

type StoreSet struct {
	// contains filtered or unexported fields
}

StoreSet maintains a set of active stores. It is backed up by Store Specifications that are dynamically fetched on every Update() call.

func NewStoreSet

func NewStoreSet(
	logger log.Logger,
	reg *prometheus.Registry,
	storeSpecs func() []StoreSpec,
	ruleSpecs func() []RuleSpec,
	dialOpts []grpc.DialOption,
	unhealthyStoreTimeout time.Duration,
) *StoreSet

NewStoreSet returns a new set of store APIs and potentially Rules APIs from given specs.

func (*StoreSet) Close

func (s *StoreSet) Close()

func (*StoreSet) Get

func (s *StoreSet) Get() []store.Client

Get returns a list of all active stores.

func (*StoreSet) GetRulesClients added in v0.14.0

func (s *StoreSet) GetRulesClients() []rulespb.RulesClient

GetRulesClients returns a list of all active rules clients.

func (*StoreSet) GetStoreStatus added in v0.2.1

func (s *StoreSet) GetStoreStatus() []StoreStatus

func (*StoreSet) Update

func (s *StoreSet) Update(ctx context.Context)

Update updates the store set. It fetches current list of store specs from function and updates the fresh metadata from all stores. Keeps around statically defined nodes that were defined with the strict mode.

type StoreSpec

type StoreSpec interface {
	// Addr returns StoreAPI Address for the store spec. It is used as ID for store.
	Addr() string
	// Metadata returns current labels, store type and min, max ranges for store.
	// It can change for every call for this method.
	// If metadata call fails we assume that store is no longer accessible and we should not use it.
	// NOTE: It is implementation responsibility to retry until context timeout, but a caller responsibility to manage
	// given store connection.
	Metadata(ctx context.Context, client storepb.StoreClient) (labelSets []labels.Labels, mint int64, maxt int64, storeType component.StoreAPI, err error)

	// StrictStatic returns true if the StoreAPI has been statically defined and it is under a strict mode.
	StrictStatic() bool
}

func NewGRPCStoreSpec

func NewGRPCStoreSpec(addr string, strictstatic bool) StoreSpec

NewGRPCStoreSpec creates store pure gRPC spec. It uses Info gRPC call to get Metadata.

type StoreStatus added in v0.2.1

type StoreStatus struct {
	Name      string             `json:"name"`
	LastCheck time.Time          `json:"lastCheck"`
	LastError *stringError       `json:"lastError"`
	LabelSets []labels.Labels    `json:"labelSets"`
	StoreType component.StoreAPI `json:"-"`
	MinTime   int64              `json:"minTime"`
	MaxTime   int64              `json:"maxTime"`
}

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL