Data Grid Settings
Located in System Settings > Advanced Settings
The Chronicall Data Grid is a type of in-memory data cache. It is responsible for pre-loading historic call data into memory. Data-intensive tasks (e.g. running complex reports, filtering cradle-to-grave data, etc.) can then be performed much more quickly. If more memory is required than what is configured for the data grid, cached memory will be evicted on a least recently used basis to try and prevent the data grid from running out of memory completely. Several options are provided within Chronicall’s advanced settings to configure the Data Grid to perform the best for any specific environment. Most of these settings should typically not be modified, but there are some that could make a critical difference in Chronicall’s performance. These options include:
- Data Grid Alternate Java Home [optional] - If a different version of Java is needed for the data grid (e.g. Chronicall is running with 32-bit Java, and you want to use 64-bit Java for the data grid to allow higher memory usage) this setting can be used.
- Example Value: C:\Program Files\Java\jre1.8.0_45
- Data Grid Block Size - This is the size of each “block” of historical call data we cache in memory. This should only be changed if directed to do so.
- Default Value: 1 Hour
- Data Grid Max Cache (in weeks) - This is a value that should be changed based on your organization’s use case. This is the number of weeks of historical data that the data grid will try to pre-load into memory. Many organizations run weekly, monthly, and quarterly reports. The default setting should suffice unless it is a common use-case to run reports going further back historically. Organizations that run reports going back a year should consider increasing this setting to cache enough data to run those reports quickly. Please be aware that increasing this value may require increasing the memory available to the data grid. Reports and cradle to grave queries can still be run for time periods that are before the cacheable range, but the data for each block will be loaded manually from the database and processed by Chronicall directly without using the data grid.
- Default Value: 13
- Data Grid Max Wait on Block - This is the maximum amount of time (in seconds) Chronicall will wait for the data grid to load a block into memory before giving-up and trying to load the block data directly from the database. Most block loads should take a small fraction of a second, however, organizations with high call volumes with millions of historic calls each year may need to increase this value if the data grid is unable to load data from the database in a timely manner. Another option would be to add a solid-state hard drive so that the database is faster about responding to block load requests.
- Default Value: 30 (as of 3.6.54)
- Data Grid Node Memory Usage % - This is the percentage of memory available to the data grid process that can be used to cache historic calls. There is other processing and tasks performed by the data grid in addition to solely caching data. If this value is set too high, it’s possible that the data grid will run out of memory.
- Default Value: 80%
- Data Grid Pre-Load Strategy - After Chronicall initializes the data grid, it will begin to pre-load data for the total number of cacheable weeks configured starting with the most recent block to the oldest. If the pre-loading causes us to get near our maximum memory to use at any point, it will stop trying to load additional data.
- Off (no pre-loading) - Data will not be loaded into memory until it is needed to fulfill a request.
- Standard (pre-load non-first blocks) - The first block in any timeframe used within Chronicall includes calls that end in the block even if they didn’t start in the block. All other blocks contain only calls that start in the block. This setting will pre-load all regular blocks into memory (that are in the cacheable range), along with the first block for each day (as long as the block size is set to 1 Hour). As long as timeframes start at the beginning of each day, which is the default for reports and cradle to grave, all blocks needed will already be cached. If your timeframe has a start time other than midnight, you may want to look at the next option.
- All (pre-load everything) - This setting will pre-load all blocks (first and regular) during the cacheable range. This is only necessary if reports and cradle to grave queries are typically not run on day boundaries.
- Default Value: Standard (pre-load non-first blocks)
- Data Grid Primary Node Memory (MB) - This is another setting that should be tuned for your organization’s needs. If you have a high call volume you may want to increase the memory available. As of Chronicall 3.10, 64-bit Java is built in and you can allocate more than 1024 MB of memory. If you are still on Chronicall 3.94 or earlier, 32-bit Java is the default. 32-bit Java does not allow you to use more than 1024 MB of memory. Chronicall caps the value you can enter into this setting at 1024 because if it is set too high, Chronicall will cease to function properly as the data grid won’t start. If you need to increase this value above 1024 MB, and are on 3.94 or earlier, you must first configure the data grid to use 64-bit Java and set this value manually in the settings.xml file (usually located at C:\Program Files (x86)\Xima Software\Chronicall\settings.xml) and restart the Chronicall service. This is recommended if the data grid is intended to cache hundreds of thousands or even millions of historic calls and events.
- Default Value: 512