Package com.wavefront.agent.data
Interface EntityProperties
-
public interface EntityProperties
Unified interface for dynamic entity-specific dynamic properties, that may change at runtime- Author:
- [email protected]
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_BATCH_SIZE
static int
DEFAULT_BATCH_SIZE_EVENTS
static int
DEFAULT_BATCH_SIZE_HISTOGRAMS
static int
DEFAULT_BATCH_SIZE_SOURCE_TAGS
static int
DEFAULT_BATCH_SIZE_SPAN_LOGS
static int
DEFAULT_BATCH_SIZE_SPANS
static int
DEFAULT_FLUSH_INTERVAL
static int
DEFAULT_FLUSH_THREADS_EVENTS
static int
DEFAULT_FLUSH_THREADS_SOURCE_TAGS
static int
DEFAULT_MAX_BURST_SECONDS
static int
DEFAULT_MIN_SPLIT_BATCH_SIZE
static double
DEFAULT_RETRY_BACKOFF_BASE_SECONDS
static boolean
DEFAULT_SPLIT_PUSH_WHEN_RATE_LIMITED
static int
NO_RATE_LIMIT
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
getFlushThreads()
Get the number of worker threads.int
getItemsPerBatch()
Get the maximum allowed number of items per single flush.int
getItemsPerBatchOriginal()
Get initially configured batch size.int
getMemoryBufferLimit()
Max number of items that can stay in memory buffers before spooling to disk.int
getMinBatchSplitSize()
Do not split the batch if its size is less than this value.int
getPushFlushInterval()
Get interval between batches (in milliseconds)double
getRateLimit()
Get initially configured rate limit (per second).com.google.common.util.concurrent.RecyclableRateLimiter
getRateLimiter()
Get specificRecyclableRateLimiter
instance.int
getRateLimitMaxBurstSeconds()
Get max number of burst seconds to allow when rate limiting to smooth out uneven traffic.TaskQueueLevel
getTaskQueueLevel()
Get current queueing behavior - defines conditions that trigger queueing.int
getTotalBacklogSize()
Get aggregated backlog size across all ports for this entity type.long
getTotalReceivedRate()
Get aggregated received rate across all ports for this entity type.boolean
isFeatureDisabled()
Checks whether data flow for this entity type is disabled.boolean
isSplitPushWhenRateLimited()
Whether we should split batches into smaller ones after getting HTTP 406 response from server.void
reportBacklogSize(String handle, int backlogSize)
Updates backlog size for specific port.void
reportReceivedRate(String handle, long receivedRate)
Updates received rate for specific port.void
setFeatureDisabled(boolean featureDisabled)
Sets the flag value for "feature disabled" flag.void
setItemsPerBatch(Integer itemsPerBatch)
Sets the maximum allowed number of items per single flush.
-
-
-
Field Detail
-
NO_RATE_LIMIT
static final int NO_RATE_LIMIT
- See Also:
- Constant Field Values
-
DEFAULT_SPLIT_PUSH_WHEN_RATE_LIMITED
static final boolean DEFAULT_SPLIT_PUSH_WHEN_RATE_LIMITED
- See Also:
- Constant Field Values
-
DEFAULT_RETRY_BACKOFF_BASE_SECONDS
static final double DEFAULT_RETRY_BACKOFF_BASE_SECONDS
- See Also:
- Constant Field Values
-
DEFAULT_FLUSH_INTERVAL
static final int DEFAULT_FLUSH_INTERVAL
- See Also:
- Constant Field Values
-
DEFAULT_MAX_BURST_SECONDS
static final int DEFAULT_MAX_BURST_SECONDS
- See Also:
- Constant Field Values
-
DEFAULT_BATCH_SIZE
static final int DEFAULT_BATCH_SIZE
- See Also:
- Constant Field Values
-
DEFAULT_BATCH_SIZE_HISTOGRAMS
static final int DEFAULT_BATCH_SIZE_HISTOGRAMS
- See Also:
- Constant Field Values
-
DEFAULT_BATCH_SIZE_SOURCE_TAGS
static final int DEFAULT_BATCH_SIZE_SOURCE_TAGS
- See Also:
- Constant Field Values
-
DEFAULT_BATCH_SIZE_SPANS
static final int DEFAULT_BATCH_SIZE_SPANS
- See Also:
- Constant Field Values
-
DEFAULT_BATCH_SIZE_SPAN_LOGS
static final int DEFAULT_BATCH_SIZE_SPAN_LOGS
- See Also:
- Constant Field Values
-
DEFAULT_BATCH_SIZE_EVENTS
static final int DEFAULT_BATCH_SIZE_EVENTS
- See Also:
- Constant Field Values
-
DEFAULT_MIN_SPLIT_BATCH_SIZE
static final int DEFAULT_MIN_SPLIT_BATCH_SIZE
- See Also:
- Constant Field Values
-
DEFAULT_FLUSH_THREADS_SOURCE_TAGS
static final int DEFAULT_FLUSH_THREADS_SOURCE_TAGS
- See Also:
- Constant Field Values
-
DEFAULT_FLUSH_THREADS_EVENTS
static final int DEFAULT_FLUSH_THREADS_EVENTS
- See Also:
- Constant Field Values
-
-
Method Detail
-
getItemsPerBatchOriginal
int getItemsPerBatchOriginal()
Get initially configured batch size.- Returns:
- batch size
-
isSplitPushWhenRateLimited
boolean isSplitPushWhenRateLimited()
Whether we should split batches into smaller ones after getting HTTP 406 response from server.- Returns:
- true if we should split on pushback
-
getRateLimit
double getRateLimit()
Get initially configured rate limit (per second).- Returns:
- rate limit
-
getRateLimitMaxBurstSeconds
int getRateLimitMaxBurstSeconds()
Get max number of burst seconds to allow when rate limiting to smooth out uneven traffic.- Returns:
- number of seconds
-
getRateLimiter
com.google.common.util.concurrent.RecyclableRateLimiter getRateLimiter()
Get specificRecyclableRateLimiter
instance.- Returns:
- rate limiter
-
getFlushThreads
int getFlushThreads()
Get the number of worker threads.- Returns:
- number of threads
-
getPushFlushInterval
int getPushFlushInterval()
Get interval between batches (in milliseconds)- Returns:
- interval between batches
-
getItemsPerBatch
int getItemsPerBatch()
Get the maximum allowed number of items per single flush.- Returns:
- batch size
-
setItemsPerBatch
void setItemsPerBatch(@Nullable Integer itemsPerBatch)
Sets the maximum allowed number of items per single flush.- Parameters:
itemsPerBatch
- batch size. if null is provided, reverts to originally configured value.
-
getMinBatchSplitSize
int getMinBatchSplitSize()
Do not split the batch if its size is less than this value. Only applicable whenisSplitPushWhenRateLimited()
is true.- Returns:
- smallest allowed batch size
-
getMemoryBufferLimit
int getMemoryBufferLimit()
Max number of items that can stay in memory buffers before spooling to disk. Defaults to 16 *getItemsPerBatch()
, minimum size:getItemsPerBatch()
. Setting this value lower than default reduces memory usage, but will force the proxy to spool to disk more frequently if you have points arriving at the proxy in short bursts, and/or your network latency is on the higher side.- Returns:
- memory buffer limit
-
getTaskQueueLevel
TaskQueueLevel getTaskQueueLevel()
Get current queueing behavior - defines conditions that trigger queueing.- Returns:
- queueing behavior level
-
isFeatureDisabled
boolean isFeatureDisabled()
Checks whether data flow for this entity type is disabled.- Returns:
- true if data flow is disabled
-
setFeatureDisabled
void setFeatureDisabled(boolean featureDisabled)
Sets the flag value for "feature disabled" flag.- Parameters:
featureDisabled
- if "true", data flow for this entity type is disabled.
-
getTotalBacklogSize
int getTotalBacklogSize()
Get aggregated backlog size across all ports for this entity type.- Returns:
- backlog size
-
reportBacklogSize
void reportBacklogSize(String handle, int backlogSize)
Updates backlog size for specific port.
-
getTotalReceivedRate
long getTotalReceivedRate()
Get aggregated received rate across all ports for this entity type.- Returns:
- received rate
-
reportReceivedRate
void reportReceivedRate(String handle, long receivedRate)
Updates received rate for specific port.
-
-