Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CachingIndexer ¶
type CachingIndexer struct { SampleIndexer Indexer SampleIndexer LastSeen map[string]time.Time MaxDuration time.Duration // contains filtered or unexported fields }
CachingIndexer remembers when a metric was indexed last, if it is beyond a provided duration, then the provided Writer is called to write the metric and the time of the write is stored in CachingIndexer.
func NewCachingIndexer ¶
func NewCachingIndexer(config *CachingIndexerConfig) *CachingIndexer
NewCachingIndexer returns a new instance of the CachingIndexer.
func (*CachingIndexer) Collect ¶
func (ci *CachingIndexer) Collect(ch chan<- prometheus.Metric)
Collect implements Collector. Sends metrics collected by indexDurations and Indexer to the parameter ch.
func (*CachingIndexer) Describe ¶
func (ci *CachingIndexer) Describe(ch chan<- *prometheus.Desc)
Describe implements prometheus.Collector. Sends decriptors of the instance's indexDurations and Indexer to the parameter ch.
func (*CachingIndexer) IndexSample ¶
func (ci *CachingIndexer) IndexSample(s *bus.Sample) error
IndexSample indexes the sample s if the sample s was not already indexed within the set MaxDuration.
type CachingIndexerConfig ¶
type CachingIndexerConfig struct { Indexer SampleIndexer MaxDuration time.Duration }
CachingIndexerConfig represents the configuration of a CachingIndexer object.
type DatapointReader ¶
type DatapointReader interface {
ReadDatapoints(key string, after, before bus.Timestamp) ([]bus.Datapoint, error)
}
DatapointReader is an interface that wraps the ReadDatapoints method.
type MatchType ¶
type MatchType int
MatchType is an enum representing a PromQL label match from "=", "!=", "=~" or "!~"
type Resolver ¶
type Resolver interface { // Resolve makes a query using the provided key value pairs of query // params and transforms the results to Vulcan Metric type. Resolve([]*Match) ([]*bus.Metric, error) Values(field string) ([]string, error) }
Resolver is a interface that wraps a database that can answer questions on what metrics exist.
type SampleIndexer ¶
type SampleIndexer interface { prometheus.Collector // IndexSample takes in a sample from the message bus and makes indexing // decisions on the target indexing system. IndexSample(*bus.Sample) error }
SampleIndexer is an interface that wraps the methods of a Prometheus Collector interface and IndexSample method.
type SampleWriter ¶
type SampleWriter interface { // WriteSample writes a single sample to a database WriteSample(*bus.Sample) error }
SampleWriter is an interface that wraps methods needed to write to the database of the storage layer.