Documentation ¶
Index ¶
- Constants
- func ReadRawdata(config *Config, queries []*Common.Query) ([]*Common.ReadRawdata, error)
- func ResponseToReadRawdata(response *Response, query *Common.Query) (*Common.ReadRawdata, error)
- func WrapQueryExpression(queryExpression string, aggregateFunc DBCommon.AggregateFunction, ...) (string, error)
- type Config
- type Data
- type Entity
- type MatrixData
- type MatrixResponse
- type MatrixResult
- type Prometheus
- func (p *Prometheus) Close()
- func (p *Prometheus) IsMetricsExist(ctx context.Context, metrics []string) (bool, []string, error)
- func (p *Prometheus) Query(ctx context.Context, query string, startTime, timeout *time.Time) (Response, error)
- func (p *Prometheus) QueryRange(ctx context.Context, query string, startTime, endTime *time.Time, ...) (Response, error)
- type Response
- type ResultType
- type ScalarResult
- type StringResult
- type TLSConfig
- type UnixTimeWithSampleValue
- type UnixTimeWithScalarValue
- type UnixTimeWithStringValue
- type Value
- type VectorData
- type VectorResponse
- type VectorResult
Constants ¶
const ( EndpointPrefix = "/api/v1" ExpressionQuery = "/query" ExpressionQueryRange = "/query_range" )
const ( // Status string literal of prometheus read/write request StatusSuccess = "success" // Status string literal of prometheus read/write request StatusError = "error" )
Variables ¶
This section is empty.
Functions ¶
func ReadRawdata ¶
func ResponseToReadRawdata ¶
func WrapQueryExpression ¶
Types ¶
type Config ¶
type Config struct { URL string `mapstructure:"url"` BearerTokenFile string `mapstructure:"bearerTokenFile"` TLSConfig *TLSConfig `mapstructure:"tlsConfig"` // contains filtered or unexported fields }
Configuration of prometheus data source
func NewDefaultConfig ¶
func NewDefaultConfig() *Config
Provide default configuration for prometheus
type Data ¶
type Data struct { ResultType ResultType `json:"resultType"` Result []interface{} `json:"result"` }
Represents the general value of prometheus http response field "data", the format of field "result" will depends on field "resultType"
type Entity ¶
type Entity struct { Labels map[string]string Values []UnixTimeWithSampleValue }
Structure to store metrics data from prometheus response
type MatrixData ¶
type MatrixData struct { ResultType ResultType Result []struct { Metric map[string]string Values []UnixTimeWithSampleValue } }
MatrixData MatrixData
type MatrixResponse ¶
type MatrixResponse struct { Status string Data MatrixData }
MatrixResponse MatrixResponse
type MatrixResult ¶
type Prometheus ¶
Prometheus client definition
func NewClient ¶
func NewClient(config *Config) (*Prometheus, error)
Instance prometheus API client with configuration
func (*Prometheus) IsMetricsExist ¶ added in v0.9.166
IsMetricsExist checks if metrics are existing in Prometheus, if there is an error while quering to Prometheus, returns (false, nil, error) if there are metrics not existing in Prometheus, returns (false, nonExistMetrics, nil) or if all metrics are existing, returns (true, nil, nil)
type Response ¶
type Response struct { Status string `json:"status"` Data Data `json:"data"` ErrorType string `json:"errorType"` Error string `json:"error"` }
Structure of prometheus http response
func (Response) GetEntities ¶
func (Response) GetEntitiesMatrix ¶
func (Response) GetEntitiesVector ¶
func (Response) GetMatrixResponse ¶
func (r Response) GetMatrixResponse() (MatrixResponse, error)
type ResultType ¶
type ResultType string
Prometheus http resultType
var MatrixResultType ResultType = "matrix"
Prometheus http matrix resultType
var ScalarResultType ResultType = "scalar"
Prometheus http scalar resultType
var StringResultType ResultType = "string"
Prometheus http string resultType
var VectorResultType ResultType = "vector"
Prometheus http vector resultType
type ScalarResult ¶
type ScalarResult UnixTimeWithScalarValue
type StringResult ¶
type StringResult UnixTimeWithStringValue
type TLSConfig ¶
type TLSConfig struct {
InsecureSkipVerify bool `mapstructure:"insecureSkipVerify"`
}
Configuration of tls connection
type UnixTimeWithSampleValue ¶
type UnixTimeWithScalarValue ¶
type UnixTimeWithStringValue ¶
type VectorData ¶
type VectorData struct { ResultType ResultType Result []struct { Metric map[string]string Value UnixTimeWithSampleValue } }
VectorData VectorData
type VectorResponse ¶
type VectorResponse struct { Status string Data VectorData }
VectorResponse VectorResponse