Introducing ticket matching service

by

Mark Ma

June 25, 2021

4 Min

reads

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.


Keep reading

AppInsightsBest Tools to Integrate with Railtown.ai

Railtown.ai helps you gather the information you need to efficiently resolve an error, but by combining our application with other tools can take your developer workflow to the next level. So today, we’d like to go through 2 popular tools that we recommend for expanding your team’s capabilities: New Relic and Azure Application Insights.

by

Marwan Haddad

January 6, 2023

5 Min.

reads

CultureHow to Build a Positive Culture Within Development Team on Debugging

Too many software development teams treat error logging as a burden rather than a chance to grow.That’s why Jeli’s “Howie: Post-Incident Guide” felt like a breath of fresh air. In the guide, Jeli’s team notes that negative treatment of bugs is everywhere, including the language we use to describe software development. Terms like “post-mortem” and “root-cause analysis” speak for themselves.We’d like to build on the suggestions put forward in Howie and share our perspective on error logging as well. So let’s take a look at how a small mindset shift around debugging could encourage more positive moments in your team.

by

Marwan Haddad

December 1, 2022

5 Min

reads

Error BucketNode.js Monitoring: Performance Monitoring Best Practices

Plenty of developers who start coding in Node.js do so because of how easy it is to get started. But once you are ready to take your application to the next level, you need to take a step back. Why did you choose to build in Node.js, and where do you want to take your application from here? To scale your Node.js application, you need to figure out just how to use performance monitoring to your advantage.

by

Marwan Haddad

November 21, 2022

5 Min

reads