Documentation ¶
Index ¶
- Constants
- func SafeReadRing(cfg Config, rm *lokiring.RingManager) ring.ReadRing
- type Config
- type Limits
- type Scheduler
- func (s *Scheduler) FrontendLoop(frontend schedulerpb.SchedulerForFrontend_FrontendLoopServer) error
- func (s *Scheduler) NotifyQuerierShutdown(_ context.Context, req *schedulerpb.NotifyQuerierShutdownRequest) (*schedulerpb.NotifyQuerierShutdownResponse, error)
- func (s *Scheduler) QuerierLoop(querier schedulerpb.SchedulerForQuerier_QuerierLoopServer) error
Constants ¶
View Source
const ( // NumTokens is 1 since we only need to insert 1 token to be used for leader election purposes. NumTokens = 1 // ReplicationFactor should be 2 because we want 2 schedulers. ReplicationFactor = 2 )
Variables ¶
This section is empty.
Functions ¶
func SafeReadRing ¶
func SafeReadRing(cfg Config, rm *lokiring.RingManager) ring.ReadRing
SafeReadRing does a nil check on the Scheduler before attempting to return it's ring this is necessary as many callers of this function will only have a valid Scheduler reference if the QueryScheduler target has been specified, which is not guaranteed
Types ¶
type Config ¶
type Config struct { MaxOutstandingPerTenant int `yaml:"max_outstanding_requests_per_tenant"` MaxQueueHierarchyLevels int `yaml:"max_queue_hierarchy_levels"` QuerierForgetDelay time.Duration `yaml:"querier_forget_delay"` GRPCClientConfig grpcclient.Config `yaml:"grpc_client_config" doc:"description=This configures the gRPC client used to report errors back to the query-frontend."` // Schedulers ring UseSchedulerRing bool `yaml:"use_scheduler_ring"` SchedulerRing lokiring.RingConfig `` /* 138-byte string literal not displayed */ }
func (*Config) RegisterFlags ¶
type Scheduler ¶
Scheduler is responsible for queueing and dispatching queries to Queriers.
func NewScheduler ¶
func NewScheduler(cfg Config, schedulerLimits Limits, log log.Logger, ringManager *lokiring.RingManager, registerer prometheus.Registerer, metricsNamespace string) (*Scheduler, error)
NewScheduler creates a new Scheduler.
func (*Scheduler) FrontendLoop ¶
func (s *Scheduler) FrontendLoop(frontend schedulerpb.SchedulerForFrontend_FrontendLoopServer) error
FrontendLoop handles connection from frontend.
func (*Scheduler) NotifyQuerierShutdown ¶
func (s *Scheduler) NotifyQuerierShutdown(_ context.Context, req *schedulerpb.NotifyQuerierShutdownRequest) (*schedulerpb.NotifyQuerierShutdownResponse, error)
func (*Scheduler) QuerierLoop ¶
func (s *Scheduler) QuerierLoop(querier schedulerpb.SchedulerForQuerier_QuerierLoopServer) error
QuerierLoop is started by querier to receive queries from scheduler.
Click to show internal directories.
Click to hide internal directories.