graphiteapi

package module
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2022 License: MIT Imports: 14 Imported by: 0

README

Golang Client Library for Graphite Render APIs

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrCmpTargetEmpy   = errors.New("empty target")
	ErrCmpInvalid      = errors.New("invalid comparator")
	ErrCmpValueInvalid = errors.New("invalid value for comparator")
)

Functions

func AddCustomHeader

func AddCustomHeader(key, value string)

AddCustomHeader adds a custom header on all requests

func GetLastNonNullValue

func GetLastNonNullValue(pp *Series, maxNullPoints int) (t int64, v float64, absent bool)

GetLastNonNullValue searches for the latest non null value, and skips at most maxNullPoints. If the last maxNullPoints values are all absent, returns absent

func SetHTTPClient

func SetHTTPClient(client *http.Client)

SetHTTPClient sets the http client used to make requests

func SetUserAgent

func SetUserAgent(ua string)

SetUserAgent sets a custom user agent

Types

type DataPoint added in v0.0.4

type DataPoint struct {
	Value     float64
	Timestamp int64
}

DataPoint describes concrete point of time series.

type EvalCmp

type EvalCmp int8
const (
	EvalEq EvalCmp = iota
	EvalLt
	EvalLe
	EvalGt
	EvalGe
)

type Query

type Query interface {
	URL() string
	Request(ctx context.Context) (Response, error)
}

Query is interface for all api request

type RenderEval

type RenderEval struct {
	// contains filtered or unexported fields
}

func NewRenderEval

func NewRenderEval(base, from, until, eval string, maxDataPoints int, maxNullPoints int) (*RenderEval, error)

func (*RenderEval) Eval

func (e *RenderEval) Eval(ctx context.Context) ([]types.EvalResult, error)

func (*RenderEval) SetBasicAuth

func (e *RenderEval) SetBasicAuth(username, password string)

func (*RenderEval) String

func (e *RenderEval) String() string

func (*RenderEval) Type added in v0.0.3

func (e *RenderEval) Type() string

type RenderQuery

type RenderQuery struct {
	Base          string // base url of graphite server
	User          string // user
	Password      string // password
	Targets       []string
	From          string
	Until         string
	MaxDataPoints int
}

RenderQuery is used to build `/render/` query

func NewRenderQuery

func NewRenderQuery(base, from, until string, targets []string, maxDataPoints int) *RenderQuery

NewRenderQuery returns a RenderQuery instance

func (*RenderQuery) AddTarget

func (q *RenderQuery) AddTarget(target string) *RenderQuery

func (*RenderQuery) Request

func (q *RenderQuery) Request(ctx context.Context) ([]Series, error)

Request implements Query interface

func (*RenderQuery) SetBasicAuth

func (q *RenderQuery) SetBasicAuth(username, password string)

func (*RenderQuery) SetFrom

func (q *RenderQuery) SetFrom(from string) *RenderQuery

func (*RenderQuery) SetMaxDataPoints

func (q *RenderQuery) SetMaxDataPoints(maxDataPoints int) *RenderQuery

func (*RenderQuery) SetTargets

func (q *RenderQuery) SetTargets(targets []string) *RenderQuery

func (*RenderQuery) SetUntil

func (q *RenderQuery) SetUntil(until string) *RenderQuery

func (*RenderQuery) URL

func (q *RenderQuery) URL() (*url.URL, error)

URL implements Query interface

type Response

type Response interface {
	Unmarshal([]byte) error
}

Response is interface for all api request response types

type Series

type Series struct {
	Target     string
	DataPoints []DataPoint
}

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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