com.neeve.util
Class UtlConstants

java.lang.Object
  extended by com.neeve.util.UtlConstants

public class UtlConstants
extends Object

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

ENV_WARNONEARLYACCESS_PROPNAME

public static final String ENV_WARNONEARLYACCESS_PROPNAME
This property allows tracing of access to the runtime environment before it has been initialized.

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

See Also:
UtlEnv, UtlEnv.initialize(java.util.Properties), Constant Field Values

ENV_WARNONEARLYACCESS_DEFAULT

public static final boolean ENV_WARNONEARLYACCESS_DEFAULT
The default value for ENV_WARNONEARLYACCESS_PROPNAME ("nv.env.warnonearlyaccess"): false

See Also:
Constant Field Values

ENV_DUMPONEARLYACCESS_PROPNAME

public static final String ENV_DUMPONEARLYACCESS_PROPNAME
This property allows dumping a stack trace on access to the runtime environment before it has been initialized.

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

See Also:
UtlEnv, UtlEnv.initialize(java.util.Properties), Constant Field Values

ENV_DUMPONEARLYACCESS_DEFAULT

public static final boolean ENV_DUMPONEARLYACCESS_DEFAULT
The default value for ENV_DUMPONEARLYACCESS_PROPNAME ("nv.env.dumponearlyaccess"): false

See Also:
Constant Field Values

ENV_WARNONREINIT_PROPNAME

public static final String ENV_WARNONREINIT_PROPNAME
This property allows tracing when the runtime environment has been reinitialized.

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

See Also:
UtlEnv, UtlEnv.initialize(java.util.Properties), Constant Field Values

ENV_WARNONREINIT_DEFAULT

public static final boolean ENV_WARNONREINIT_DEFAULT
The default value for ENV_WARNONREINIT_PROPNAME ("nv.env.warnonreinit"): false

See Also:
Constant Field Values

ENV_DUMPONREINIT_PROPNAME

public static final String ENV_DUMPONREINIT_PROPNAME
This property allows dumping a stack trace when the runtime environment has been reinitialized.

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

See Also:
UtlEnv, UtlEnv.initialize(java.util.Properties), Constant Field Values

ENV_DUMPONREINIT_DEFAULT

public static final boolean ENV_DUMPONREINIT_DEFAULT
The default value for ENV_DUMPONREINIT_PROPNAME ("nv.env.dumponreinit"): false

See Also:
Constant Field Values

NVROOT_PROPNAME

public static final String NVROOT_PROPNAME
This property controls the root location for the neeve runtime.

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

See Also:
UtlEnv, UtlEnv.initialize(java.util.Properties), Constant Field Values

NVROOT_DEFAULT

public static final String NVROOT_DEFAULT
The default value for NVROOT_PROPNAME ("NVROOT"): null


BUFFERMANAGEMENT_USEUNSAFE_PROPNAME

public static final String BUFFERMANAGEMENT_USEUNSAFE_PROPNAME
Property that controls whether or not 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

See Also:
Constant Field Values

BUFFERMANAGEMENT_USEUNSAFE_DEFAULT

public static final boolean BUFFERMANAGEMENT_USEUNSAFE_DEFAULT
Default value for BUFFERMANAGEMENT_USEUNSAFE_PROPNAME ("nv.buffermanagement.useunsafe"): true.

See Also:
Constant Field Values

BUFFERMANAGEMENT_USENATIVE_PROPNAME

public static final String BUFFERMANAGEMENT_USENATIVE_PROPNAME
Property that controls whether or not native buffer management is enabled.

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

See Also:
Constant Field Values

BUFFERMANAGEMENT_USENATIVE_DEFAULT

public static final boolean BUFFERMANAGEMENT_USENATIVE_DEFAULT
Default value for BUFFERMANAGEMENT_USENATIVE_PROPNAME ("nv.buffermanagement.usenative"): true.

See Also:
Constant Field Values

TIME_USENATIVE_PROPNAME

public static final String TIME_USENATIVE_PROPNAME
Property that controls whether #now() uses X Platform native libraries.

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

See Also:
Constant Field Values

TIME_USENATIVE_DEFAULT

public static final boolean TIME_USENATIVE_DEFAULT
The default value for TIME_USENATIVE_PROPNAME ("nv.time.usenative"): false.

See Also:
Constant Field Values

TIME_FORMAT_PROPNAME

public static final String TIME_FORMAT_PROPNAME
Property that controls default format for timestamps.

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"

See Also:
Constant Field Values

TIME_FORMAT_DEFAULT

public static final String TIME_FORMAT_DEFAULT
The default value for TIME_FORMAT_PROPNAME ("nv.time.format"): "yyyyMMdd-HH:mm:ss.SSS".

See Also:
Constant Field Values

TIME_TIMEZONEFORMAT_PROPNAME

public static final String TIME_TIMEZONEFORMAT_PROPNAME
Property that controls default timezone used for formatting timestamps.

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"

See Also:
Constant Field Values

TIME_TIMEZONEFORMAT_DEFAULT

public static final String TIME_TIMEZONEFORMAT_DEFAULT
The default value for TIME_TIMEZONEFORMAT_PROPNAME ("nv.time.timezoneformat"): "GMT".

See Also:
Constant Field Values

TIME_USEEPOCHOFFSET_PROPNAME

public static final String TIME_USEEPOCHOFFSET_PROPNAME
Property that controls whether 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

See Also:
Constant Field Values

TIME_USEEPOCHOFFSET_DEFAULT

public static final boolean TIME_USEEPOCHOFFSET_DEFAULT
The default value for TIME_USEEPOCHOFFSET_PROPNAME ("nv.time.useepochoffset"): true.

See Also:
Constant Field Values

FILE_USENATIVE_PROPNAME

public static final String FILE_USENATIVE_PROPNAME
Property that controls whether file io uses X Platform native libraries (if available).

Property Name: "nv.file.usenative"
Default value: true

See Also:
Constant Field Values

FILE_USENATIVE_DEFAULT

public static final boolean FILE_USENATIVE_DEFAULT
The default value for FILE_USENATIVE_PROPNAME ("nv.file.usenative"): true.

See Also:
Constant Field Values

POOL_SHOULD_POOL_PROPNAME

public static final String POOL_SHOULD_POOL_PROPNAME
Property that controls whether pool is enabled.

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

See Also:
Constant Field Values

POOL_SHOULD_POOL_DEFAULT

public static final boolean POOL_SHOULD_POOL_DEFAULT
The default value for POOL_SHOULD_POOL_PROPNAME ("nv.pool.shouldpool"): true.

See Also:
Constant Field Values

POOL_ENABLELOCKFREECONCURRENCY_PROPNAME

public static final String POOL_ENABLELOCKFREECONCURRENCY_PROPNAME
See Also:
Constant Field Values

POOL_LEAKTRACKING_ENABLED_PROPNAME

public static final String POOL_LEAKTRACKING_ENABLED_PROPNAME
Property that controls whether pool leak tracking is enabled.

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

WARNING: Pool leak 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 pool leak tracking can be mitigated by using 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

See Also:
Constant Field Values

POOL_LEAKTRACKING_ENABLED_DEFAULT

public static final boolean POOL_LEAKTRACKING_ENABLED_DEFAULT
The default value for POOL_LEAKTRACKING_ENABLED_PROPNAME ("nv.pool.leaktracking.enabled"): false.

See Also:
Constant Field Values

POOL_LEAKTRACKING_ENABLED_TYPES_PROPNAME

public static final String POOL_LEAKTRACKING_ENABLED_TYPES_PROPNAME
Property that can be used to selective enable pool leak tracking for specific types.

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

WARNING: Pool leak tracking has very high overhead. It is intended only for use in a diagnostic scenarios and should never be enabled for production. 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.types"
Default value: "nv.pool.leaktracking.types"

See Also:
Constant Field Values

POOL_LEAKTRACKING_ENABLED_TYPES_DEFAULT

public static final String POOL_LEAKTRACKING_ENABLED_TYPES_DEFAULT
The default value for POOL_LEAKTRACKING_ENABLED_PROPNAME ("nv.pool.leaktracking.enabled"): false (none).


POOL_LEAKTRACKING_HISTORYSIZE_PROPNAME

public static final String POOL_LEAKTRACKING_HISTORYSIZE_PROPNAME
Property that controls the number of pool misses that are retained for diagnosing pool leaks.

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

See Also:
Constant Field Values

POOL_LEAKTRACKING_HISTORYSIZE_DEFAULT

public static final int POOL_LEAKTRACKING_HISTORYSIZE_DEFAULT
The default value for POOL_LEAKTRACKING_HISTORYSIZE_PROPNAME ("nv.pool.leaktracking.historySize"): 100.

See Also:
Constant Field Values

POOL_LEAKTRACKING_TRIGGER_THRESHOLD_PROPNAME

public static final String POOL_LEAKTRACKING_TRIGGER_THRESHOLD_PROPNAME
Property that controls the trigger threshold on which to dump pool leaks.

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

See Also:
Constant Field Values

POOL_LEAKTRACKING_TRIGGER_THRESHOLD_DEFAULT

public static final int POOL_LEAKTRACKING_TRIGGER_THRESHOLD_DEFAULT
The default value for POOL_LEAKTRACKING_HISTORYSIZE_PROPNAME ("nv.pool.leaktracking.triggerThreshold"): 100000.

See Also:
Constant Field Values

POOL_DETACHEDWASH_PROPNAME

public static final String POOL_DETACHEDWASH_PROPNAME
Property that controls whether objects returned to a pool a washed in a detached thread.

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

See Also:
Constant Field Values

POOL_DETACHEDWASH_DEFAULT

public static final boolean POOL_DETACHEDWASH_DEFAULT
The default value for POOL_DETACHEDWASH_PROPNAME ("nv.pool.detachedwash"): false.

See Also:
Constant Field Values

POOL_DETACHEDWASH_CPUAFFINITIYMASK_PROPNAME

public static final String POOL_DETACHEDWASH_CPUAFFINITIYMASK_PROPNAME
Property that controls the cpu affinitiy mask of the detached pool washer when enabled. Property Name: "nv.pool.detachedwash.cpuaffinitymask"
Default value: "0"

See Also:
Constant Field Values

POOL_DETACHEDWASH_CPUAFFINITIYMASK_DEFAULT

public static final String POOL_DETACHEDWASH_CPUAFFINITIYMASK_DEFAULT
The default value for POOL_DETACHEDWASH_CPUAFFINITIYMASK_PROPNAME ("nv.pool.detachedwash.cpuaffinitymask"): "0".

See Also:
Constant Field Values

POOL_DETACHEDWASH_QUEUEDEPTH_PROPNAME

public static final String POOL_DETACHEDWASH_QUEUEDEPTH_PROPNAME
Property that controls the queue depth of the detached pool washer when enabled. Property Name: "nv.pool.detachedwash.queueDepth"
Default value: 1024

See Also:
Constant Field Values

POOL_DETACHEDWASH_QUEUEDEPTH_DEFAULT

public static final int POOL_DETACHEDWASH_QUEUEDEPTH_DEFAULT
The default value for POOL_DETACHEDWASH_QUEUEDEPTH_PROPNAME ("nv.pool.detachedwash.queueDepth"): 1024.

See Also:
Constant Field Values

POOL_DETACHEDWASH_CLAIMSTRATEGY_PROPNAME

public static final String POOL_DETACHEDWASH_CLAIMSTRATEGY_PROPNAME
Property that controls the claim strategy for the detached pool washer when enabled. Property Name: "nv.pool.detachedwash.claimstrategy"
Default value: "MultiThreadedSufficientCores"

See Also:
Constant Field Values

POOL_DETACHEDWASH_CLAIMSTRATEGY_DEFAULT

public static final String POOL_DETACHEDWASH_CLAIMSTRATEGY_DEFAULT
The default value for POOL_DETACHEDWASH_CLAIMSTRATEGY_PROPNAME ("nv.pool.detachedwash.claimstrategy"): "MultiThreadedSufficientCores".

See Also:
Constant Field Values

POOL_DETACHEDWASH_WAITSTRATEGY_PROPNAME

public static final String POOL_DETACHEDWASH_WAITSTRATEGY_PROPNAME
Property that controls the wait strategy for the detached pool washer thread when enabled. Property Name: "nv.pool.detachedwash.waitstrategy"
Default value: "Blocking"

See Also:
Constant Field Values

POOL_DETACHEDWASH_WAITSTRATEGY_DEFAULT

public static final String POOL_DETACHEDWASH_WAITSTRATEGY_DEFAULT
The default value for POOL_DETACHEDWASH_WAITSTRATEGY_PROPNAME ("nv.pool.detachedwash.waitstrategy"): "Blocking".

See Also:
Constant Field Values

POOL_SOURCE_PARAMS_FROM_ENV_PROPNAME

public static final String POOL_SOURCE_PARAMS_FROM_ENV_PROPNAME
Property that controls whether pool parameters can be sourced from the environment.

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

See Also:
Constant Field Values

POOL_SOURCE_PARAMS_FROM_ENV_DEFAULT

public static final boolean POOL_SOURCE_PARAMS_FROM_ENV_DEFAULT
The default value for POOL_SOURCE_PARAMS_FROM_ENV_PROPNAME ("nv.pool.sourceparamsfromenv"): true.

See Also:
Constant Field Values

POOL_OVERRIDE_PARAMS_FROM_ENV_PROPNAME

public static final String POOL_OVERRIDE_PARAMS_FROM_ENV_PROPNAME
Property that controls whether pool parameters can be overridden from the environment.

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

See Also:
POOL_SOURCE_PARAMS_FROM_ENV_PROPNAME, Constant Field Values

POOL_OVERRIDE_PARAMS_FROM_ENV_DEFAULT

public static final boolean POOL_OVERRIDE_PARAMS_FROM_ENV_DEFAULT
The default value for POOL_OVERRIDE_PARAMS_FROM_ENV_PROPNAME ("nv.pool.overrideparamsfromenv"): false.

See Also:
Constant Field Values

REFTRACKING_ENABLED_PROPNAME

public static final String REFTRACKING_ENABLED_PROPNAME
Globally enables reference tracking for pooled objects.

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

See Also:
Constant Field Values

REFTRACKING_ENABLED_DEFAULT

public static final boolean REFTRACKING_ENABLED_DEFAULT
The default value for REFTRACKING_ENABLED_PROPNAME ("nv.reftracking.enabled"): false.

See Also:
Constant Field Values

REFTRACKING_TYPES_PROPNAME

public static final 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. 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|fullyQualifiedClassN
Specifying:
-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)

See Also:
Constant Field Values

REFTRACKING_TYPES_DEFAULT

public static final String REFTRACKING_TYPES_DEFAULT
The default value for REFTRACKING_TYPES_PROPNAME ("nv.reftracking.types"): null (none).


REFTRACKING_HISTORYSIZE_PROPNAME

public static final String REFTRACKING_HISTORYSIZE_PROPNAME
Property that controls the history size to maintain for reference tracked pool items.

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"

See Also:
Constant Field Values

REFTRACKING_HISTORYSIZE_DEFAULT

public static final int REFTRACKING_HISTORYSIZE_DEFAULT
The default value for REFTRACKING_HISTORYSIZE_PROPNAME ("nv.reftracking.historysize"): 5 (none).

See Also:
Constant Field Values

THREAD_ENABLECPUAFFINITYMASKS_PROPNAME

public static final String THREAD_ENABLECPUAFFINITYMASKS_PROPNAME
Property that controls whether or not thread cpu affinitization is enabled.

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

See Also:
Constant Field Values

THREAD_ENABLECPUAFFINITYMASKS_DEFAULT

public static final boolean THREAD_ENABLECPUAFFINITYMASKS_DEFAULT
The default value for THREAD_ENABLECPUAFFINITYMASKS_PROPNAME ("nv.enablecpuaffinitymasks"): false.

See Also:
Constant Field Values

THREAD_DEFAULTCPUAFFINITYMASK_PROPNAME

public static final String THREAD_DEFAULTCPUAFFINITYMASK_PROPNAME
Property that controls the default affinity mask set by UtlThread.setDefaultCPUAffinityMask().

Property Name: "nv.defaultcpuaffinitymask"
Default value: "0"

See Also:
UtlThread.setCPUAffinityMask(String), Constant Field Values

THREAD_DEFAULTCPUAFFINITYMASK_DEFAULT

public static final String THREAD_DEFAULTCPUAFFINITYMASK_DEFAULT
The default value for THREAD_DEFAULTCPUAFFINITYMASK_PROPNAME ("nv.defaultcpuaffinitymask"): "0".

See Also:
Constant Field Values

THREAD_WAIT_STATS_ENABLE

public static final String THREAD_WAIT_STATS_ENABLE
Property that controls whether or not thread spin loop stats are enabled.

When enabled threads that support it, will record time spent busy spinning.

Property Name: "nv.threadwaitstatsenabled"
Default value: true

See Also:
Constant Field Values

THREAD_WAIT_STATS_ENABLE_DEFAULT

public static final boolean THREAD_WAIT_STATS_ENABLE_DEFAULT
The default value for THREAD_WAIT_STATS_ENABLE ("nv.threadwaitstatsenabled"): true.

See Also:
Constant Field Values
Constructor Detail

UtlConstants

public UtlConstants()


Copyright © 2016 Neeve Research, LLC. All Rights Reserved.