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()
PeriodicalrunsForever in class Periodicalpublic boolean stopOnGracefulShutdown()
PeriodicalstopOnGracefulShutdown in class Periodicalpublic boolean masterOnly()
PeriodicalmasterOnly in class Periodicalpublic boolean startOnThisNode()
PeriodicalstartOnThisNode in class Periodicalpublic boolean isDaemon()
PeriodicalisDaemon in class Periodicalpublic int getInitialDelaySeconds()
getInitialDelaySeconds in class Periodicalpublic int getPeriodSeconds()
getPeriodSeconds in class Periodicalprotected org.slf4j.Logger getLogger()
getLogger in class Periodicalpublic void doRun()
doRun in class PeriodicalCopyright © 2012-2016 Graylog, Inc.. All Rights Reserved.