Documentation ¶
Index ¶
- Constants
- 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 ( // StatusSuccess Status string literal of prometheus api request StatusSuccess = "success" // StatusError Status string literal of prometheus api request StatusError = "error" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
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 }
Config Configuration of Prometheus datasource
func NewDefaultConfig ¶
func NewDefaultConfig() Config
NewDefaultConfig Provide default configuration
type Data ¶
type Data struct { ResultType ResultType `json:"resultType"` Result []interface{} `json:"result"` }
Data Data represent 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 }
Entity 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 ¶
type Prometheus struct {
// contains filtered or unexported fields
}
Prometheus Prometheus api client
func New ¶
func New(config Config) (*Prometheus, error)
New New Prometheus api client with configuration
func (*Prometheus) QueryRange ¶
func (p *Prometheus) QueryRange(query string, startTime, endTime *time.Time, stepTime *time.Duration) (Response, error)
QueryRange Query 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"` }
Response Response structure of prometheus http response
func (Response) GetEntitis ¶
func (Response) GetMatrixResponse ¶
func (r Response) GetMatrixResponse() (MatrixResponse, error)
type ResultType ¶
type ResultType string
ResultType Prometheus http resultType
var MatrixResultType ResultType = "matrix"
MatrixResultType Prometheus http matrix resultType
var ScalarResultType ResultType = "scalar"
ScalarResultType Prometheus http scalar resultType
var StringResultType ResultType = "string"
StringResultType Prometheus http string resultType
var VectorResultType ResultType = "vector"
VectorResultType 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"`
}
TLSConfig Configuration of tls connnection
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