v2

package
v3.3.2 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2024 License: AGPL-3.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EncodingJSON     = "json"
	EncodingProtobuf = "protobuf"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	SchedulerAddress        string            `yaml:"scheduler_address"`
	DNSLookupPeriod         time.Duration     `yaml:"scheduler_dns_lookup_period"`
	WorkerConcurrency       int               `yaml:"scheduler_worker_concurrency"`
	GRPCClientConfig        grpcclient.Config `yaml:"grpc_client_config"`
	GracefulShutdownTimeout time.Duration     `yaml:"graceful_shutdown_timeout"`

	// Used to find local IP address, that is sent to scheduler and querier-worker.
	InfNames []string `yaml:"instance_interface_names" doc:"default=[<private network interfaces>]"`

	// If set, address is not computed from interfaces.
	Addr string `yaml:"address" doc:"hidden"`
	Port int    `doc:"hidden"`

	// Defines the encoding for requests to and responses from the scheduler and querier.
	Encoding string `yaml:"encoding"`
}

Config for a Frontend.

func (*Config) RegisterFlags

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

type Frontend

type Frontend struct {
	services.Service
	// contains filtered or unexported fields
}

Frontend implements GrpcRoundTripper. It queues HTTP requests, dispatches them to backends via gRPC, and handles retries for requests which failed.

func NewFrontend

func NewFrontend(cfg Config, ring ring.ReadRing, log log.Logger, reg prometheus.Registerer, codec transport.Codec, metricsNamespace string) (*Frontend, error)

NewFrontend creates a new frontend.

func (*Frontend) CheckReady

func (f *Frontend) CheckReady(_ context.Context) error

CheckReady determines if the query frontend is ready. Function parameters/return chosen to match the same method in the ingester

func (*Frontend) Do

Do implements queryrangebase.Handler analogous to RoundTripGRPC.

func (*Frontend) IsJSONEncoded added in v3.1.0

func (f *Frontend) IsJSONEncoded() bool

func (*Frontend) IsProtobufEncoded added in v3.1.0

func (f *Frontend) IsProtobufEncoded() bool

func (*Frontend) RoundTripGRPC

func (f *Frontend) RoundTripGRPC(ctx context.Context, req *httpgrpc.HTTPRequest) (*httpgrpc.HTTPResponse, error)

RoundTripGRPC round trips a proto (instead of a HTTP request).

type ResponseTuple

type ResponseTuple = struct {
	*frontendv2pb.QueryResultRequest
	// contains filtered or unexported fields
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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