Engineering Chronon

All the technical and design details on Chronon - The DVR for Java

Blog has moved

Since Posterous is closing down, we have moved this blog to:

Chronon 3.5 - Java 7 now supported

Its taken us a while, but Java 7 support is finally here!

If you use the Chronon Recording Server, you have to add one extra argument (alongside the jaavaagent arguments): -XX:-UseSplitVerifier

Note that we don't support other dynamic jvm languages like Groovy, etc, so the invokedynamic instruction in the jvm (which is used by these lanagues, not Java) is not supported by Chronon.

Download now:

Filed under  //   

Recording Server now runs with just a double click

The Chronon Recording Server installation was quite tedious for some users since it involved configuring and installtaing multiple components and needed a standalone container for deploying recordingserver.bat.

We have made things much simpler now with version

Just double click on start.bat( or to start running the Recording Server and Chronon Controller processes.

Full details here:

Chronon 3.2 released

We usually update Chronon so often (almost every few days) that when we even sometimes we do a traditional company style update, which takes a few weeks, our users get a little upset :-)

But not to worry, because version 3.2 is finally here!

We got delayed a bit with this one because some of the bugfixes and performance enhancements we wanted to make needed us to change the recording file format in a way that broke compatibility with previous versions of the debugger. Thus we combined a bunch of fixes/updates into one big update. Here is what it contains:

Unpacker Performance and File size improvements

Both the file size and time taken to unpack have been reduced by almost 20%. Enjoy a faster Chronon experience!


Bug fixes

Tons of them. If you were running into bugs in the debugger, you couldn't be anymore. If you use the Chronon Recording Server, make sure to update the Chronon Controller since this one contains a critical bugfix.

Enjoy the new Chronon and rest assured our future updates will not take this long.


Filed under  //   

Dark Eclipse theme

Intellij IDEA recently launched with a cool new Dark theme, so I set about to find something equivalent for my beloved Eclipse.


Apparently it didn't take me too long. All you need to do is :

1. Make sure you have the latest version of Eclipse, ie, Juno

Sorry but previous versions dont exactly support theming. 

2. Download the 'Dark Juno' theme

This will change the color of all eclipse view and toolbars to a dark theme. However we still have to change the color theme of the editor.

3. Get the Eclipse Color Themes plugin

Install a dark theme for the editor from there. I personally recommend 'Oblivion'. It is also the most popular theme on the site.

And tada! You now have 'Dark Eclipse'! Granted the theming is a bit rough around the edges but you didn't have to fiddle with your OS color schemes and takes only minutes to setup. You end up with a nice, eye soothing color palette for an application you will be looking at all day :)


Chronon Debugger now free with Chronon Recording Server

More bang for your buck!

Now every license of the Chronon Recording Server gets you a free Chronon Debugger license. So a 5 jvm license of Recording Server, gets you a 5 developer license of Chronon Debugger.

This means for just $500 for Chronon Recording Server Lite, you can get the full Chronon experience! 

Enjoy squashing bugs!

Announcing Chronon 4 'Ops' Preview

It was never just about debugging. When we started making Chronon from day 1, the vision was always to do something greater with all the captured data. Thus, today we are announcing the preview of Chronon 4 'Ops'; a revolutionary monitoring and analytics tool.

I will keep my words in this blog post to a minimum, and let the demo of the product do the talking. We have a full page describing Chronon 4.

Make sure to watch the video and read the whitepaper.

>> Learn more about Chronon 4


Chronon coming soon to Jelastic


I am pleased to announce our new partner in crime Jelastic!

For those who don't know, Jelastic is the new, super awesome PAAS for Java which allows you to easily deploy your Java applications and automatically scale them. Unlike AWS, Jelastic allocates server resources dynamically, so if your Java program is sitting idle, you are not getting charged for any extra cpu/memory. This also means you don't have to deal with careful resource planning, since if your program needs needs more horsepower, Jelastic will automatically scale up and then down when not needed, charging you only for what was actually used.

For Jelastic users, begining in early Q1 2013, we are bringing the Chronon Recording Server. You will be able to install Chronon Recording Server with just a few clicks on your Jelastic apps and get rid of ever trying to reproduce bugs!

If you want to use Chronon on Jelastic right now, you can still use Embedded Chronon to do so.

Chronon and Vaadin join forces


Discovering Vaadin

Last year when designing our Chronon Recording Server, we were looking to choose a nice web framework among the tons available for Java. Now, at Chronon, we love Java but we are no experts at javascript. In fact the weakly typed nature of javascript and the cross-browser issues makes me cringe at the thought of using it for large scale applications. That said, if you want to create a modern day web app, you gotta get down and dirty with it.

Thus our first choice was GWT which allows keeping all our code in Java and dealing with javascript at a minimum. However, when we started looking at GWT we realized it was really a disparate bunch of components and we still had to do a lot of work to create a 'framework' around it that would make those components work together well in an actual application.

That is when we ran into Vaadin; and it was love at first sight! Vaadin allowed us to create a full modern looking web application entirely in Java, almost like a Swing application, without even knowing there was any javascript/css involved. The components and themes out of the box were already beautiful and modern looking and to change the look we didnt have to resort to a ton of css hacks. It was nirvana and we now cant think of using any other framework!

Desperation turned love affair

That said, as is true with all things real life, we did run into some issues, of our own making mind you. Apparently we were using a 3rd party Vaadin component 'ICEPush', to allow automatic ajax-push in our web applications. The problem was that once in a while the 'push' would somehow cause the UI to become all gobbldygook. A lot of our customers were reporting this issue too. Although refreshing the page would make things go away, it was definitely annoying for the people using our product.

So we turned to Vaadin's Commercial Support to see if they could solve the issue. And as would be expected, the support team asked to somehow replicate the issue on their side, so they could go with a debugger to look for the issue. Now here is the thing about the Chronon Recording Server, to replicate an issue in it, you have to setup a bunch of processes: the recording server process, the controllers, the java apps that will be recorded. Once you have done that, the support person has to play with the GUI for an indefinite amount of time before they run into that error, and *hopefully* they will have a breakpoint set in a location which will allow them to find the root cause of an issue. And if they miss putting the breakpoint in the right place, they have to try all this all over again. Also did I mention, we would have to send them our entire source code so they can look at where exactly we call icepush from our code. As you can at this point, we are at an almost impossible situation to reproduce and resolve the issue. It could take many, many weeks to solve this and we would end up spending a ton of money to purchase all those support hours.

That is when it dawned upon me. Why not use the Chronon Recorder to record our Chronon Recording Server! So we made a Chronon recording of the bug on our side and handed it to the Vaadin Support Team to playback in the Chronon Time Travelling Debugger. The bug was solved in 20 minutes flat!

Yes, something that would have taken weeks of time, and tons of effort on both teams to communicate the issues, and cost us thousands if not tens of thousands of dollars was solved in 20 minutes, with no communication required, other than sending the recording file!

Vaadin and Chronon, now together

As you can guess, both the Chronon and Vaadin executive team thought we should definitely take this to the next level. So from today, Chronon is now part of Vaadin's Pro Account. If you are a Vaadin Pro account user, if you contact their support team with an issue, they will send you a free copy of Embedded Chronon which you can use to record the bug in your application. Then you can just send them the recording and that is all that is needed for the team to replicate and resolve your issue. No need to create sample programs or going through tons of hours of communication to set up things on the other side to reproduce the issue. You can even send them a recording created using Chronon Recording Server or Chronon Time Travelling Debugger and they will make use of it. 

We believe this partnership will help Vaadin users to not only rapidly create rich web applications but also not worry about any issues or long standing bugs in them.

Learn more about Vaadin and their amazing framework and their Pro Account Services.


Filed under  //   

Chronon 3.1: No more crashes during time travel

Its not even been 2 weeks and 3.1 is already here! We told you we will be releasing fast from now on.

3.1 is a bugfix release.

If you had any issues with the debugger, eg NullPointerExceptions, unpacking issues, etc; they should all be fixed now.

For the Recording Server, all issues with recorder crashing or corrupt recordings should be fixed. If you have an existing Chronon 3 Recording Server installation, you dont need to update the controller processes. Also if your Chronon 2 trial has expired, you should now see a form to automatically download an updated trial license (instead of needing to send us a mail).

We have had great feedback on the improved performance of Chronon! Enjoy!

Filed under  //