The Amazing Chronon 3

Posted by Prashant Deva on November 1, 2012

Its been a long time coming, but Chronon 3 is finally here!

In the next few posts, we will dive deep into what took us so long and all the technical magic that makes Chronon 3 tick. For now lets see what Chronon 3 brings us:

Features

  • Enormous performance upgrade
  • C3-memusage

The number one issues of Chronon users has been running into OutOfMemoryErrors and all of Chronon 3 is dedicated to eradicating that. The all new, rewritten from scratch Recorder is built to conserve memory. It uses off heap memory as much as possible and even then limits the amount of total data collected by the Recorder to be many times lower than that of previous versions. This graph gives you an idea of the improvement.

  • 5x faster unpacking

The Unpacker is much faster too! Apart from consuming much, much less resources, it also runs 5x faster!

  • Per Thread Time

With Chronon 3, we are introducing Per Thread Time, which gives each thread its own timeline, facilitating in must easier and faster debugging. Now the timeline view shows you the time and progess of the current thread instead of the whole system, giving you much more focused data. This is carried on in other views too, like the Stack view shows the current thread only instead of cluttering the view with all the threads in the system. The result of this is much more focused data and it also allows us to make the recorder more concurrent and faster.

  • On Demand Split

In case you missed it, a few months back we also introduced On Demand Split in the Recording Server, allowing you to split recordings anytime, without having to wait for a split interval.

  • Support for JBoss

Previously, Jboss 7 was having issues with Chronon due to OSGI classloader issues. With Chronon 3, this should be solved and you should be able to fully record your JBoss apps.

Future Updates

Now that we are done with this huge release, we will be doing much, much faster releases to keep bringing you new features. Due to time constraints for this release, we have decided not to include the ‘Recorded Console’ view. We think with Post Execution Logging you can achieve the same goal without cluttering your code with println() statements. However, if there is demand for it, we will bring the view back in the next update.

Renewed Trial

If you don’t own a Chronon subscription and your trial has expired, dont worry! You’ll get a fully renewed trial now when you download Chronon 3. Same goes for students. If your student license has expired, request your student license again and you will get a renewed one too.

Download Now

Stop waiting and go ahead and give the Chronon 3 Debugger and Recording Server  a try now!

Embedded Chronon documentation publicly available

Posted by Prashant Deva on October 21, 2012

We have made the documentation for Embedded Chronon publicly available now, including full Javadoc for the Embedded Chronon APIs.

Previously this was available only after you requested a trial.

http://chronon.atlassian.net/wiki/display/DOC/Embedded+Chronon

This way, if you want to see for yourself how easy it is to use Embedded Chronon before you request a trial for it, now you can!

Chronon 2.5.4 released

Posted by Prashant Deva on October 19, 2012

This is our final feature update for Chronon 2 before the Chronon 3 release. The update is mainly to the Chronon Debugger and contains some bugfixes and polish of existing features:

Keyboard shortcuts in Stack View

Keyboard-shortcuts

The Stack View now shows the keyboard shortcut corresponding to each action when you hover over any of the buttons. No need to memorize the shortcuts anymore!

Chronon 3 recording warning

C3warning

If you try to open a Chronon 3 recording in Chronon 2, instead of just a random crash, an appropriate error message is displayed.

More polished Select Value dialog in Method History View

Selectvaluedialog

When you select to filter by ‘Local’ expressions in Method History view, the ‘Select Value’ dialog now enables/disables controls as you select them and does validation on each field to make sure you enter a correct value.

Next up… Chronon 3

As mentioned previously, next post onwards we will start talking exclusively about Chronon 3. Why we got delayed? What have we been upto? How does Chronon 3 get its insane speed?

We know you have many questions. Take the red pill and come with us down the rabbit hole. The answers are coming!

‘Per Thread Time’ and updated Timeline View in Chronon 3

Posted by Prashant Deva on August 21, 2012

While we get the final Chronon 3 build ready, lets talk about some of the UI stuff in Chronon 3. Although this release is mainly focused on insane performance improvements, we have taken some time to improve the Chronon Debugger too.

Per Thread Time

Up till Chronon 2, we only had a single global timeline to represent all events.

With Chronon 3, we are introducing ‘Per Thread Time’, which gives each thread its own timeline, facilitating in must easier and faster debugging.

Timeline View

The Timeline View has always been one of the most critical views in the Chronon Debugger UI. It does the fundamental job of telling you whether you just jumped forward/backward in the execution of your program. Without it, you would be ‘lost in time’. The Timeline view also allows to save Time Bookmarks.

Time Progress Bars

Newtimelineview

The biggest UI change you will notice is that instead of having a single bar showing progress through time, we have 2 bars.

One shows ‘global time’, which tells you how far you are down the execution of the entire program. This is conceptually similar to the single bar that used to be present in Chronon 2.

The bar below that shows you how far you are down the execution of the current thread.

Time Bookmarks

Time Bookmarks now save time as ‘current thread time’ instead of ‘global time’

Conclusion

Per Thread Time is a feature that many users have wanted and is extremely useful.

A lot of times, in a large recording, you can have many, many threads that were created and destroyed throughout the course of the program, and you really want to know whether the code you are debugging in the current thread, are you close to the end of that thread or in the middle. A good example is when debugging uncaught exceptions, since when you are near an uncaught exception, the ‘current thread’ bar will be almost full.

With that said, we are just packaging things up for the final release. Stay tuned to our twitter feed to hear about the release as soon as it is available! 

Morning with Control Flow Graphs

Posted by Prashant Deva on August 4, 2012

Please dont write methods that result in Control Flow Graphs (CFGs) like this (takes 5 seconds to load full image on windows image viewer on my 12 core machine with the latest SSD):

Execute

 

Chronon and Jubula join forces

Posted by Prashant Deva on July 3, 2012

Chronon Systems and BREDEX (the company behind Jubula), have joined forces to bring you the best of both testing and debugging worlds. Official press release here.

If you dont already know about Jubula, it is a wildly popular test automation tool and part of the Eclipse project. It forms the basis for ‘Eclipse for Testers’.

Their is also a commercial version of Jubula called GUIdancer with some extra features. 

Both Jubula and GUIdancer now integrate with Chronon and Embedded Chronon

(Note: From this point on, instead of mentioning ‘Jubula and GUIdancer’ everywhere, I will just mention ‘Jubula’ to refer to both.)

How does the Chronon integration with Jubula work?

Tests that are created and executed in Jubula can now be recorded with the Chronon recorder, using a simple gui configuration.

The Standalone version of Jubula now ships with the Chronon recorder by default, enabling this integration.

This means you can record all your tests within Jubula and if any one of them fails, you can take the Chronon recording of it and debug it using the Chronon Time Travelling Debugger.

Can the Jubula-Chronon integration be used outside of the Jubula GUI

Note that although you can technically run your Jubula tests with Chronon enabled, outside the Jubula GUI, that use case is not recommended or supported by either Chronon Systems or BREDEX.

To record outside of the GUI (Jubula test environment), please look at our Chronon Recording Server and Embedded Chronon offerings, which are explicitly designed for and support such use cases.

Is the Chronon and Embedded integration available only on standalone version of Jubula?

Yes.

The ‘Eclipse for Testers’ release does not contain the Chronon recorder due to the rules of Eclipse foundation not allowing any non-EPL code in an Eclipse download.

Do I need to download the Chronon Time Travelling Debugger separately?

Yes.

Since the standalone version of Jubula doesnt contain Eclipse JDT, a dependency of the Chronon Debugger, you need to download eclipse separately and install the Chronon Debugger plugin in it. If you already have an eclipse installation, just add the Chronon Debugger plugin to it.

Also since the Time Travelling Debugger is a commercial product, after the 30 day trial, you can either:

How does the Embedded Chronon integration with Jubula work?

Jubula is one of the first open source projects to ship with Embedded Chronon.
This means you can record Jubula itself.

Embedded-chronon

Thus if you run into a bug with Jubula:

Instead of send a detailed bug report to the Jubula bug tracker with instruction on how Jubula developers can reproduce the bug on your box, you can just record the bug and attach the Chronon recording in a bug report at theJubula bug tracker.

This also means Jubula devs don’t need to go through all kinds of hoops to reproduce your bug on their side and can diagnose and fix the bug quickly!

Note that in the current version of Jubula, you have to modify the jubula.ini file to enable the Embedded Chronon before you can record Jubula with it. This is not something that is required by Embedded Chronon, but is due to some technicalities on the Jubula side which will be changed as a part of the the next Jubula release. For the moment, you just have to remember to comment two lines into the Jubula.ini to let you start the recording from the Jubula ITE.

So, what are you waiting for, go ahead and download Jubula with Chronon and speed up your development and testing processes!

Chronon 2.5 released

Posted by Prashant Deva on June 29, 2012

While we get Chronon 3 ready, we thought of making an interim release with some goodies our users have been asking for:

Chronon Recording Server

Recording Server is the highlight of this release, and contains the most voted feature from our users:

On Demand Split

Crs-splitrecording

Now when you encounter a bug while testing/QA, no longer do you have to wait for an ‘automatic split interval’ or do a ‘Stop Recording’ which results in a lengthy ‘deinstrumentation’ phase and then ‘Start Recording’ again (which will result in another lengthy ‘instrumentation’ phase).

Just click the new ‘Split Recording’ button and a recording is created instantly on disk and the recorder keeps running!

Here is a demo video demonstrating this feature:

Make sure you get the latest version of Recording Server now!

Chronon Time Travelling Debugger

Some enhancements based on user feedback:

Timeline View

Timelineview
  • An Id column has been added to allow easily referring to each time bookmark by an id, instead of a complex, lengthy ‘time’ value.
  • All columns are now sortable.

Exceptions View

Exceptionsview
  • An Id column has been added here too.

Dont forget to update your debugger!

Embedded Chronon and Chronon Recorder

Plenty of bugfixes and minor performance enhancements in the Chronon Recorder for users of Embedded Chronon and Chronon Recording Server.

If you were getting a corrupt recording when using either Embedded Chronon or Chronon Recording Server, these bugfixes should now prevent that.

Also for the first time we have updated the native agents too, from version 1.0 to 1.1.0.

Simplifying chrononsystems.com

Posted by Prashant Deva on June 9, 2012

As we get all set to release Chronon 3, we noticed that some elements of our website were causing confusing among our visitors, thus we decided to update it. Below is the description of what we changed and why we did so.

What has changed

The changes we made really boil down to the 2 most visited links on the header menu of the website: ‘Pricing’ and ‘Download’.

The change we have made is that we have removed those links from the header menu.

Why remove links from the header menu?

Now, you are probably thinking why would we remove what are probably the most visited and important pages of the website!?

Well, first of, rest assured, the pages still do exist, they have just been moved around to a more appropriate location. Details are as follows:

As it turns out, when we launched last year with our first product, the Chronon Time Travelling Debugger, we were a single product company, so it made sense to have a single pricing page and a single download page. It caused no confusion whatsoever for the visitors since they got exactly what they were looking for.

However, fast forward to now, we have multiple products, 3 in fact:

  1. Chronon Time Travelling Debugger
  2. Chronon Recording Server
  3. Embedded Chronon

We even branded the ‘solution’ we offer as a combination of these products as ‘DVR for Java’ and came up with a brand new redesign and look and feel of the website in October 2011.

As it turns out, the redesign was an evolution of the structure of the previous website. Thus, although it had a ‘Products’ menu, allowing you to view each product, it still had a single ‘Pricing’ and ‘Download’ page. And this led to a ton of confusion for the visitors.

Confusions Abound

For example, here is the previous ‘Download’ page:

Old-download

As you can see it contains downloads for both the Recording Server and the Time Travelling Debugger.

However, a lot of visitors to the site who came because they heard of the the Time Travelling Debugger, when they clicked the Download link, and saw a download button for the Recording Server, it got them utterly confused.

In fact, we received so many support mails on that, that we actually had to put a section on the side which literally said ‘What is the Chronon Recording Server‘, along with the links to the Product Overview page to explain that we have multiple products.

Old-download-questions

A clickmap of the download page showed that these links were indeed being visited by a lot of users and thus provided us with more evidence that there was a ton of confusion.

Download-clickmap

In the pricing page, we tried to solve this problem by tabs and having different tabs for each product.

Old-pricing

Again this was not a perfect solution since, the tabs were not all that eye catching and still didnt give the user an instant feedback that there are multiple products involved.

The new changes

So to simplify things, we have removed the single page ‘Download’ and ‘Pricing’ from the top menu bar and placed ‘Download’ and ‘Buy’ buttons on the pages of each product.

New-debugger-pageNew-rs-page

This way there is no confusion, if you are on the Time Travelling Debugger product page and click on the ‘Download’ or ‘Buy’ button, you don’t see the Recording Server. Same with the Recording Server buttons.

New-debugger-downloadNew-debugger-buyNew-rs-download
New-rs-download

Also since you probably got to the Recording Server page, by clicking on the ‘Products’ menu item, you know that multiple products are involved.

We hope this change will simplify things a lot for our visitors.

More to come….

We are still working on making continuous improvements to the website as we go along and in the spirit of the ‘Engineering Chronon’ blog, we will keep you informed of the changes and the rational behind those changes.

Stop pressing the ‘Stop Recording’ button in the Recording Server

Posted by Prashant Deva on May 10, 2012

Do you press the ‘Stop Recording’ button each time your app runs into a bug and you want to examine the recording? Or do you press it once your test suites have finished running?

Turns out, that is not the way we designed the Recording Server in mind!

Recording Server Workflow

Here is a document describing the workflow of using the Chronon Recording Server:

http://chronon.atlassian.net/wiki/display/DOC/Recording+Server+Workflow

Chronon 3 beta Update 1

Posted by Prashant Deva on April 24, 2012

We have just released the first update to the Chronon 3 beta.

Recorder Binary version number: 3.138 

This update contains:

1. Fix for linux users who were crashing with the following error msg

/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9′ not found 

You shouldn’t be seeing this anymore.

2. New much faster, ‘low’ compression option!

In the Recorder Configuration file, you can add a property to use the new, much faster compression algorithm:

compression = low

More specifically, previously we used Deflate for compression, but using compression=low in the config file will use Snappy which is an order of magnitude faster albeit with a lower compression ratio.

Note that this configuration option in the configuration text file is only temporary during the beta. Once Chronon 3 is released, you will be able to control this setting through the Recording Server UI.

Also some clarifications…

Apparently some of the earlier mails sent out said that ‘Chronon Recording Server 3‘ is available for download. That is incorrect.

The Recording Server is still at version 2 and its binaries haven’t changed. Chronon 3 currently just consists of the recorder binaries and you just need to copy/paste them in your existing Recording Server (v 2) installation to use them.

Our apologies for the faulty mail. 


Download now

If you haven’t already got Chronon, fill this form to get it instantly!

 

« Previous 1 2 3 4 5 6 7 8 9 10 11 Next »