Environment Statistics

JE offers a wealth of information that you can examine regarding your environment's operations. The majority of this information involves numbers relevant only to the JE developer and as such a description of those statistics is beyond the scope of this manual.

However, one statistic that is very important (especially for long-running applications) is EnvironmentStats.getNCacheMiss(). This statistic returns the total number of requests for database objects that were not serviceable from the cache. This number is important to the application administrator who is attempting to determine the proper size for the in-memory cache. See Sizing the Cache for details.

To obtain this statistic from your environment, call Environment.getStats() to return an EnvironmentStats object. You can then call the EnvironmentStats.getNCacheMiss() method. For example:

import com.sleepycat.je.Environment;

...

long cacheMisses = myEnv.getStats(null).getNCacheMiss();

...  

Note that Environment.getStats() can only obtain statistics from your application's process. In order for the application administrator to obtain this statistic, you must either use JMX to retrieve the statistic (see JConsole and JMX Support) or you must print it for examination (for example, log the value once a minute).

Remember that what is really important for cache sizing is the change in this value over time, and not the actual value itself. So you might consider offering a delta from one examination of this statistic to the next (a delta of 0 is desired while large deltas are an indication that the cache is too small).