netstorage

package
v1.74.0 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2022 License: Apache-2.0 Imports: 22 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteSeries

func DeleteSeries(sq *storage.SearchQuery, deadline searchutils.Deadline) (int, error)

DeleteSeries deletes time series matching the given tagFilterss.

func ExportBlocks added in v1.42.0

func ExportBlocks(sq *storage.SearchQuery, deadline searchutils.Deadline, f func(mn *storage.MetricName, b *storage.Block, tr storage.TimeRange) error) error

ExportBlocks searches for time series matching sq and calls f for each found block.

f is called in parallel from multiple goroutines. Data processing is immediately stopped if f returns non-nil error. It is the responsibility of f to call b.UnmarshalData before reading timestamps and values from the block. It is the responsibility of f to filter blocks according to the given tr.

func GetGraphiteTagValues added in v1.47.0

func GetGraphiteTagValues(tagName, filter string, limit int, deadline searchutils.Deadline) ([]string, error)

GetGraphiteTagValues returns tag values for the given tagName until the given deadline.

func GetGraphiteTags added in v1.47.0

func GetGraphiteTags(filter string, limit int, deadline searchutils.Deadline) ([]string, error)

GetGraphiteTags returns Graphite tags until the given deadline.

func GetLabelEntries added in v1.19.0

func GetLabelEntries(deadline searchutils.Deadline) ([]storage.TagEntry, error)

GetLabelEntries returns all the label entries until the given deadline.

func GetLabelValues

func GetLabelValues(labelName string, deadline searchutils.Deadline) ([]string, error)

GetLabelValues returns label values for the given labelName until the given deadline.

func GetLabelValuesOnTimeRange added in v1.46.0

func GetLabelValuesOnTimeRange(labelName string, tr storage.TimeRange, deadline searchutils.Deadline) ([]string, error)

GetLabelValuesOnTimeRange returns label values for the given labelName on the given tr until the given deadline.

func GetLabels

func GetLabels(deadline searchutils.Deadline) ([]string, error)

GetLabels returns labels until the given deadline.

func GetLabelsOnTimeRange added in v1.46.0

func GetLabelsOnTimeRange(tr storage.TimeRange, deadline searchutils.Deadline) ([]string, error)

GetLabelsOnTimeRange returns labels for the given tr until the given deadline.

func GetSeriesCount

func GetSeriesCount(deadline searchutils.Deadline) (uint64, error)

GetSeriesCount returns the number of unique series.

func GetTSDBStatusForDate added in v1.35.0

func GetTSDBStatusForDate(deadline searchutils.Deadline, date uint64, topN int) (*storage.TSDBStatus, error)

GetTSDBStatusForDate returns tsdb status according to https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-stats

func GetTSDBStatusWithFilters added in v1.60.0

func GetTSDBStatusWithFilters(deadline searchutils.Deadline, sq *storage.SearchQuery, topN int) (*storage.TSDBStatus, error)

GetTSDBStatusWithFilters returns tsdb status according to https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-stats

It accepts aribtrary filters on time series in sq.

func GetTagValueSuffixes added in v1.41.0

func GetTagValueSuffixes(tr storage.TimeRange, tagKey, tagValuePrefix string, delimiter byte, deadline searchutils.Deadline) ([]string, error)

GetTagValueSuffixes returns tag value suffixes for the given tagKey and the given tagValuePrefix.

It can be used for implementing https://graphite-api.readthedocs.io/en/latest/api.html#metrics-find

func InitTmpBlocksDir

func InitTmpBlocksDir(tmpDirPath string)

InitTmpBlocksDir initializes directory to store temporary search results.

It stores data in system-defined temporary directory if tmpDirPath is empty.

func SearchMetricNames added in v1.47.0

func SearchMetricNames(sq *storage.SearchQuery, deadline searchutils.Deadline) ([]storage.MetricName, error)

SearchMetricNames returns all the metric names matching sq until the given deadline.

Types

type Result

type Result struct {
	// The name of the metric.
	MetricName storage.MetricName

	// Values are sorted by Timestamps.
	Values     []float64
	Timestamps []int64
}

Result is a single timeseries result.

ProcessSearchQuery returns Result slice.

type Results

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

Results holds results returned from ProcessSearchQuery.

func ProcessSearchQuery

func ProcessSearchQuery(sq *storage.SearchQuery, fetchData bool, deadline searchutils.Deadline) (*Results, error)

ProcessSearchQuery performs sq until the given deadline.

Results.RunParallel or Results.Cancel must be called on the returned Results.

func (*Results) Cancel

func (rss *Results) Cancel()

Cancel cancels rss work.

func (*Results) Len

func (rss *Results) Len() int

Len returns the number of results in rss.

func (*Results) RunParallel

func (rss *Results) RunParallel(f func(rs *Result, workerID uint) error) error

RunParallel runs f in parallel for all the results from rss.

f shouldn't hold references to rs after returning. workerID is the id of the worker goroutine that calls f. Data processing is immediately stopped if f returns non-nil error.

rss becomes unusable after the call to RunParallel.

Jump to

Keyboard shortcuts

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