|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.neeve.server.config.SrvConfigDescriptor.Heartbeats
public static final class SrvConfigDescriptor.Heartbeats
Configures stats collection and heartbeats for the server.
Method Summary | |
---|---|
long |
getInterval()
The interval (in seconds) at which heartbeats are collected. |
Properties |
getLogging()
Configures heartbeat logging for a server. |
int |
getMaxTrackableSeriesValue()
The maximum value that a series stats histogram can record. |
float |
getPoolDepletionThreshold()
The percentage decrement at which a preallocated pool triggers inclusion of pool stats in a hearbeat. |
SrvConfigDescriptor.HeartbeatTracing |
getTracing()
/** Configures heartbeat tracing for a server. |
boolean |
isCollectIndividualThreadStats()
Configures whether thread stats are collected and reported in heartbeats. |
boolean |
isCollectNonZGStats()
Returns whether or not stats that produce garbage as a result of being collected are enabled. |
boolean |
isCollectPoolStats()
Configures whether pool stats are collected and reported in heartbeats. |
boolean |
isCollectSeriesDatapoints()
Configures whether series stats datapoints are included in heartbeats. |
boolean |
isCollectSeriesStats()
Configures whether series stats are collected in heartbeats. |
boolean |
isEnabled()
Configures whether server heartbeats are enabled. |
boolean |
isIncludeMessageTypeStats()
Returns whether or not message type stats are included in heartbeats (when enabled for the app). |
void |
load(Properties props,
boolean shortForm)
Loads the heartbeat config from the provided properties and removes the loaded values |
void |
save(Properties props,
boolean shortForm)
Saves the heartbeat config into an config repo property set. |
void |
setCollectIndividualThreadStats(boolean collectIndividualThreadStats)
Configures whether thread stats are collected and reported in heartbeats. |
void |
setCollectNonZGStats(boolean collectNonZGStats)
Sets whether or not stats that produce garbage as a result of being collected are enabled. |
void |
setCollectPoolStats(boolean collectPoolStats)
Configures whether pool stats are collected and reported in heartbeats. |
void |
setCollectSeriesDatapoints(boolean collectSeriesDatapoints)
Configures whether series stats datapoints are included in heartbeats. |
void |
setCollectSeriesStats(boolean collectSeriesStats)
Configures whether series stats are collected in heartbeats. |
void |
setEnabled(boolean enabled)
Configures whether server heartbeats are enabled. |
void |
setIncludeMessageTypeStats(boolean includeMessageTypeStats)
Sets whether or not message type stats are included in heartbeats (when enabled for the app). |
void |
setInterval(long interval)
Sets the interval (in seconds) at which hearbeats are collected. |
void |
setMaxTrackableSeriesValue(int maxTrackableSeriesValue)
The maximum value that a series stats histogram can record. |
void |
setPoolDepletionThreshold(float poolDepletionThreshold)
The percentage decrement at which a preallocated pool triggers inclusion of pool stats in a hearbeat. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public final boolean isEnabled()
public final void setEnabled(boolean enabled)
enabled
- whether server heartbeats are enabled.public final void setInterval(long interval)
interval
- The heartbeat collection interval.public final long getInterval()
public final boolean isCollectSeriesStats()
Latencies statistics and other series type statistics are more cpu and bandwidth intensive to collect and emit. This property can be set to false to disable their collection.
public final void setCollectSeriesStats(boolean collectSeriesStats)
collectSeriesStats
- whether series stats are collected in heartbeats.isCollectSeriesStats()
public final boolean isCollectSeriesDatapoints()
Series statistics such as latencie statistics are reported as histogram when series stats collection is enabled. Enabling this property also includes the collected datapoints.
Enabling this property can be extremely bandwidth intensive and is not typically recommended.
public final void setCollectSeriesDatapoints(boolean collectSeriesDatapoints)
collectSeriesDatapoints
- whether series stats datapoints are included in heartbeats.isCollectSeriesDatapoints()
public final int getMaxTrackableSeriesValue()
Series data is reported using an HDR Histogram which imposes an upper limit on the maximum 'bucket' value that will be recorded.
When this property is not specified the value is set high enough that a 10 minute latency can be recorded in microseconds.
Note that the actual maximum will still be reported in stats although the histograms highes percentile may not reflect the max if it exceed this value.
public final void setMaxTrackableSeriesValue(int maxTrackableSeriesValue)
maxTrackableSeriesValue
- the maximum value that the histogram can record.getMaxTrackableSeriesValue()
public final float getPoolDepletionThreshold()
Normal pool stats are only included in a heartbeat if there were pool misses in the interval. For preallocated pools, however, misses are not expected until the preallocated items are exhausted. For such pools it is generally of interested from a monitoring perspective to observer the rate of depletion of such items.
If a pool is preallocated with 1000 items and this property is set to 10, pool stats will be emitted for the pool when its size drops below 900, 800, 700, until its size reaches 0 (at which point subsequent misses would cause it to be included on every heartbeat).
Setting this to a value greater than 100 or less than or equal to 0 disables depletion threshold reporting.
public final void setPoolDepletionThreshold(float poolDepletionThreshold)
poolDepletionThreshold
- The percentage threshold.getPoolDepletionThreshold()
public final boolean isCollectPoolStats()
When pool stats are enabled pool stats are included for pools that experienced a pool miss in the collection interval, or preallocated pool items falls below a poolDepletionThreshold
public final void setCollectPoolStats(boolean collectPoolStats)
collectPoolStats
- whether pool stats are collected and reported in heartbeats.isCollectPoolStats()
public final boolean isCollectIndividualThreadStats()
When thread stats are enabled thread stats for each active thread in the system are reported in heartbeats.
public final void setCollectIndividualThreadStats(boolean collectIndividualThreadStats)
collectIndividualThreadStats
- whether thread stats are collected and reported in heartbeats.isCollectIndividualThreadStats()
public boolean isCollectNonZGStats()
setCollectNonZGStats(boolean)
public void setCollectNonZGStats(boolean collectNonZGStats)
Some stats involve using reflection or 3rd party apis that create garbage. This property can be set to false to suppress collection of those stats. Currently the list of stats that may produce garbage include:
collectNonZGStats
- whether or not to enabled non zg stats collectionpublic boolean isIncludeMessageTypeStats()
setIncludeMessageTypeStats(boolean)
public void setIncludeMessageTypeStats(boolean includeMessageTypeStats)
When captureMessageTypeStats is enabled for an app, the AepEngine will record select statistics on a per message type basis. Because inclusion of per message type stats can significantly increase the size of heartbeats, inclusion in heartbeats is disabled by default.
Note: For message type stats to be included in heartbeats, both captureMessageTypeStats for the app must be set to true (capture is disabled by default because recording them is costly), and includeMessageTypeStats must be set to true (inclusion is disabled by default because emitting them is costly).
includeMessageTypeStats
- Whether or not to include message type stats (if available).public SrvConfigDescriptor.HeartbeatTracing getTracing()
public Properties getLogging()
public void save(Properties props, boolean shortForm)
props
- the props into which to save.shortForm
- If props should not include the 'nv.server.' prefix.public void load(Properties props, boolean shortForm)
props
- The properties from which to load.shortForm
- If props should not include the 'nv.server.' prefix.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |