What should I do if a customer has found a bug in the system? You try to reproduce it locally, create an automatic check and pass it to the developer, right? Seems easy. However, it becomes confusing if the customer sees a bug, but we don't. The problem probably hides in a tricky combination of input data. We should investigate what caused the problem.
We went a long way to diagnose such cases. At first, we collected data through SQL scripts. Then we automated them, even progressing to integrating them into the system. Finally, we simplified our deployment by delegating this task... to a Telegram bot!
I will tell you about our experience, and you'll probably find something useful to implement in your projects.
You will learn about:
— real-life cases "Got a problem - struggled with a solution";
— examples of investigation results;
— Telegram bot source code that runs Docker on a virtual machine and initiates Maven build in it : https://github.com/hflabs/dolores