public class ThrottleStateUpdaterThread extends Periodical
It only includes the necessary information to make a decision about whether to throttle parts of the system, but does not send "throttle" commands. This allows for a flexible approach in picking a throttling strategy.
The implementation expects to be called once per second to have a rough estimate about the events per second, over the last second.
Constructor and Description |
---|
ThrottleStateUpdaterThread(Journal journal,
ProcessBuffer processBuffer,
com.google.common.eventbus.EventBus eventBus,
NotificationService notificationService,
ServerStatus serverStatus,
com.codahale.metrics.MetricRegistry metricRegistry,
com.github.joschi.jadconfig.util.Size retentionSize) |
Modifier and Type | Method and Description |
---|---|
void |
doRun() |
int |
getInitialDelaySeconds() |
protected org.slf4j.Logger |
getLogger() |
int |
getPeriodSeconds() |
boolean |
isDaemon()
Should this periodical be run as a daemon thread?
|
boolean |
masterOnly()
Only start this thread on master nodes?
|
boolean |
runsForever()
Defines if this thread should be called periodically or only once
on startup.
|
boolean |
startOnThisNode()
Start on this node? Useful to decide if to start the periodical based on local configuration.
|
boolean |
stopOnGracefulShutdown()
Should this thread be stopped when a graceful shutdown is in progress?
This means that stop() is called and that is no longer triggered periodically.
|
getParallelism, initialize, run
@Inject public ThrottleStateUpdaterThread(Journal journal, ProcessBuffer processBuffer, com.google.common.eventbus.EventBus eventBus, NotificationService notificationService, ServerStatus serverStatus, com.codahale.metrics.MetricRegistry metricRegistry, @Named(value="message_journal_max_size") com.github.joschi.jadconfig.util.Size retentionSize)
public boolean runsForever()
Periodical
runsForever
in class Periodical
public boolean stopOnGracefulShutdown()
Periodical
stopOnGracefulShutdown
in class Periodical
public boolean masterOnly()
Periodical
masterOnly
in class Periodical
public boolean startOnThisNode()
Periodical
startOnThisNode
in class Periodical
public boolean isDaemon()
Periodical
isDaemon
in class Periodical
public int getInitialDelaySeconds()
getInitialDelaySeconds
in class Periodical
public int getPeriodSeconds()
getPeriodSeconds
in class Periodical
protected org.slf4j.Logger getLogger()
getLogger
in class Periodical
public void doRun()
doRun
in class Periodical
Copyright © 2012–2021 Graylog, Inc.. All rights reserved.