prometheus

package
v0.3.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 10, 2019 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
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

func (*Config) Validate

func (c *Config) Validate() error

Validate Confirm the configuration is validate

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 MatrixResult struct {
	Metric map[string]string `json:"metric"`
	Values []Value           `json:"values"`
}

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) Close

func (p *Prometheus) Close()

Close Free resoure used by Prometehus

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 (r Response) GetEntitis() ([]Entity, error)

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 Value

type StringResult

type StringResult Value

type TLSConfig

type TLSConfig struct {
	InsecureSkipVerify bool `mapstructure:"insecure-skip-verify"`
}

TLSConfig Configuration of tls connnection

type UnixTimeWithSampleValue

type UnixTimeWithSampleValue struct {
	UnixTime    time.Time
	SampleValue string
}

type UnixTimeWithScalarValue

type UnixTimeWithScalarValue struct {
	UnixTime    time.Time
	ScalarValue string
}

type UnixTimeWithStringValue

type UnixTimeWithStringValue struct {
	UnixTime    time.Time
	StringValue string
}

type Value

type Value []interface{}

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

type VectorResult

type VectorResult struct {
	Metric map[string]string `json:"metric"`
	Value  Value             `json:"value"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL