Chronon provides an extremely powerful set of tools, built from the ground up to allow easy root cause detection of an issue in long running, multithreaded programs.
Chronon Time Travelling Debugger
The Chronon Time Travelling Debugger is specifically built to debug server side applications that run for weeks/months.
It allows you to jump to any point in time of the execution of your program instantly, with no delay, and examine the entire state of the program at that point, including the stacks of all the threads and the entire heap. It even has step back functionality so if you jump to say an exception, you can step ‘back’ and see what was it that caused that exception to be thrown in the first place.
It shows a global view of all the method calls and variable assignments independent of thread and allows you to then filter those by a specific thread, allowing easy debugging of multithreaded programs in a way that wasn’t possible before.
Post Execution Logging
Post Execution Logging is a part of the Time Travelling Debugger and it allows you to add logging to your program *after* it has executed. You can add logging to any piece of code and see the results instantly as if the logging statement was already present when the program originally ran.
You can click on a line of log output within Chronon to instantly jump to the point in time when it was output and see full state of your program.
This reduces logging related clutter in your code and it also means you don’t have to debug using huge log files.