distributor

package
v0.0.0-...-54ca42f Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2017 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParseProtoRequest

func ParseProtoRequest(ctx context.Context, w http.ResponseWriter, r *http.Request, req proto.Message, compressed bool) error

ParseProtoRequest parses a proto from the body of a http request.

func WriteJSONResponse

func WriteJSONResponse(w http.ResponseWriter, v interface{})

WriteJSONResponse writes some JSON as a HTTP response.

Types

type Config

type Config struct {
	ReplicationFactor   int
	HeartbeatTimeout    time.Duration
	RemoteTimeout       time.Duration
	ClientCleanupPeriod time.Duration
	IngestionRateLimit  float64
	IngestionBurstSize  int
	// contains filtered or unexported fields
}

Config contains the configuration require to create a Distributor

func (*Config) RegisterFlags

func (cfg *Config) RegisterFlags(f *flag.FlagSet)

RegisterFlags adds the flags required to config this to the given FlagSet

type Distributor

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

Distributor is a storage.SampleAppender and a cortex.Querier which forwards appends and queries to individual ingesters.

func New

func New(cfg Config, ring ReadRing) (*Distributor, error)

New constructs a new Distributor

func (*Distributor) Collect

func (d *Distributor) Collect(ch chan<- prometheus.Metric)

Collect implements prometheus.Collector.

func (*Distributor) Describe

func (d *Distributor) Describe(ch chan<- *prometheus.Desc)

Describe implements prometheus.Collector.

func (*Distributor) LabelValuesForLabelName

func (d *Distributor) LabelValuesForLabelName(ctx context.Context, labelName model.LabelName) (model.LabelValues, error)

LabelValuesForLabelName returns all of the label values that are associated with a given label name.

func (*Distributor) MetricsForLabelMatchers

func (d *Distributor) MetricsForLabelMatchers(ctx context.Context, from, through model.Time, matchers ...metric.LabelMatchers) ([]metric.Metric, error)

MetricsForLabelMatchers gets the metrics that match said matchers

func (*Distributor) Push

Push implements cortex.IngesterServer

func (*Distributor) PushHandler

func (d *Distributor) PushHandler(w http.ResponseWriter, r *http.Request)

PushHandler is a http.Handler which accepts WriteRequests.

func (*Distributor) Query

func (d *Distributor) Query(ctx context.Context, from, to model.Time, matchers ...*metric.LabelMatcher) (model.Matrix, error)

Query implements Querier.

func (*Distributor) Run

func (d *Distributor) Run()

Run starts the distributor's maintenance loop.

func (*Distributor) Stop

func (d *Distributor) Stop()

Stop stops the distributor's maintenance loop.

func (*Distributor) UserStats

func (d *Distributor) UserStats(ctx context.Context) (*UserStats, error)

UserStats returns statistics about the current user.

func (*Distributor) UserStatsHandler

func (d *Distributor) UserStatsHandler(w http.ResponseWriter, r *http.Request)

UserStatsHandler handles user stats to the Distributor.

func (*Distributor) ValidateExprHandler

func (d *Distributor) ValidateExprHandler(w http.ResponseWriter, r *http.Request)

ValidateExprHandler validates a PromQL expression.

type ReadRing

type ReadRing interface {
	prometheus.Collector

	Get(key uint32, n int, op ring.Operation) ([]*ring.IngesterDesc, error)
	BatchGet(keys []uint32, n int, op ring.Operation) ([][]*ring.IngesterDesc, error)
	GetAll() []*ring.IngesterDesc
}

ReadRing represents the read inferface to the ring.

type UserStats

type UserStats struct {
	IngestionRate float64 `json:"ingestionRate"`
	NumSeries     uint64  `json:"numSeries"`
}

UserStats models ingestion statistics for one user.

Jump to

Keyboard shortcuts

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