What is Chronon?

Chronon is like a DVR for your Java applications.

Chronon Recording Server

Chronon records every change made by every single line of code in your program while it is executing, from the very beginning to the end of the program. The recording is saved to a file and can then be transferred across machines and also shared amoung team members

Chronon Time Traveling Debugger

Team members can use the Chronon Recording file to play back the entire execution of the Java program on their desktops and find the root cause of any issues instantly.

Root Cause Detection

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 Traveling Debugger

The Chronon Time Traveling 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 Traveling 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.