datasource

package
v1.85.0-cluster Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2022 License: Apache-2.0 Imports: 14 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitSecretFlags added in v1.79.3

func InitSecretFlags()

InitSecretFlags must be called after flag.Parse and before any logging

Types

type Label added in v1.34.4

type Label struct {
	Name  string
	Value string
}

Label represents metric's label

type Metric added in v1.34.4

type Metric struct {
	Labels     []Label
	Timestamps []int64
	Values     []float64
}

Metric is the basic entity which should be return by datasource

func (*Metric) AddLabel added in v1.47.0

func (m *Metric) AddLabel(key, value string)

AddLabel appends the given label to the label set

func (*Metric) Label added in v1.50.0

func (m *Metric) Label(key string) string

Label returns the given label value. If label is missing empty string will be returned

func (*Metric) SetLabel added in v1.47.0

func (m *Metric) SetLabel(key, value string)

SetLabel adds or updates existing one label by the given key and label

func (*Metric) SetLabels added in v1.85.0

func (m *Metric) SetLabels(ls map[string]string)

SetLabels sets the given map as Metric labels

type Param added in v1.65.0

type Param struct {
	Key, Value string
}

Param represents an HTTP GET param

type Querier added in v1.34.8

type Querier interface {
	// Query executes instant request with the given query at the given ts.
	// It returns list of Metric in response, the http.Request used for sending query
	// and error if any. Returned http.Request can't be reused and its body is already read.
	// Query should stop once ctx is cancelled.
	Query(ctx context.Context, query string, ts time.Time) ([]Metric, *http.Request, error)
	// QueryRange executes range request with the given query on the given time range.
	// It returns list of Metric in response and error if any.
	// QueryRange should stop once ctx is cancelled.
	QueryRange(ctx context.Context, query string, from, to time.Time) ([]Metric, error)
}

Querier interface wraps Query and QueryRange methods

type QuerierBuilder added in v1.59.0

type QuerierBuilder interface {
	// BuildWithParams creates a new Querier object with the given params
	BuildWithParams(params QuerierParams) Querier
}

QuerierBuilder builds Querier with given params.

func Init added in v1.37.4

func Init(extraParams url.Values) (QuerierBuilder, error)

Init creates a Querier from provided flag values. Provided extraParams will be added as GET params for each request.

type QuerierParams added in v1.59.0

type QuerierParams struct {
	DataSourceType     string
	EvaluationInterval time.Duration
	QueryParams        url.Values
	Headers            map[string]string
	Debug              bool
}

QuerierParams params for Querier.

type VMStorage

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

VMStorage represents vmstorage entity with ability to read and write metrics

func NewVMStorage added in v1.34.4

func NewVMStorage(baseURL string, authCfg *promauth.Config, lookBack time.Duration, queryStep time.Duration, appendTypePrefix bool, c *http.Client) *VMStorage

NewVMStorage is a constructor for VMStorage

func (*VMStorage) ApplyParams added in v1.59.0

func (s *VMStorage) ApplyParams(params QuerierParams) *VMStorage

ApplyParams - changes given querier params.

func (*VMStorage) BuildWithParams added in v1.59.0

func (s *VMStorage) BuildWithParams(params QuerierParams) Querier

BuildWithParams - implements interface.

func (*VMStorage) Clone added in v1.59.0

func (s *VMStorage) Clone() *VMStorage

Clone makes clone of VMStorage, shares http client.

func (*VMStorage) Query

func (s *VMStorage) Query(ctx context.Context, query string, ts time.Time) ([]Metric, *http.Request, error)

Query executes the given query and returns parsed response

func (*VMStorage) QueryRange added in v1.61.0

func (s *VMStorage) QueryRange(ctx context.Context, query string, start, end time.Time) ([]Metric, error)

QueryRange executes the given query on the given time range. For Prometheus type see https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries Graphite type isn't supported.

Jump to

Keyboard shortcuts

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