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.

FAQ

Do I need to modify my source code to enable recoding?

Nope. No source code changes are required.

What platforms does Chronon support?

All four standard platforms Windows, Linux, Mac and Solaris are supported.

Can a recording on one platform be played back on a different platform?

Yes. You can for example, take a recording from a Linux box and play it back on a Windows box.

What kind of programs can Chronon record?

Chronon can record any Java program. If it runs on a JVM, Chronon can record it.

Does Chronon plug into any IDE?

Chronon plugs seamlessly into Eclipse.

Are languages other than Java supported, eg Groovy, Scala, etc?

No. If your code uses Java code mixed with any other language, you can tell Chronon to record only the Java portions of your code.

Can Chronon record from outside eclipse?

Of course. You just need to add an extra argument while launching your app and Chronon will record it.

How do I do ‘remote debugging’?

With Chronon you don’t think in terms of ‘local’ or ‘remote’ debugging, since you don’t set breakpoints and break the execution of a running program. Just record your program on any machine, local or remote, transfer the recording files to your local computer and open the recording inside the Chronon eclipse plugin to debug it.

My program has millions of lines of code. Will Chronon severely impact its performance?

The performance of Chronon does not depend on the lines of code in your program.

Do I need to replicate the original environment when replaying the recording?

No, in fact you don’t even have to be on the same OS or have the jars of your program when replaying. You only need the source code of your app so the debugger can step through it.

Are there APIs available to programmatically start and stop recording dynamically in a running program?

Yes, they are available under the Embedded Chronon license.

What is ‘Project Silver Bullet’?

‘Silver Bullet’ was the codename for Chronon while it was in development.