Class Stats
- All Implemented Interfaces:
ShutdownListener
Allows a uniform interface to statistics information in a uniform format.
Stats
supports different states of filing stats information:
OFF
, FILE
and CONSOLE
.
-
OFF
statistics is turned off. -
FILE
statistics information is written to a file -
CONSOLE
statistics information is written on console
Stats service uses the property file, AMConfig.properties
, to
set the default stats level and the output directory where the stats files
will be placed. The properties file is located (using
ResourceBundle
semantics) from one of the directories in
the CLASSPATH.
The following keys are used to configure the Stats service. Possible values for the key 'state' are: off | off | file | console The key 'directory' specifies the output directory where the stats files will be created.
If there is an error reading or loading the properties, all the information is redirected tocom.iplanet.services.stats.state com.iplanet.services.stats.directory
System.out
If these properties are changed, the server must be restarted for the changes
to take effect.
NOTE: Printing Statistics is an IO intensive operation and may hurt
application performance when abused. Particularly, note that Java evaluates
the arguments to message()
and warning()
even
when statistics is turned off. It is recommended that the stats state be
checked before invoking any message()
or
warning()
methods to avoid unnecessary argument evaluation and
to maximize application performance.
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addStatsListener
(com.sun.identity.shared.stats.StatsListener listener) void
destroy()
Destroys the stats object, closes the stats file and releases any system resources.protected void
finalize()
Flushes and then closes the stats file.static Stats
getInstance
(String statsName) Returns an existing instance of Stats for the specified stats file or a new one if no such instance already exists.int
getState()
Returns one of the 3 possible values.boolean
Checks if statistics is enabled.void
Prints messages only when the stats state is eitherStats.FILE
orStats.CONSOLE
.void
setStats
(int statsType) Sets the stats capabilities based on the values of thestatsType
argument.void
Sets thestats
capabilities based on the values of thestatsType
argument.void
shutdown()
The function to run when the system shutdown.
-
Field Details
-
OFF
public static final int OFFflags the disabled stats state.- See Also:
-
FILE
public static final int FILEFlags the state where all the statistic information is printed to a file- See Also:
-
CONSOLE
public static final int CONSOLEFlags the state where printing to a file is disabled. All printing is done on System.out.- See Also:
-
-
Method Details
-
getInstance
Returns an existing instance of Stats for the specified stats file or a new one if no such instance already exists. If a Stats object has to be created, its level is set to the level defined in theAMConfig.properties
file. The level can be changed later by usingsetStats(int)
orsetStats(String)
- Parameters:
statsName
- name of statistic instance.- Returns:
- an existing instance of Stats for the specified stats file.
-
isEnabled
public boolean isEnabled()Checks if statistics is enabled.NOTE: It is recommended that
isEnabled()
be used instead ofisEnabled()
as the former is more intuitive.- Returns:
true
if statistics is enabledfalse
if statistics is disabled
-
getState
public int getState()Returns one of the 3 possible values.Stats.OFF
Stats.FILE
Stats.CONSOLE
- Returns:
- state of Stats.
-
record
Prints messages only when the stats state is eitherStats.FILE
orStats.CONSOLE
.NOTE: Printing Statistics is an IO intensive operation and may hurt application performance when abused. Particularly, note that Java evaluates arguments to
message()
even when statistics is turned off. So when the argument to this method involves the String concatenation operator '+' or any other method invocation,isEnabled
MUST be used. It is recommended that the stats state be checked by invokingisEnabled()
before invoking anymessage()
methods to avoid unnecessary argument evaluation and maximize application performance.- Parameters:
msg
- message to be recorded.
-
setStats
public void setStats(int statsType) Sets the stats capabilities based on the values of thestatsType
argument.- Parameters:
statsType
- is any one of five possible values:Stats.OFF
Stats.FILE
Stats.CONSOLE
-
setStats
Sets thestats
capabilities based on the values of thestatsType
argument.- Parameters:
statsType
- is any one of the following possible values:off - statistics is disabled
file - statistics are written to the stats file
System.out
console - statistics are written to the stats to the console
-
destroy
public void destroy()Destroys the stats object, closes the stats file and releases any system resources. Note that the stats file will remain open untildestroy()
is invoked. To conserve file resources, you should invokedestroy()
explicitly rather than wait for the garbage collector to clean up.If this object is accessed after
destroy()
has been invoked, the results are undefined. -
shutdown
public void shutdown()Description copied from interface:ShutdownListener
The function to run when the system shutdown.- Specified by:
shutdown
in interfaceShutdownListener
-
finalize
protected void finalize()Flushes and then closes the stats file.
-