helper

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2020 License: BSD-2-Clause Imports: 12 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Backref = regexp.MustCompile(`\\(\d+)`)

Backref is a pre-compiled expression for backref

View Source
var ExtrapolatePoints = false

ExtrapolatePoints defines if we should extrapolate when we are aligning series together

Functions

func AggKey added in v0.14.0

func AggKey(arg *types.MetricData, nodesOrTags []parser.NodeOrTag) string

AggKey returns joined by dot nodes of tags names

func AggregateSeries

func AggregateSeries(e parser.Expr, args []*types.MetricData, function AggregateFunc) ([]*types.MetricData, error)

AggregateSeries aggregates series

func AlignSeries

func AlignSeries(args []*types.MetricData) []*types.MetricData

AlignSeries aligns different series together. By default it only prepends and appends NaNs in case of different length, but if ExtrapolatePoints is enabled, it can extrapolate

func AlignStartToInterval

func AlignStartToInterval(start, stop, bucketSize int64) int64

AlignStartToInterval aligns start of serie to interval

func AlignToBucketSize

func AlignToBucketSize(start, stop, bucketSize int64) (int64, int64)

AlignToBucketSize aligns start and stop of serie to specified bucket (step) size

func Contains

func Contains(a []int, i int) bool

Contains check if slice 'a' contains value 'i'

func ExtractMetric

func ExtractMetric(s string) string

ExtractMetric extracts metric out of function list

func ForEachSeriesDo

func ForEachSeriesDo(e parser.Expr, from, until int64, values map[parser.MetricRequest][]*types.MetricData, function seriesFunc) ([]*types.MetricData, error)

ForEachSeriesDo do action for each serie in list.

func GetBuckets

func GetBuckets(start, stop, bucketSize int64) int64

GetBuckets returns amount buckets for timeSeries (defined with startTime, stopTime and step (bucket) size.

func GetSeriesArg

func GetSeriesArg(arg parser.Expr, from, until int64, values map[parser.MetricRequest][]*types.MetricData) ([]*types.MetricData, error)

GetSeriesArg returns argument from series.

func GetSeriesArgs

func GetSeriesArgs(e []parser.Expr, from, until int64, values map[parser.MetricRequest][]*types.MetricData) ([]*types.MetricData, error)

GetSeriesArgs returns arguments of series

func GetSeriesArgsAndRemoveNonExisting

func GetSeriesArgsAndRemoveNonExisting(e parser.Expr, from, until int64, values map[parser.MetricRequest][]*types.MetricData) ([]*types.MetricData, error)

GetSeriesArgsAndRemoveNonExisting will fetch all required arguments, but will also filter out non existing Series This is needed to be graphite-web compatible in cases when you pass non-existing Series to, for example, sumSeries

func RemoveEmptySeriesFromName

func RemoveEmptySeriesFromName(args []*types.MetricData) string

RemoveEmptySeriesFromName removes empty series from list of names.

func SetEvaluator

func SetEvaluator(e interfaces.Evaluator)

SetEvaluator sets evaluator for all helper functions

Types

type AggregateFunc

type AggregateFunc func([]float64) float64

AggregateFunc type that defined aggregate function

type ByName

type ByName []*types.MetricData

ByName sorts metrics by name

func (ByName) Len

func (s ByName) Len() int

Len returns length, required to be sortable

func (ByName) Less

func (s ByName) Less(i, j int) bool

Less compares two elements with specified IDs, required to be sortable

func (ByName) Swap

func (s ByName) Swap(i, j int)

Swap swaps to elements by IDs, required to be sortable

type ByNameNatural

type ByNameNatural []*types.MetricData

ByNameNatural sorts metric naturally by name

func (ByNameNatural) Len

func (s ByNameNatural) Len() int

Len returns length, required to be sortable

func (ByNameNatural) Less

func (s ByNameNatural) Less(i, j int) bool

Less compares two elements with specified IDs, required to be sortable

func (ByNameNatural) Swap

func (s ByNameNatural) Swap(i, j int)

Swap swaps to elements by IDs, required to be sortable

type ByVals

type ByVals struct {
	Vals   []float64
	Series []*types.MetricData
}

ByVals sorts by values Total (sortByTotal), max (sortByMaxima), min (sortByMinima) sorting For 'min', we actually store 1/v so the sorting logic is the same

func (ByVals) Len

func (s ByVals) Len() int

Len returns length, required to be sortable

func (ByVals) Less

func (s ByVals) Less(i, j int) bool

Less compares two elements with specified IDs, required to be sortable

func (ByVals) Swap

func (s ByVals) Swap(i, j int)

Swap swaps to elements by IDs, required to be sortable

type ErrUnknownFunction

type ErrUnknownFunction string

ErrUnknownFunction is an error message about unknown function

func (ErrUnknownFunction) Error

func (e ErrUnknownFunction) Error() string

Jump to

Keyboard shortcuts

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