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
- 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:"bearer-token-file"` TLSConfig *TLSConfig `mapstructure:"tls-config"` // 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) QueryRange ¶
func (p *Prometheus) QueryRange(query string, startTime, endTime *time.Time, stepTime *time.Duration) (Response, error)
QueryRange data over a range of time from prometheus
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:"insecure-skip-verify"`
}
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