For a single session identifier, you can discover that the session is stored in two or more pieces. Session fragmentation can occur for intentional or unintentional reasons.
Active session data is stored in the Short-Term Canister, an in-memory database. To prevent the memory database from becoming overwhelmed with sessions that can no longer be actively in use by the visitor, Tealeaf imposes three internal safeguards to prevent the STC from being overwhelmed. These safeguards are based on three criteria (defaults in parentheses):
- Session size (
5242880
kb) - Number of pages in a session (
2048
hits) - Time (
60
minutes)
If any of these limits is exceeded, then the session is automatically closed in the Short-Term Canister and moved to the Long-Term Canister for indexing for search. For example, suppose that you are browsing a website for over one hour. The resulting session data is stored in two fragments, as the time limit exceeds.
The following are effects of fragmentation.
- An excess of session fragmentation can degrade performance in RTV.
- Session-based events are triggered in each session fragment, which can result in redundant counting of individual events
Events for monitoring fragmentation
Tealeaf provides three events that can be used to monitor the three criteria that are mentioned that trigger session fragmentation. In the Event Manager, you can look for events whose names begin with Costly Session
.
In the Portal, you can create event charts to monitor the presence of these events in your session data. Based on your analysis of these events, you may decide to change the limits, or you can manage fragmentation through RTV.
Find and merge
You can configure RTV to locate and merge session fragments into a single complete session. Using the Find and Merge command, you can find and merge session fragments.
There are two methods of merging fragmented sessions:
- Auto Merge: When Auto Merge is enabled through the RTV options, the finding and merging of session fragments is done on the Tealeaf server before the session is loaded by RTV. Matching fragments up to 24 hours before or after the session fragment can be merged. Auto Merge is enabled by default and requires no additional configuration.
- RTV Merge: RTV can merge fragments, too. While this method is slower, it can be useful in special cases or when Auto Merge is not viable.
AutoMerge
This feature enables session fragments to be merged together into a single session by Search Server and delivered to the RTV desktop.
When AutoMerge is enabled, Search Server attempts to match session fragments that are based on the TLTSID
value, starting with the key session and then merging adjacent sessions until the session is merged or the limits are reached. It allows the merge to happen on the TeaLeaf server, which is more efficient than allowing RTV to complete the merge.
Any search result set can contain results from multiple fragments, and those result sets can merge into either identical sessions or sessions that share same TLTSID
with different sets of pages or with different start/end times that depend on the data size limit and/or the time range. The following configuration settings can affect Auto Merge:
- By default, Search Server imposes a limit of 16 MB for a merged session. This setting prevents AutoMerge from building sessions that exceed 32-bit memory capacity or that contain, for example, repeated bot traffic from a single day.
You can adjust the setting that is based upon the configured value for the maximum permitted session size (
Max Size Per Session
). - In the Merge Range setting, you can configure the range of hours before and after a session fragment in which to look for other fragments from the same session. For example, if
Merge Range
is set to2
hours, RTV searches for fragments from the same session in the 4-hour range around the timestamp for the fragment.- You can also configure this auto-merge range in Browser-Based Replay.
- You can adjust the setting that is based upon the configured value for the maximum permitted session time (
Max Time Per Session
).
- By default, AutoMerge honors session close events, which are triggered when a session closes. If needed, you can enable the
Auto Merge Ignores Close Session Events
in the RTV Advanced options.
The Auto Merge feature is limited to merging by TLTSID, while the Find And Merge tool can merge on any search term.
Example
The session IDs of sessions without fragments are shown with unique session identifier. Sessions with multiple, merged fragments have session IDs consisting of their TLTSID (a 32-character string) followed by the cxImpact unique session identifier (such as 24FD407B4FBB088C623DD7BF2B9AFD63 - 396).
The session that follows the preceding fragment has the identifier: 24FD407B4FBB088C623DD7BF2B9AFD63 - 83. This identifier has the same TLTSID as the previous session and a different cxImpact unique session identifier. The search returned two session fragments (396 and 83) that were actually part of the same session.
Auto Merge can be configured to ignore session close events, and also find fragments that were erroneously closed by events.
Differences in fragment counts between Auto Merge and RTV Merge
A different number of fragments is returned when you allow Auto Merge to bring together session fragments and when you use RTV merge to bring them together.
The possible reasons are:
- Auto Merge does not merge across servers. For example, suppose your Tealeaf solution uses multiple Canister Servers and that session fragments are split across them. Since Auto Merge cannot merge across servers, these multiple fragments are displayed as separate sessions on different canisters.
- RTV Merge has a time window in which it searches for fragments. The value of this window before and after the main fragment can differ from the time window that is configured for Auto Merge.
- Auto Merge limits the total data size to prevent generation of enormous sessions. Some fragments can be excluded based on the configurations setting.