In Bugsink, events are automatically grouped into issues based on their characteristics. This minimizes noise from duplicate errors, so you can focus on solving real problems.
When an event occurs, Bugsink analyzes the data to determine how it should be grouped into an issue. The main factors used are:
Exception Type and Value: Bugsink checks if the event contains an exception. If it does, it extracts the type of the exception and its message. If multiple exceptions are chained, Bugsink uses the last one, which is usually the most relevant.
Transaction: If a transaction is included in the event data, Bugsink incorporates it into the grouping process. This helps when the same error happens in different parts of your application.
For log messages, Bugsink uses a simpler approach. The event is labeled as “Log Message”, and the first line of the log becomes the issue title. This way, log messages are clearly distinguished from exceptions, avoiding unnecessary confusion.
To help you understand how events are grouped, Bugsink provides a Grouping tab in the issue details. Here, you can see the calculated “grouper” for the issue, which shows how the event was grouped.
Bugsink allows you to customize how events are grouped using fingerprinting. You can specify your own fingerprints
to control how errors are grouped together, giving you more control over error aggregation. The string
"{{ default }}"
can be used to fall back on Bugsink’s automatic grouping logic, while
additional details can be added to refine how errors are grouped. Read more on fingerprinting.