Analyzing sessions

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.

Step inside a conversation

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.

session tab annotated

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.

In the video below, we are going to first construct a query to find session IDs where a resume prompt was activated but dropped immediately, then inspect the conversation in the session viewer tab:

Filter

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.

Was this page helpful?