The Session Viewer tab allows you to step inside of a conversation and inspect everything that took place during it. The Session Viewer has multiple use cases; you can use it to quickly see requests and responses and to inspect the events that occurred during a transaction. For example, you can analyze a session and build a query around any identified problems, then do more quantitative research on your stored sessions to see if this is a reoccurring problem using the Query tab, or vice versa.
To step inside a conversation, open a session view tab and press Run Query. If you are looking for a specific session you can use a session constraint, for example
s.id == "sessionId" (just replace the string, sessionId, with a real session ID). You can also use the Order function to limit the results, get sessions, see transactions, etc.
The returned results will be displayed in the session list. The list provides general information about the session.
A session consists of transactions, which in turn consist of events. A transaction is a request that is sent to the engine (bot) and a subsequent response from the engine. An event is what the engine did between processing the input and generating the output. You can expand and collapse a transaction to see its events, and you can expand and collapse an event to see its properties.
We can run all kinds of TQL queries to find sessions and then explore those sessions further in the session viewer tab. For example, let's run the following query to see some non-empty user inputs and corresponding bot replies, along with their session ID:
1la s.id, t.e.userInput, t.e2.answerText: t.e.userInput != "" 2
If we want to take a closer look at any of these sessions, we can copy the session ID from the first column and open a new session viewer tab. To explore the session details, we can run the following query in the session viewer tab:
1s.id == "[session ID]" 2
We can then click on the session to see its details.
It is possible to refine the displayed data by using the ‘Find’ and ‘Filter’ buttons; however, it is not possible to filter or find values:
- Find keeps all events visible, and navigates you to view the next instance of what you have selected.
- Filter removes all events that are not in the selected property list and navigates you to the first one.