Help us shape the future of Go! Take the 2026 Go Developer Survey

remote

package
v1.8.2 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2017 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Overview

Package remote is a generated protocol buffer package.

It is generated from these files:

remote.proto

It has these top-level messages:

Sample
LabelPair
TimeSeries
WriteRequest
ReadRequest
ReadResponse
Query
LabelMatcher
QueryResult

Index

Constants

This section is empty.

Variables

View Source
var MatchType_name = map[int32]string{
	0: "EQUAL",
	1: "NOT_EQUAL",
	2: "REGEX_MATCH",
	3: "REGEX_NO_MATCH",
}
View Source
var MatchType_value = map[string]int32{
	"EQUAL":          0,
	"NOT_EQUAL":      1,
	"REGEX_MATCH":    2,
	"REGEX_NO_MATCH": 3,
}

Functions

func EncodeReadResponse

func EncodeReadResponse(resp *ReadResponse, w http.ResponseWriter) error

EncodeReadResponse writes a remote.Response to a http.ResponseWriter.

func FromLabelPairs

func FromLabelPairs(labelPairs []*LabelPair) model.Metric

FromLabelPairs unpack a []LabelPair to a model.Metric

func FromQuery

func FromQuery(req *Query) (model.Time, model.Time, []*metric.LabelMatcher, error)

FromQuery unpacks a Query proto.

func FromQueryResult

func FromQueryResult(resp *QueryResult) model.Matrix

FromQueryResult unpacks a QueryResult proto.

func IteratorsToMatrix

func IteratorsToMatrix(iters []local.SeriesIterator, interval metric.Interval) model.Matrix

IteratorsToMatrix converts a list of iterators into a model.Matrix.

func MatrixToIterators

func MatrixToIterators(m model.Matrix, err error) ([]local.SeriesIterator, error)

MatrixToIterators returns series iterators for a given matrix.

Types

type Client

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

Client allows reading and writing from/to a remote HTTP endpoint.

func NewClient

func NewClient(index int, conf *ClientConfig) (*Client, error)

NewClient creates a new Client.

func (Client) Name

func (c Client) Name() string

Name identifies the client.

func (*Client) Read

func (c *Client) Read(ctx context.Context, from, through model.Time, matchers metric.LabelMatchers) (model.Matrix, error)

Read reads from a remote endpoint.

func (*Client) Store

func (c *Client) Store(samples model.Samples) error

Store sends a batch of samples to the HTTP endpoint.

type ClientConfig

type ClientConfig struct {
	URL              *config.URL
	Timeout          model.Duration
	HTTPClientConfig config.HTTPClientConfig
}

ClientConfig configures a Client.

type LabelMatcher

type LabelMatcher struct {
	Type  MatchType `protobuf:"varint,1,opt,name=type,enum=remote.MatchType" json:"type,omitempty"`
	Name  string    `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
	Value string    `protobuf:"bytes,3,opt,name=value" json:"value,omitempty"`
}

func (*LabelMatcher) Descriptor

func (*LabelMatcher) Descriptor() ([]byte, []int)

func (*LabelMatcher) GetName

func (m *LabelMatcher) GetName() string

func (*LabelMatcher) GetType

func (m *LabelMatcher) GetType() MatchType

func (*LabelMatcher) GetValue

func (m *LabelMatcher) GetValue() string

func (*LabelMatcher) ProtoMessage

func (*LabelMatcher) ProtoMessage()

func (*LabelMatcher) Reset

func (m *LabelMatcher) Reset()

func (*LabelMatcher) String

func (m *LabelMatcher) String() string

type LabelPair

type LabelPair struct {
	Name  string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
}

func ToLabelPairs

func ToLabelPairs(metric model.Metric) []*LabelPair

ToLabelPairs builds a []LabelPair from a model.Metric

func (*LabelPair) Descriptor

func (*LabelPair) Descriptor() ([]byte, []int)

func (*LabelPair) GetName

func (m *LabelPair) GetName() string

func (*LabelPair) GetValue

func (m *LabelPair) GetValue() string

func (*LabelPair) ProtoMessage

func (*LabelPair) ProtoMessage()

func (*LabelPair) Reset

func (m *LabelPair) Reset()

func (*LabelPair) String

func (m *LabelPair) String() string

type MatchType

type MatchType int32
const (
	MatchType_EQUAL          MatchType = 0
	MatchType_NOT_EQUAL      MatchType = 1
	MatchType_REGEX_MATCH    MatchType = 2
	MatchType_REGEX_NO_MATCH MatchType = 3
)

func (MatchType) EnumDescriptor

func (MatchType) EnumDescriptor() ([]byte, []int)

func (MatchType) String

func (x MatchType) String() string

type Query

type Query struct {
	StartTimestampMs int64           `protobuf:"varint,1,opt,name=start_timestamp_ms,json=startTimestampMs" json:"start_timestamp_ms,omitempty"`
	EndTimestampMs   int64           `protobuf:"varint,2,opt,name=end_timestamp_ms,json=endTimestampMs" json:"end_timestamp_ms,omitempty"`
	Matchers         []*LabelMatcher `protobuf:"bytes,3,rep,name=matchers" json:"matchers,omitempty"`
}

func ToQuery

func ToQuery(from, to model.Time, matchers []*metric.LabelMatcher) (*Query, error)

ToQuery builds a Query proto.

func (*Query) Descriptor

func (*Query) Descriptor() ([]byte, []int)

func (*Query) GetEndTimestampMs

func (m *Query) GetEndTimestampMs() int64

func (*Query) GetMatchers

func (m *Query) GetMatchers() []*LabelMatcher

func (*Query) GetStartTimestampMs

func (m *Query) GetStartTimestampMs() int64

func (*Query) ProtoMessage

func (*Query) ProtoMessage()

func (*Query) Reset

func (m *Query) Reset()

func (*Query) String

func (m *Query) String() string

type QueryResult

type QueryResult struct {
	Timeseries []*TimeSeries `protobuf:"bytes,1,rep,name=timeseries" json:"timeseries,omitempty"`
}

func ToQueryResult

func ToQueryResult(matrix model.Matrix) *QueryResult

ToQueryResult builds a QueryResult proto.

func (*QueryResult) Descriptor

func (*QueryResult) Descriptor() ([]byte, []int)

func (*QueryResult) GetTimeseries

func (m *QueryResult) GetTimeseries() []*TimeSeries

func (*QueryResult) ProtoMessage

func (*QueryResult) ProtoMessage()

func (*QueryResult) Reset

func (m *QueryResult) Reset()

func (*QueryResult) String

func (m *QueryResult) String() string

type QueueManager

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

QueueManager manages a queue of samples to be sent to the Storage indicated by the provided StorageClient.

func NewQueueManager

func NewQueueManager(cfg config.QueueConfig, externalLabels model.LabelSet, relabelConfigs []*config.RelabelConfig, client StorageClient) *QueueManager

NewQueueManager builds a new QueueManager.

func (*QueueManager) Append

func (t *QueueManager) Append(s *model.Sample) error

Append queues a sample to be sent to the remote storage. It drops the sample on the floor if the queue is full. Always returns nil.

func (*QueueManager) NeedsThrottling

func (*QueueManager) NeedsThrottling() bool

NeedsThrottling implements storage.SampleAppender. It will always return false as a remote storage drops samples on the floor if backlogging instead of asking for throttling.

func (*QueueManager) Start

func (t *QueueManager) Start()

Start the queue manager sending samples to the remote storage. Does not block.

func (*QueueManager) Stop

func (t *QueueManager) Stop()

Stop stops sending samples to the remote storage and waits for pending sends to complete.

type ReadRequest

type ReadRequest struct {
	Queries []*Query `protobuf:"bytes,1,rep,name=queries" json:"queries,omitempty"`
}

func DecodeReadRequest

func DecodeReadRequest(r *http.Request) (*ReadRequest, error)

DecodeReadRequest reads a remote.Request from a http.Request.

func (*ReadRequest) Descriptor

func (*ReadRequest) Descriptor() ([]byte, []int)

func (*ReadRequest) GetQueries

func (m *ReadRequest) GetQueries() []*Query

func (*ReadRequest) ProtoMessage

func (*ReadRequest) ProtoMessage()

func (*ReadRequest) Reset

func (m *ReadRequest) Reset()

func (*ReadRequest) String

func (m *ReadRequest) String() string

type ReadResponse

type ReadResponse struct {
	// In same order as the request's queries.
	Results []*QueryResult `protobuf:"bytes,1,rep,name=results" json:"results,omitempty"`
}

func (*ReadResponse) Descriptor

func (*ReadResponse) Descriptor() ([]byte, []int)

func (*ReadResponse) GetResults

func (m *ReadResponse) GetResults() []*QueryResult

func (*ReadResponse) ProtoMessage

func (*ReadResponse) ProtoMessage()

func (*ReadResponse) Reset

func (m *ReadResponse) Reset()

func (*ReadResponse) String

func (m *ReadResponse) String() string

type Reader

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

Reader allows reading from multiple remote sources.

func (*Reader) ApplyConfig

func (r *Reader) ApplyConfig(conf *config.Config) error

ApplyConfig updates the state as the new config requires.

func (*Reader) Queriers

func (r *Reader) Queriers() []local.Querier

Queriers returns a list of Queriers for the currently configured remote read endpoints.

type Sample

type Sample struct {
	Value       float64 `protobuf:"fixed64,1,opt,name=value" json:"value,omitempty"`
	TimestampMs int64   `protobuf:"varint,2,opt,name=timestamp_ms,json=timestampMs" json:"timestamp_ms,omitempty"`
}

func (*Sample) Descriptor

func (*Sample) Descriptor() ([]byte, []int)

func (*Sample) GetTimestampMs

func (m *Sample) GetTimestampMs() int64

func (*Sample) GetValue

func (m *Sample) GetValue() float64

func (*Sample) ProtoMessage

func (*Sample) ProtoMessage()

func (*Sample) Reset

func (m *Sample) Reset()

func (*Sample) String

func (m *Sample) String() string

type StorageClient

type StorageClient interface {
	// Store stores the given samples in the remote storage.
	Store(model.Samples) error
	// Name identifies the remote storage implementation.
	Name() string
}

StorageClient defines an interface for sending a batch of samples to an external timeseries database.

type TimeSeries

type TimeSeries struct {
	Labels []*LabelPair `protobuf:"bytes,1,rep,name=labels" json:"labels,omitempty"`
	// Sorted by time, oldest sample first.
	Samples []*Sample `protobuf:"bytes,2,rep,name=samples" json:"samples,omitempty"`
}

func (*TimeSeries) Descriptor

func (*TimeSeries) Descriptor() ([]byte, []int)

func (*TimeSeries) GetLabels

func (m *TimeSeries) GetLabels() []*LabelPair

func (*TimeSeries) GetSamples

func (m *TimeSeries) GetSamples() []*Sample

func (*TimeSeries) ProtoMessage

func (*TimeSeries) ProtoMessage()

func (*TimeSeries) Reset

func (m *TimeSeries) Reset()

func (*TimeSeries) String

func (m *TimeSeries) String() string

type WriteRequest

type WriteRequest struct {
	Timeseries []*TimeSeries `protobuf:"bytes,1,rep,name=timeseries" json:"timeseries,omitempty"`
}

func ToWriteRequest

func ToWriteRequest(samples []*model.Sample) *WriteRequest

ToWriteRequest converts an array of samples into a WriteRequest proto.

func (*WriteRequest) Descriptor

func (*WriteRequest) Descriptor() ([]byte, []int)

func (*WriteRequest) GetTimeseries

func (m *WriteRequest) GetTimeseries() []*TimeSeries

func (*WriteRequest) ProtoMessage

func (*WriteRequest) ProtoMessage()

func (*WriteRequest) Reset

func (m *WriteRequest) Reset()

func (*WriteRequest) String

func (m *WriteRequest) String() string

type Writer

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

Writer allows queueing samples for remote writes.

func (*Writer) Append

func (w *Writer) Append(smpl *model.Sample) error

Append implements storage.SampleAppender. Always returns nil.

func (*Writer) ApplyConfig

func (w *Writer) ApplyConfig(conf *config.Config) error

ApplyConfig updates the state as the new config requires.

func (*Writer) NeedsThrottling

func (w *Writer) NeedsThrottling() bool

NeedsThrottling implements storage.SampleAppender. It will always return false as a remote storage drops samples on the floor if backlogging instead of asking for throttling.

func (*Writer) Stop

func (w *Writer) Stop()

Stop the background processing of the storage queues.

Jump to

Keyboard shortcuts

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