|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.neeve.util.UtlConstants
public class UtlConstants
Defines configuration properties and constants for the 'com.neeve.util' package.
This class IS supported for use by end users.
Field Summary | |
---|---|
static boolean |
BUFFERMANAGEMENT_USENATIVE_DEFAULT
Default value for BUFFERMANAGEMENT_USENATIVE_PROPNAME ("nv.buffermanagement.usenative"): true. |
static String |
BUFFERMANAGEMENT_USENATIVE_PROPNAME
Property that controls whether or not native buffer management is enabled. |
static boolean |
BUFFERMANAGEMENT_USEUNSAFE_DEFAULT
Default value for BUFFERMANAGEMENT_USEUNSAFE_PROPNAME ("nv.buffermanagement.useunsafe"): true. |
static String |
BUFFERMANAGEMENT_USEUNSAFE_PROPNAME
Property that controls whether or not Unsafe buffer management is enabled. |
static boolean |
ENV_DUMPONEARLYACCESS_DEFAULT
The default value for ENV_DUMPONEARLYACCESS_PROPNAME ("nv.env.dumponearlyaccess"): false |
static String |
ENV_DUMPONEARLYACCESS_PROPNAME
This property allows dumping a stack trace on access to the runtime environment before it has been initialized. |
static boolean |
ENV_DUMPONREINIT_DEFAULT
The default value for ENV_DUMPONREINIT_PROPNAME ("nv.env.dumponreinit"): false |
static String |
ENV_DUMPONREINIT_PROPNAME
This property allows dumping a stack trace when the runtime environment has been reinitialized. |
static boolean |
ENV_WARNONEARLYACCESS_DEFAULT
The default value for ENV_WARNONEARLYACCESS_PROPNAME ("nv.env.warnonearlyaccess"): false |
static String |
ENV_WARNONEARLYACCESS_PROPNAME
This property allows tracing of access to the runtime environment before it has been initialized. |
static boolean |
ENV_WARNONREINIT_DEFAULT
The default value for ENV_WARNONREINIT_PROPNAME ("nv.env.warnonreinit"): false |
static String |
ENV_WARNONREINIT_PROPNAME
This property allows tracing when the runtime environment has been reinitialized. |
static boolean |
FILE_USENATIVE_DEFAULT
The default value for FILE_USENATIVE_PROPNAME ("nv.file.usenative"): true. |
static String |
FILE_USENATIVE_PROPNAME
Property that controls whether file io uses X Platform native libraries (if available). |
static String |
NVROOT_DEFAULT
The default value for NVROOT_PROPNAME ("NVROOT"): null |
static String |
NVROOT_PROPNAME
This property controls the root location for the neeve runtime. |
static String |
POOL_DETACHEDWASH_CLAIMSTRATEGY_DEFAULT
The default value for POOL_DETACHEDWASH_CLAIMSTRATEGY_PROPNAME ("nv.pool.detachedwash.claimstrategy"): "MultiThreadedSufficientCores". |
static String |
POOL_DETACHEDWASH_CLAIMSTRATEGY_PROPNAME
Property that controls the claim strategy for the detached pool washer when enabled. |
static String |
POOL_DETACHEDWASH_CPUAFFINITIYMASK_DEFAULT
The default value for POOL_DETACHEDWASH_CPUAFFINITIYMASK_PROPNAME ("nv.pool.detachedwash.cpuaffinitymask"): "0". |
static String |
POOL_DETACHEDWASH_CPUAFFINITIYMASK_PROPNAME
Property that controls the cpu affinitiy mask of the detached pool washer when enabled. |
static boolean |
POOL_DETACHEDWASH_DEFAULT
The default value for POOL_DETACHEDWASH_PROPNAME ("nv.pool.detachedwash"): false. |
static String |
POOL_DETACHEDWASH_PROPNAME
Property that controls whether objects returned to a pool a washed in a detached thread. |
static int |
POOL_DETACHEDWASH_QUEUEDEPTH_DEFAULT
The default value for POOL_DETACHEDWASH_QUEUEDEPTH_PROPNAME ("nv.pool.detachedwash.queueDepth"): 1024. |
static String |
POOL_DETACHEDWASH_QUEUEDEPTH_PROPNAME
Property that controls the queue depth of the detached pool washer when enabled. |
static String |
POOL_DETACHEDWASH_WAITSTRATEGY_DEFAULT
The default value for POOL_DETACHEDWASH_WAITSTRATEGY_PROPNAME ("nv.pool.detachedwash.waitstrategy"): "Blocking". |
static String |
POOL_DETACHEDWASH_WAITSTRATEGY_PROPNAME
Property that controls the wait strategy for the detached pool washer thread when enabled. |
static String |
POOL_ENABLELOCKFREECONCURRENCY_PROPNAME
|
static boolean |
POOL_LEAKTRACKING_ENABLED_DEFAULT
The default value for POOL_LEAKTRACKING_ENABLED_PROPNAME ("nv.pool.leaktracking.enabled"): false. |
static String |
POOL_LEAKTRACKING_ENABLED_PROPNAME
Property that controls whether pool leak tracking is enabled. |
static String |
POOL_LEAKTRACKING_ENABLED_TYPES_DEFAULT
The default value for POOL_LEAKTRACKING_ENABLED_PROPNAME ("nv.pool.leaktracking.enabled"): false (none). |
static String |
POOL_LEAKTRACKING_ENABLED_TYPES_PROPNAME
Property that can be used to selective enable pool leak tracking for specific types. |
static int |
POOL_LEAKTRACKING_HISTORYSIZE_DEFAULT
The default value for POOL_LEAKTRACKING_HISTORYSIZE_PROPNAME ("nv.pool.leaktracking.historySize"): 100. |
static String |
POOL_LEAKTRACKING_HISTORYSIZE_PROPNAME
Property that controls the number of pool misses that are retained for diagnosing pool leaks. |
static int |
POOL_LEAKTRACKING_TRIGGER_THRESHOLD_DEFAULT
The default value for POOL_LEAKTRACKING_HISTORYSIZE_PROPNAME ("nv.pool.leaktracking.triggerThreshold"): 100000. |
static String |
POOL_LEAKTRACKING_TRIGGER_THRESHOLD_PROPNAME
Property that controls the trigger threshold on which to dump pool leaks. |
static boolean |
POOL_OVERRIDE_PARAMS_FROM_ENV_DEFAULT
The default value for POOL_OVERRIDE_PARAMS_FROM_ENV_PROPNAME ("nv.pool.overrideparamsfromenv"): false. |
static String |
POOL_OVERRIDE_PARAMS_FROM_ENV_PROPNAME
Property that controls whether pool parameters can be overridden from the environment. |
static boolean |
POOL_SHOULD_POOL_DEFAULT
The default value for POOL_SHOULD_POOL_PROPNAME ("nv.pool.shouldpool"): true. |
static String |
POOL_SHOULD_POOL_PROPNAME
Property that controls whether pool is enabled. |
static boolean |
POOL_SOURCE_PARAMS_FROM_ENV_DEFAULT
The default value for POOL_SOURCE_PARAMS_FROM_ENV_PROPNAME ("nv.pool.sourceparamsfromenv"): true. |
static String |
POOL_SOURCE_PARAMS_FROM_ENV_PROPNAME
Property that controls whether pool parameters can be sourced from the environment. |
static boolean |
REFTRACKING_ENABLED_DEFAULT
The default value for REFTRACKING_ENABLED_PROPNAME ("nv.reftracking.enabled"): false. |
static String |
REFTRACKING_ENABLED_PROPNAME
Globally enables reference tracking for pooled objects. |
static int |
REFTRACKING_HISTORYSIZE_DEFAULT
The default value for REFTRACKING_HISTORYSIZE_PROPNAME ("nv.reftracking.historysize"): 5 (none). |
static String |
REFTRACKING_HISTORYSIZE_PROPNAME
Property that controls the history size to maintain for reference tracked pool items. |
static String |
REFTRACKING_TYPES_DEFAULT
The default value for REFTRACKING_TYPES_PROPNAME ("nv.reftracking.types"): null (none). |
static String |
REFTRACKING_TYPES_PROPNAME
Enables reference tracking for specific types of pooled elements Enabling reference tracking captures and stores stack traces on acquire and dispose of pooled objects. |
static String |
THREAD_DEFAULTCPUAFFINITYMASK_DEFAULT
The default value for THREAD_DEFAULTCPUAFFINITYMASK_PROPNAME ("nv.defaultcpuaffinitymask"): "0". |
static String |
THREAD_DEFAULTCPUAFFINITYMASK_PROPNAME
Property that controls the default affinity mask set by UtlThread.setDefaultCPUAffinityMask() . |
static boolean |
THREAD_ENABLECPUAFFINITYMASKS_DEFAULT
The default value for THREAD_ENABLECPUAFFINITYMASKS_PROPNAME ("nv.enablecpuaffinitymasks"): false. |
static String |
THREAD_ENABLECPUAFFINITYMASKS_PROPNAME
Property that controls whether or not thread cpu affinitization is enabled. |
static String |
THREAD_WAIT_STATS_ENABLE
Property that controls whether or not thread spin loop stats are enabled. |
static boolean |
THREAD_WAIT_STATS_ENABLE_DEFAULT
The default value for THREAD_WAIT_STATS_ENABLE ("nv.threadwaitstatsenabled"): true. |
static String |
TIME_FORMAT_DEFAULT
The default value for TIME_FORMAT_PROPNAME ("nv.time.format"): "yyyyMMdd-HH:mm:ss.SSS". |
static String |
TIME_FORMAT_PROPNAME
Property that controls default format for timestamps. |
static String |
TIME_TIMEZONEFORMAT_DEFAULT
The default value for TIME_TIMEZONEFORMAT_PROPNAME ("nv.time.timezoneformat"): "GMT". |
static String |
TIME_TIMEZONEFORMAT_PROPNAME
Property that controls default timezone used for formatting timestamps. |
static boolean |
TIME_USEEPOCHOFFSET_DEFAULT
The default value for TIME_USEEPOCHOFFSET_PROPNAME ("nv.time.useepochoffset"): true. |
static String |
TIME_USEEPOCHOFFSET_PROPNAME
Property that controls whether UtlTime.now() values are relative to the number of microseconds since the epoch. |
static boolean |
TIME_USENATIVE_DEFAULT
The default value for TIME_USENATIVE_PROPNAME ("nv.time.usenative"): false. |
static String |
TIME_USENATIVE_PROPNAME
Property that controls whether #now() uses X Platform native libraries. |
Constructor Summary | |
---|---|
UtlConstants()
|
Method Summary |
---|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String ENV_WARNONEARLYACCESS_PROPNAME
When set to true a warning message will be traced to System.err to flag possible premature access to the environment. This is useful in cases where a component is created and sources configuration before the environment has been fully initialized
This property must be set as a system property on the jvm command line
Property Name: "nv.env.warnonearlyaccess"
Default value: false
UtlEnv
,
UtlEnv.initialize(java.util.Properties)
,
Constant Field Valuespublic static final boolean ENV_WARNONEARLYACCESS_DEFAULT
ENV_WARNONEARLYACCESS_PROPNAME
("nv.env.warnonearlyaccess"): false
public static final String ENV_DUMPONEARLYACCESS_PROPNAME
When set to true a stack dump will be traced to System.err to flag possible premature access to the environment.
This property must be set as a system property on the jvm command line
Property Name: "nv.env.dumponearlyaccess"
Default value: false
UtlEnv
,
UtlEnv.initialize(java.util.Properties)
,
Constant Field Valuespublic static final boolean ENV_DUMPONEARLYACCESS_DEFAULT
ENV_DUMPONEARLYACCESS_PROPNAME
("nv.env.dumponearlyaccess"): false
public static final String ENV_WARNONREINIT_PROPNAME
When set to true a warning message will be traced to System.err to flag possible occurences of the environment being inadvertently reinitialized.
Property Name: "nv.env.warnonearlyaccess"
Default value: false
UtlEnv
,
UtlEnv.initialize(java.util.Properties)
,
Constant Field Valuespublic static final boolean ENV_WARNONREINIT_DEFAULT
ENV_WARNONREINIT_PROPNAME
("nv.env.warnonreinit"): false
public static final String ENV_DUMPONREINIT_PROPNAME
When set to true a stack dump will be traced to System.err to flag possible occurences of the environment being inadvertently reinitialized.
This property must be set as a system property on the jvm command line
Property Name: "nv.env.dumponreinit"
Default value: false
UtlEnv
,
UtlEnv.initialize(java.util.Properties)
,
Constant Field Valuespublic static final boolean ENV_DUMPONREINIT_DEFAULT
ENV_DUMPONREINIT_PROPNAME
("nv.env.dumponreinit"): false
public static final String NVROOT_PROPNAME
This property is used as a basis for converting relative paths from other configuration into absolute paths; it serves as the root directoy for the neeve runtime.
Property Name: "NVROOT"
Default value: NVROOT_DEFAULT
UtlEnv
,
UtlEnv.initialize(java.util.Properties)
,
Constant Field Valuespublic static final String NVROOT_DEFAULT
NVROOT_PROPNAME
("NVROOT"): null
public static final String BUFFERMANAGEMENT_USEUNSAFE_PROPNAME
Unsafe
buffer management is enabled.
When true
Unsafe
is used for memory copies which allows for
more efficient copies that than the corresponding array or ByteBuffer copies.
If Unsafe
is unavailable then this value is ignored and calling
UtlBuffer.isUnsafeBufferManagementEnabled()
will return false even if this property
is set to true
.
Property Name: "nv.buffermanagement.useunsafe"
Default value: true
public static final boolean BUFFERMANAGEMENT_USEUNSAFE_DEFAULT
BUFFERMANAGEMENT_USEUNSAFE_PROPNAME
("nv.buffermanagement.useunsafe"): true.
public static final String BUFFERMANAGEMENT_USENATIVE_PROPNAME
When true
the X Platform native libraries are used for memory copies
which allows for more efficient copies that than the corresponding array or
ByteBuffer copies.
If X Platform native libraries are unavailable then this value is ignored and calling
UtlBuffer.isNativeBufferManagementEnabled()
will return false even if this property
is set to true
.
Property Name: "nv.buffermanagement.usenative"
Default value: true
public static final boolean BUFFERMANAGEMENT_USENATIVE_DEFAULT
BUFFERMANAGEMENT_USENATIVE_PROPNAME
("nv.buffermanagement.usenative"): true.
public static final String TIME_USENATIVE_PROPNAME
When true
X Platform native libraries are used instead of System.nanoTime()
when native libraries are available.
Property Name: "nv.time.usenative"
Default value: false
public static final boolean TIME_USENATIVE_DEFAULT
TIME_USENATIVE_PROPNAME
("nv.time.usenative"): false.
public static final String TIME_FORMAT_PROPNAME
Controls the default output format of timestamps formatted via UtlTime.format(Date)
.
This format will be used until UtlTime.setTimestampFormat(String)
changes it.
The value supplied must be a format that can be parsed by the SimpleDateFormat(String)
constructor.
Property Name: "nv.time.format"
Default value: "yyyyMMdd-HH:mm:ss.SSS"
public static final String TIME_FORMAT_DEFAULT
TIME_FORMAT_PROPNAME
("nv.time.format"): "yyyyMMdd-HH:mm:ss.SSS".
public static final String TIME_TIMEZONEFORMAT_PROPNAME
Controls the default format of timezones formatted via UtlTime.format(Date)
.
This format will be used until UtlTime.setTimestampFormatTimeZone(String)
or UtlTime.setTimestampFormatTimeZone(TimeZone)
changes it.
The value supplied must be a format that can be parsed by the DateFormat.setTimeZone(TimeZone)
.
Property Name: "nv.time.timezoneformat"
Default value: "GMT"
public static final String TIME_TIMEZONEFORMAT_DEFAULT
TIME_TIMEZONEFORMAT_PROPNAME
("nv.time.timezoneformat"): "GMT".
public static final String TIME_USEEPOCHOFFSET_PROPNAME
UtlTime.now()
values are relative to the number of microseconds since the epoch.
The default value of true
offsets the timestamps returned by new Date(UtlTime.now() / 1000)
to yield
a date with similar precision to that of the code new Date(System.currentTimeMillis())
.
Precision
When set to true
the microsecond precision timestamped return by UtlTime.now()
is adjusted
by the approximate number of microseconds from the epoch based on an offset computed when
this class is initialized. Subsequent calls to UtlTime.now()
will have microsecond level
precision in their deltas, but the precision of the time from epoch only has the resolution
of System.currentTimeMillis()
.
The offset is not resynchronized between System.currentTimeMillis()
over time so
comparing timestamps between System.currentTimeMillis()
and UtlTime.now()
/ 1000
may diverge in their average delta over time if the underlying physical clocks are resynchronized
independently.
When true
the timestamps returned by UtlTime#now() are not comparable across 2 processes running on
the same machine or across process restarts as timestamp offset is recomputed each time the jvm is loaded.
Disabling this property is not recommended.
Property Name: "nv.time.useepochoffset"
Default value: true
public static final boolean TIME_USEEPOCHOFFSET_DEFAULT
TIME_USEEPOCHOFFSET_PROPNAME
("nv.time.useepochoffset"): true.
public static final String FILE_USENATIVE_PROPNAME
Property Name: "nv.file.usenative"
Default value: true
public static final boolean FILE_USENATIVE_DEFAULT
FILE_USENATIVE_PROPNAME
("nv.file.usenative"): true.
public static final String POOL_SHOULD_POOL_PROPNAME
This property can be used to globally enable or disable pools. Globally disabling pools is not usually recommended as it can have adverse consequences on memory management in the platform. This property is mainly provided for troubleshooting purposes.
Property Name: "nv.pool.shouldpool"
Default value: true
public static final boolean POOL_SHOULD_POOL_DEFAULT
POOL_SHOULD_POOL_PROPNAME
("nv.pool.shouldpool"): true.
public static final String POOL_ENABLELOCKFREECONCURRENCY_PROPNAME
public static final String POOL_LEAKTRACKING_ENABLED_PROPNAME
Pool leak tracking can be enabled as a diagnostic measure that records stack traces as items are taken and returned to a pool. When enabled and a given number of pool misses occur that cause a new item to be allocated, a history of recent items taken from the pool is dumped which can be used to determine what points in the code is causing the allocations.
Most often it is helpful to additionally enable reference tracking
on
the object. When reference tracking is enabled for an item that is leaking from a pool, the reference
history for the item is displayed along with the pool leak history. This allows one to see what caused
item historically take from the pool not to be disposed and returned to the pool.
Related Properties
POOL_LEAKTRACKING_ENABLED_TYPES_PROPNAME
- can be used to enable pool leak tracking on a type by type basis (to reduce overhead)
POOL_LEAKTRACKING_HISTORYSIZE_DEFAULT
- can be used to control the size of the history maintained when a dump is triggered.
POOL_LEAKTRACKING_TRIGGER_THRESHOLD_PROPNAME
- can be used to control the threshold of misses on which to trigger a dump.
POOL_LEAKTRACKING_ENABLED_TYPES_PROPNAME
,
but it may also be necessary to reduce the throughput of the application to collect meaningful results
This property must be set as a system property on the jvm command line
Property Name: "nv.pool.leaktracking.enabled"
Default value: false
public static final boolean POOL_LEAKTRACKING_ENABLED_DEFAULT
POOL_LEAKTRACKING_ENABLED_PROPNAME
("nv.pool.leaktracking.enabled"): false.
public static final String POOL_LEAKTRACKING_ENABLED_TYPES_PROPNAME
While POOL_LEAKTRACKING_ENABLED_PROPNAME
enables pool leak tracking for all pools, this
property configures pool leak tracking for a specific types.
Usage
-Dnv.pool.leaktracking.types=fullyQualifiedClass1|fullyQualifiedClassN
Specifying:
-Dnv.pool.leaktracking.types=*enables pool leak tracking for all types.
Related Properties
POOL_LEAKTRACKING_ENABLED_TYPES_PROPNAME
- can be used to enable pool leak tracking on a type by type basis (to reduce overhead)
POOL_LEAKTRACKING_HISTORYSIZE_DEFAULT
- can be used to control the size of the history maintained when a dump is triggered.
POOL_LEAKTRACKING_TRIGGER_THRESHOLD_PROPNAME
- can be used to control the threshold of misses on which to trigger a dump.
This property must be set as a system property on the jvm command line
Property Name: "nv.pool.leaktracking.types"
Default value: "nv.pool.leaktracking.types"
public static final String POOL_LEAKTRACKING_ENABLED_TYPES_DEFAULT
POOL_LEAKTRACKING_ENABLED_PROPNAME
("nv.pool.leaktracking.enabled"): false (none).
public static final String POOL_LEAKTRACKING_HISTORYSIZE_PROPNAME
If the throughput of pool misses is high increasing this value will show older misses in the diagnostic dump which may be necessary to diagnose problematic pool misses.
This property must be set as a system property on the jvm command line
Property Name: "nv.pool.leaktracking.historySize"
Default value: 100
public static final int POOL_LEAKTRACKING_HISTORYSIZE_DEFAULT
POOL_LEAKTRACKING_HISTORYSIZE_PROPNAME
("nv.pool.leaktracking.historySize"): 100.
public static final String POOL_LEAKTRACKING_TRIGGER_THRESHOLD_PROPNAME
Decreasing this value is useful to trigger a pool leak dump faster, but choosing a value too low can trigger the dump too early in the case where the size of a healthy pool is dynamically stabilizing. For example, if pool items are held outside of the pool for a relatively long time prior to be returned a large number of pool misses initially is okay while the pool grows to size.
This property must be set as a system property on the jvm command line
Property Name: "nv.pool.leaktracking.triggerThreshold"
Default value: 100000
public static final int POOL_LEAKTRACKING_TRIGGER_THRESHOLD_DEFAULT
POOL_LEAKTRACKING_HISTORYSIZE_PROPNAME
("nv.pool.leaktracking.triggerThreshold"): 100000.
public static final String POOL_DETACHEDWASH_PROPNAME
When a pool item is returned to its pool its init()
method is called
to clean up the item for reuse. By default this is done by the thread that is returning the
Item to the pool. Enabling a detached wash thread allows the item cleanup to be done on a
separate thread which can improve latency for the thread returning the Item.
Property Name: "nv.pool.detachedwash"
Default value: false
public static final boolean POOL_DETACHEDWASH_DEFAULT
POOL_DETACHEDWASH_PROPNAME
("nv.pool.detachedwash"): false.
public static final String POOL_DETACHEDWASH_CPUAFFINITIYMASK_PROPNAME
public static final String POOL_DETACHEDWASH_CPUAFFINITIYMASK_DEFAULT
POOL_DETACHEDWASH_CPUAFFINITIYMASK_PROPNAME
("nv.pool.detachedwash.cpuaffinitymask"): "0".
public static final String POOL_DETACHEDWASH_QUEUEDEPTH_PROPNAME
public static final int POOL_DETACHEDWASH_QUEUEDEPTH_DEFAULT
POOL_DETACHEDWASH_QUEUEDEPTH_PROPNAME
("nv.pool.detachedwash.queueDepth"): 1024.
public static final String POOL_DETACHEDWASH_CLAIMSTRATEGY_PROPNAME
public static final String POOL_DETACHEDWASH_CLAIMSTRATEGY_DEFAULT
POOL_DETACHEDWASH_CLAIMSTRATEGY_PROPNAME
("nv.pool.detachedwash.claimstrategy"): "MultiThreadedSufficientCores".
public static final String POOL_DETACHEDWASH_WAITSTRATEGY_PROPNAME
public static final String POOL_DETACHEDWASH_WAITSTRATEGY_DEFAULT
POOL_DETACHEDWASH_WAITSTRATEGY_PROPNAME
("nv.pool.detachedwash.waitstrategy"): "Blocking".
public static final String POOL_SOURCE_PARAMS_FROM_ENV_PROPNAME
When true
calls to create pools will result in Params.load(poolkey, UtlEnv.getProps(), false
being
invoked to apply pool parameters that haven't already been set explicitly. To override programmatically set values
see POOL_OVERRIDE_PARAMS_FROM_ENV_PROPNAME
.
This setting is currently classified as experimental. It and its semantics is subject to change.
Property Name: "nv.pool.sourceparamsfromenv"
Default value: true
public static final boolean POOL_SOURCE_PARAMS_FROM_ENV_DEFAULT
POOL_SOURCE_PARAMS_FROM_ENV_PROPNAME
("nv.pool.sourceparamsfromenv"): true.
public static final String POOL_OVERRIDE_PARAMS_FROM_ENV_PROPNAME
By default when pool parameters are sourced from the environment, they will not override values explicitly set programmatically or from other property sources. Setting this property forces the environment specified values to take precedence.
This property should be used with extreme care as overriding programmatically set pool parameters can have adverse effects.
This property takes no effect if UtlConstants#POOL_SOURCE_PARAMS_FROM_ENV is disabled.
This setting is currently classified as experimental. It and its semantics is subject to change.
Property Name: "nv.pool.overrideparamsfromenv"
Default value: false
POOL_SOURCE_PARAMS_FROM_ENV_PROPNAME
,
Constant Field Valuespublic static final boolean POOL_OVERRIDE_PARAMS_FROM_ENV_DEFAULT
POOL_OVERRIDE_PARAMS_FROM_ENV_PROPNAME
("nv.pool.overrideparamsfromenv"): false.
public static final String REFTRACKING_ENABLED_PROPNAME
Enabling reference tracking captures and stores stack traces on acquire and dispose of pooled objects. Reference tracking can be enabled to diagnose reference counting errors caused by attempts to acquire or dispose an already disposed object. When enabled the reference tracking history for the object when such an error is detected.
Reference tracking can also be enabled to help diagnose pool leaks when
POOL_LEAKTRACKING_ENABLED_PROPNAME
is enabled in which case the
reference history for items recently taken from a pool can be dumped to
show what code has acquire but not disposed of a pool item.
WARNING: Reference tracking has very high overhead. It is intended only for
use in a diagnostic scenarios and should never be enabled for production. The overhead
of enabling reference tracking can be mitigated by using REFTRACKING_TYPES_PROPNAME
,
but it may also be necessary to reduce the throughput of the application to
collect meaningful results.
This property must be set as a system property on the jvm command line
Property Name: "nv.reftracking.enabled"
Default value: false
public static final boolean REFTRACKING_ENABLED_DEFAULT
REFTRACKING_ENABLED_PROPNAME
("nv.reftracking.enabled"): false.
public static final String REFTRACKING_TYPES_PROPNAME
Enabling reference tracking captures and stores stack traces on acquire and dispose of pooled objects. Reference tracking can be enabled to diagnose reference counting errors caused by attempts to acquire or dispose an already disposed object. When enabled the reference tracking history for the object when such an error is detected.
Reference tracking can also be enabled to help diagnose pool leaks when
POOL_LEAKTRACKING_ENABLED_PROPNAME
is enabled in which case the
reference history for items recently taken from a pool can be dumped to
show what code has acquire but not disposed of a pool item.
Usage
-Dnv.reftracking.types=fullyQualifiedClass1|fullyQualifiedClassNSpecifying:
-Dnv.reftracking.types=*enables pool leak tracking for all types. WARNING: Reference tracking has very high overhead. It is intended only for use in a diagnostic scenarios and should never be enabled for production. It may be necessary to reduce the throughput of the application to collect meaningful results.
This property must be set as a system property on the jvm command line
Property Name: "nv.reftracking.types"
Default value: REFTRACKING_TYPES_DEFAULT
(none)
public static final String REFTRACKING_TYPES_DEFAULT
REFTRACKING_TYPES_PROPNAME
("nv.reftracking.types"): null (none).
public static final String REFTRACKING_HISTORYSIZE_PROPNAME
When reference tracking is enabled for a type, this property controls the number of previous incarnations of the item through the pool to track. This is important because it is possible that when an item is returned to a pool too early and then taken back out in another incarnation, it is possible that code from the previous incarnation may be the root cause of the problem. Showing previous incarnations in which there were not pooling problems can also help to highlight code paths that are not problematic.
Reducing this value can decrease the memory overhead associate with reference tracking. Increasing this value provides more history at the cost of more memory overhead.
This property must be set as a system property on the jvm command line
Property Name: "nv.pool.detachedwash.waitstrategy"
Default value: "Blocking"
public static final int REFTRACKING_HISTORYSIZE_DEFAULT
REFTRACKING_HISTORYSIZE_PROPNAME
("nv.reftracking.historysize"): 5 (none).
public static final String THREAD_ENABLECPUAFFINITYMASKS_PROPNAME
Cpu affinitization is currently only supported on linux platforms. When enabled
A calling thread can call UtlThread.setCPUAffinityMask(String)
to affinitize
it to a processor core.
Property Name: "nv.enablecpuaffinitymasks"
Default value: false
public static final boolean THREAD_ENABLECPUAFFINITYMASKS_DEFAULT
THREAD_ENABLECPUAFFINITYMASKS_PROPNAME
("nv.enablecpuaffinitymasks"): false.
public static final String THREAD_DEFAULTCPUAFFINITYMASK_PROPNAME
UtlThread.setDefaultCPUAffinityMask()
.
Property Name: "nv.defaultcpuaffinitymask"
Default value: "0"
UtlThread.setCPUAffinityMask(String)
,
Constant Field Valuespublic static final String THREAD_DEFAULTCPUAFFINITYMASK_DEFAULT
THREAD_DEFAULTCPUAFFINITYMASK_PROPNAME
("nv.defaultcpuaffinitymask"): "0".
public static final String THREAD_WAIT_STATS_ENABLE
When enabled threads that support it, will record time spent busy spinning.
Property Name: "nv.threadwaitstatsenabled"
Default value: true
public static final boolean THREAD_WAIT_STATS_ENABLE_DEFAULT
THREAD_WAIT_STATS_ENABLE
("nv.threadwaitstatsenabled"): true.
Constructor Detail |
---|
public UtlConstants()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |