datasource

package
v0.4.1-victorialogs Latest Latest
Warning

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

Go to latest
Published: Oct 4, 2023 License: Apache-2.0 Imports: 17 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

func LabelCompare added in v1.92.0

func LabelCompare(a, b Labels) int

LabelCompare return negative if a is less than b, return 0 if they are the same eg. a=[]Label{{Name: "a", Value: "1"}},b=[]Label{{Name: "b", Value: "1"}}, return -1 a=[]Label{{Name: "a", Value: "2"}},b=[]Label{{Name: "a", Value: "1"}}, return 1 a=[]Label{{Name: "a", Value: "1"}},b=[]Label{{Name: "a", Value: "1"}}, return 0

Types

type Label added in v1.34.4

type Label struct {
	Name  string
	Value string
}

Label represents metric's label

type Labels added in v1.92.0

type Labels []Label

Labels is collection of Label

func ConvertToLabels added in v1.92.0

func ConvertToLabels(m map[string]string) (labelset Labels)

ConvertToLabels convert map to Labels

func (Labels) Len added in v1.92.0

func (ls Labels) Len() int

func (Labels) Less added in v1.92.0

func (ls Labels) Less(i, j int) bool

func (Labels) String added in v1.92.0

func (ls Labels) String() string

func (Labels) Swap added in v1.92.0

func (ls Labels) Swap(i, j int)

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) DelLabel added in v1.87.1

func (m *Metric) DelLabel(key string)

DelLabel deletes the given label from 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) (Result, *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) (Result, 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
	EvalOffset         *time.Duration
	QueryParams        url.Values
	Headers            map[string]string
	Debug              bool
}

QuerierParams params for Querier.

type Result added in v1.91.0

type Result struct {
	// Data contains list of received Metric
	Data []Metric
	// SeriesFetched contains amount of time series processed by datasource
	// during query evaluation.
	// If nil, then this feature is not supported by the datasource.
	// SeriesFetched is supported by VictoriaMetrics since v1.90.
	SeriesFetched *int
}

Result represents expected response from the datasource

type VMStorage

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

VMStorage represents vmstorage entity with ability to read and write metrics WARN: when adding a new field, remember to update Clone() method.

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) (Result, *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) (res Result, err 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