Table of Contents

Debug

This report describes the purpose of debugging, which is to identify and diagnose problems in the code. It also allows for monitoring both logged events and errors, as well as the overall health of the application—helping detect performance issues, critical errors, and potential service outages.

Debugging is the process of identifying, analyzing, and fixing errors (also known as bugs) in software code or in the functioning of a system. Debugging is an essential part of the software development lifecycle, as it helps ensure that the program works correctly and efficiently.

All charts in the report include an interactive legend for dynamic data exploration. Each legend item represents a data group. Clicking on one of these items hides the associated values in the chart, allowing users to focus on other categories and improving interpretation.

Overview of Debug Logs

This table provides a summary of debug logs for sessions across all channels where interactions have occurred.

  • Tenant ID: Contains the tenant identifier.
  • Channel: The channel through which the self-service flow interaction occurs.
  • Service: The service number associated with the interaction.
  • Criteria: A value used to identify the client.
  • Criteria Value: The actual value used to identify the customer or service.
  • Date: The session start date.

Debug

This diagram represents a debug flow between different application components, specifically in the communication between the Channel Connector and the Lynn Core. The Channel Connector acts as an intermediary that connects external channels (such as social media, email, SMS, etc.). Communication is not direct; instead, Azure's Service Bus is used. The Channel Connector places messages in a queue, and the Core retrieves them when it is ready to process. This decouples the Channel Connector from the Core and enables asynchronous communication.

The diagram is organized in columns, allowing users to see how messages or events are exchanged between components in a sequential order. Each column represents a different component of the application:

Channel Connector:

  • ChannelEdge
  • ChannelAdapter
  • CommunicationInterface

Lynn Core:

  • Service Bus
  • SessionManager
  • ConversationManager
  • CognitiveManager
  • Edge

At the top left, the diagram includes session information such as date and session ID, which helps identify the context and environment in which the debug process occurred.

Events or actions are represented as boxes within each column. The vertical timeline allows users to follow the sequence of events in the system.

Arrows connect the events between different components, showing how they communicate with each other. These events reflect common operations such as status checks, session creation and closure, interaction start and end, and more.

Common Phases in the Flow

Start with Health Check:
The flow typically begins with a system status verification, shown as a Health event. This ensures the system is ready before proceeding.

Message Exchange Between Components:
As the flow continues, various system modules communicate through events. This can include session management, request handling, and interaction lifecycle events. The complexity of this phase may vary depending on the flow’s purpose.

Session Creation and Management:
In many systems, managing sessions is essential for maintaining interaction context and state. This is reflected in events that denote session start, handling, and closure—ensuring consistency and resource release when needed.

Source Server of the Logs

This pie chart illustrates the distribution of connections according to different application servers. Each slice represents a specific server and its proportion of the total connections.

The size of each slice reflects the number of connections originating from that server relative to the total number of connections.

Log Activity

This line chart illustrates log activity over time. The curve represents the number of logs recorded within specific time intervals, allowing users to observe patterns and trends in logging activity.

  • The X-axis represents time, divided into intervals based on the selected reporting range.
  • The Y-axis represents the number of logs, showing how many entries were recorded in each interval.

The line connects data points and shows the evolution of log activity over time.