📜 ⬆️ ⬇️

6 sad squids cuddle tenderly

Translation note: the text is taken from the blog of the company Asana , which is currently beta testing its productivity software .

Many of our users have already encountered "unique error messages" when our application stops working for one reason or another. These messages are rather unusual, and we would like to talk about how we came to them.


In the image: If you contact us about this error, use the following unique phrase identifying the error: 12 old crickets are buzzing with a happy look

')
When diagnosing problems, the ability to associate an error with a user with any information in the logs helps a lot. When the application crashes, we generate a unique ID for this event, which is shown to the user so that he can use it, describing the problem to us. We have not invented anything new, and everything is actually very simple. But using this ID, our tech. support can go directly to detailed information about the problem, which allows us to quickly classify and respond to it.

New is the approach to the generation of such IDs. In most applications, the ID that is given to the user is a long string consisting of numbers and / or letters. This approach has many small, subtle flaws, so out of curiosity and the desire to brighten up a rather unpleasant situation, we decided to try something new.

Offers of numbers



Imagine that you output 32 bits of information (numbers from one to 4 billion) in the form of a sentence, rather than a set of numbers. Each sentence can have the same, predictable structure, and in order to compose them, the number itself can be used to select words in a dictionary. As in the game Mad Libs .

Such a possible structure may be “quantity + adjective + plural noun + verb + adverb”. Well, for example, "6 sad squids embrace tenderly." We can divide the bits of a number as follows:



Having thus obtained an organized dictionary, we can generate 4 billion unique (and sometimes quite memorable) sentences. In Asana, the identifiers used to generate the error message are random, so the same sentence is unlikely to repeat twice.

Auto Tracking Issues



Since we are anxious to provide our users with a positive experience from using our product, we have invested a lot of effort into a system that records problems that occur anywhere in the application — on our servers or in the user's browser. This system collects a large amount of information about the problem (stackraces, logs, application status, user and session information, etc.), automatically groups the same errors and imports them into the internal task list (see screenshot).



Having access to all the problems in Asana, we can view summary information on each problem, such as how many times it has occurred and how many users have touched it. Here we can assign them tags, priorities and send them for editing. This system makes Asana a very effective tracker, as each problem contains a large amount of additional information, including, of course, a way to find it based on the unique error ID that the user sends.

Therefore, if something stops working, you can be sure that this problem has already been included in the task list of our team. And we hope that you will receive a consolation prize. 12 fluffy kittens hug tenderly. Or 8 crazy orcs stomping loudly. Or ... well, you understand.

Source: https://habr.com/ru/post/128428/


All Articles