Introducing ticket matching service

In our first blog post “Error Buckets and Root Causes”, you learnt how Railtown helps you analyze and group errors that belong to the same error bucket. The story doesn’t stop there. In this blog post, you will learn how Railtown uses AI and Machine learning to identify tickets/work items that might have caused the error buckets you are seeing so they can be identified and fixed quickly.

In a nutshell, Railtown’s ticket matching system allows you to see the tickets/work items that are related to a given error in real-time. We achieve this by aggregating and analyzing different data sources: errors data, kanban board data, build information, and more. Before Railtown, it takes significant time for developers to understand each piece of information let alone understand the complete picture at one time. We conducted an experiment where we had a few experienced developers identify the change(s) that caused an error. Not only did they spend quite a bit of time finding the correct match, but they also reported that it was a painful and time-consuming process. To make matters worse, they were not able to correctly annotate the data for all the examples! To name a few difficulties:

Difficulty 1: Raw errors are bulky and messy

The applications generate many logs and errors every day, and understanding what is happening in each error is like finding a needle in a haystack. Processing raw errors is time-consuming because raw errors are typically lengthy and messy, and consist of a lot of irrelevant information.

Difficulty 2: Kanban board contain rich information

Similar to logs and errors, a kanban board contains a rich amount of information as well: tickets, work items, bug reports, progress, discussions, etc. It is again a time-consuming task for humans to digest all of this information on the board effectively and explain what is happening in the application.

Difficulty 3: correlate information from different sources

Whenever an error occurs in the development cycle, developers need to figure out which recent changes (typically captured in the kanban board) might have caused the error, so that they can fix the error accordingly. This is a painful process because not only do they have to deal with many sources of data, they also need to construct the correlation between them to find the root cause for each error.

As we explained, finding the change(s) / cause(s) that lead to errors in your application takes away valuable time from developers. Luckily, AI and machine learning can do this heavy lifting for you, quickly and efficiently. Why would you have your developers repeat this process over and over again, while Railtown’s platform can take care of this repeated process in real-time?

Example

To see a real example, let’s go to the System.InvalidOperationException error bucket page. As we can see, there are 17 errors in this bucket, and we’d better fix it soon!

Upon landing on the error bucket page, you can scroll down to the Matched Tickets section. Here, you can see the top three tickets that Railtown’s engine thinks are the best matches for this error bucket:

  1. Improve loggers
  2. Understand Serilog properties;
  3. Send a notification test from the project configuration page.

You can click on the ticket and it will bring you to the actual ticket page. In this example, the first ticket Improve loggers receives a thumbs-up from one of the team members (see where the red arrow points), meaning that it is a good match! From there, we can start fixing the issue immediately.

Ralitown’s platform is continuously learning and improving over time. Simply give the results a thumbs-up or thumbs-down to tell us if you are happy with the results. This feedback will be incorporated for subsequent matching by clicking on the green button on the top-right corner to manually select a ticket for this error by entering a ticket ID, as the picture shows below.

Our AI algorithm will continuously improve based on the feedback provided by you and your team. To learn more about how Railtown uses AI to help your software development cycle in other areas, stay tuned for our next AI blog post.

If you don’t already have a railtown.ai account sign up and let us help you improve the quality of your software and increase your developer velocity.