Documentation ¶
Index ¶
- func FilterMatchers(ls model.LabelSet, matchers []*labels.Matcher) ([]*labels.Matcher, bool)
- func MergeLabelSets(a, b []model.LabelSet) []model.LabelSet
- func MergeLabelValues(a, b []model.LabelValue) []model.LabelValue
- func NormalizePromError(err error) error
- type API
- type AddLabelClient
- func (c *AddLabelClient) GetValue(ctx context.Context, start, end time.Time, matchers []*labels.Matcher) (model.Value, error)
- func (c *AddLabelClient) LabelValues(ctx context.Context, label string) (model.LabelValues, error)
- func (c *AddLabelClient) Query(ctx context.Context, query string, ts time.Time) (model.Value, error)
- func (c *AddLabelClient) QueryRange(ctx context.Context, query string, r v1.Range) (model.Value, error)
- func (c *AddLabelClient) Series(ctx context.Context, matches []string, startTime time.Time, endTime time.Time) ([]model.LabelSet, error)
- type DataResult
- type LabelFilterVisitor
- type MultiAPI
- func (m *MultiAPI) GetValue(ctx context.Context, start, end time.Time, matchers []*labels.Matcher) (model.Value, error)
- func (m *MultiAPI) LabelValues(ctx context.Context, label string) (model.LabelValues, error)
- func (m *MultiAPI) Query(ctx context.Context, query string, ts time.Time) (model.Value, error)
- func (m *MultiAPI) QueryRange(ctx context.Context, query string, r v1.Range) (model.Value, error)
- func (m *MultiAPI) Series(ctx context.Context, matches []string, startTime time.Time, endTime time.Time) ([]model.LabelSet, error)
- type MultiAPIMetricFunc
- type PromAPIRemoteRead
- type PromAPIV1
- type SeriesIterator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FilterMatchers ¶ added in v0.0.33
func MergeLabelValues ¶ added in v0.0.18
func MergeLabelValues(a, b []model.LabelValue) []model.LabelValue
func NormalizePromError ¶ added in v0.0.31
NormalizePromError converts the errors that the prometheus API client returns into errors that the prometheus API server actually handles and returns proper error codes for
Types ¶
type API ¶ added in v0.0.31
type API interface { // LabelValues performs a query for the values of the given label. LabelValues(ctx context.Context, label string) (model.LabelValues, error) // Query performs a query for the given time. Query(ctx context.Context, query string, ts time.Time) (model.Value, error) // QueryRange performs a query for the given range. QueryRange(ctx context.Context, query string, r v1.Range) (model.Value, error) // Series finds series by label matchers. Series(ctx context.Context, matches []string, startTime time.Time, endTime time.Time) ([]model.LabelSet, error) // GetValue loads the raw data for a given set of matchers in the time range GetValue(ctx context.Context, start, end time.Time, matchers []*labels.Matcher) (model.Value, error) }
API Subset of the interface defined in the prometheus client
type AddLabelClient ¶ added in v0.0.33
AddLabelClient proxies a client and adds the given labels to all results
func (*AddLabelClient) GetValue ¶ added in v0.0.33
func (c *AddLabelClient) GetValue(ctx context.Context, start, end time.Time, matchers []*labels.Matcher) (model.Value, error)
GetValue loads the raw data for a given set of matchers in the time range
func (*AddLabelClient) LabelValues ¶ added in v0.0.33
func (c *AddLabelClient) LabelValues(ctx context.Context, label string) (model.LabelValues, error)
LabelValues performs a query for the values of the given label.
func (*AddLabelClient) Query ¶ added in v0.0.33
func (c *AddLabelClient) Query(ctx context.Context, query string, ts time.Time) (model.Value, error)
Query performs a query for the given time.
type DataResult ¶
type DataResult struct { Status promhttputil.Status `json:"status"` Data promhttputil.QueryData `json:"data"` ErrorType promhttputil.ErrorType `json:"errorType,omitempty"` Error string `json:"error,omitempty"` }
func (*DataResult) UnmarshalEasyJSON ¶
func (out *DataResult) UnmarshalEasyJSON(in *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*DataResult) UnmarshalJSON ¶
func (v *DataResult) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type LabelFilterVisitor ¶ added in v0.0.33
type LabelFilterVisitor struct {
// contains filtered or unexported fields
}
type MultiAPI ¶ added in v0.0.31
type MultiAPI struct {
// contains filtered or unexported fields
}
MultiAPI implements the API interface while merging the results from the apis it wraps
func NewMultiAPI ¶ added in v0.0.31
func NewMultiAPI(apis []API, antiAffinity model.Time, metricFunc MultiAPIMetricFunc) *MultiAPI
NewMultiAPI returns a MultiAPI
func (*MultiAPI) GetValue ¶ added in v0.0.32
func (m *MultiAPI) GetValue(ctx context.Context, start, end time.Time, matchers []*labels.Matcher) (model.Value, error)
GetValue fetches a `model.Value` which represents the actual collected data
func (*MultiAPI) LabelValues ¶ added in v0.0.31
LabelValues performs a query for the values of the given label.
func (*MultiAPI) QueryRange ¶ added in v0.0.31
QueryRange performs a query for the given range.
type MultiAPIMetricFunc ¶ added in v0.0.31
MultiAPIMetricFunc defines a method where a client can record metrics about the specific API calls made through this multi client
type PromAPIRemoteRead ¶ added in v0.0.32
PromAPIRemoteRead implements our internal API interface using a combination of the v1 HTTP API and the "experimental" remote_read API
type PromAPIV1 ¶ added in v0.0.32
PromAPI implements our internal API interface using *only* the v1 HTTP API Simply wraps the prom API to fullfil our internal API interface
type SeriesIterator ¶
type SeriesIterator struct { V interface{} // contains filtered or unexported fields }
func IteratorsForValue ¶
func IteratorsForValue(v model.Value) []*SeriesIterator
func NewSeriesIterator ¶
func NewSeriesIterator(v interface{}) *SeriesIterator
NewSeriesIterator return a series iterator for the given value TODO: error return if the type is incorrect?
func (*SeriesIterator) At ¶ added in v0.0.2
func (s *SeriesIterator) At() (t int64, v float64)
At returns the current timestamp/value pair.
func (*SeriesIterator) Err ¶ added in v0.0.2
func (s *SeriesIterator) Err() error
Err returns the current error.
func (*SeriesIterator) Labels ¶ added in v0.0.2
func (s *SeriesIterator) Labels() labels.Labels
Returns the metric of the series that the iterator corresponds to.
func (*SeriesIterator) Next ¶ added in v0.0.2
func (s *SeriesIterator) Next() bool
Next advances the iterator by one.
func (*SeriesIterator) Seek ¶ added in v0.0.2
func (s *SeriesIterator) Seek(t int64) bool
Seek advances the iterator forward to the value at or after the given timestamp.