Product

Chronos 2.1.0 for Mesos released with revamped UI

For more than five years, DC/OS has enabled some of the largest, most sophisticated enterprises in the world to achieve unparalleled levels of efficiency, reliability, and scalability from their IT infrastructure. But now it is time to pass the torch to a new generation of technology: the D2iQ Kubernetes Platform (DKP). Why? Kubernetes has now achieved a level of capability that only DC/OS could formerly provide and is now evolving and improving far faster (as is true of its supporting ecosystem). That’s why we have chosen to sunset DC/OS, with an end-of-life date of October 31, 2021. With DKP, our customers get the same benefits provided by DC/OS and more, as well as access to the most impressive pace of innovation the technology world has ever seen. This was not an easy decision to make, but we are dedicated to enabling our customers to accelerate their digital transformations, so they can increase the velocity and responsiveness of their organizations to an ever-more challenging future. And the best way to do that right now is with DKP.

Dec 17, 2013

Ross Allen

D2iQ

Chronos, the fault-tolerant and elastic Mesos framework for managing cron-like jobs with dependencies, received a major overhaul. Over the past couple months, engineers Brenden Matthews, Harry Shoff, and Matt Redmond at Airbnb and Ross Allen at Mesosphere collaborated on fixing a lot of major and minor Chronos issues and improvements.

 

Faster rendering for long job lists

Most importantly, the UI can now handle displaying hundreds of jobs within a few seconds, thereby improving the rendering time by at least 10X. For your convenience, we are providing a tar archive that you can run on your Mesos cluster or on Elastic Mesos, in a few minutes. Give it a try using the instructions from our Chronos Tutorial. Please note that there is also a Marathon launch script in the bin directory that allows for deployment in seconds.

 

Changelog

 

Major noticeable changes:

 

  • Two column layout, making advanced options hidden by default
  • Removed dependency graph button from job list per feedback from Airbnb
  • Defaulted epsilon to 30 minutes per feedback from Airbnb
  • Normalized lots of font sizes and weights to simplify styles
  • Rendered templates that required no interpolation as plain HTML, meaning the user sees something on the page faster than previously
  • Rendered initial job list with a single write to the DOM rather than one per list item. This drastically reduced DOM access with long lists and decreased rendering time.

 

Major implementation changes:

 

  • Removed all requests to Google's font API in favor of a static stylesheet pointing to the public assets. This also removed a requirejs-plugin dependency, fewer JS files.
  • Upgraded Rivets from 0.4.5 to 0.4.9 and used the JS version instead of the CoffeeScript one to save unnecessary compilation
  • Reduced re-rendering that Rivets was handling
  • Delegated events in job list instead of adding listeners to each list item. This reduces the number of listeners required by dozens or hundreds with large lists.
  • Delegated tooltips in job list instead of adding listeners to each list item. This reduced tooltip listeners from 1-per-item to 1 for the whole list.

 

Minor bug fixes:

 

  • Deselecting the last job item previously forced a re-render of the entire list, which took a long time with a large list. That no longer happens.
  • Sorting the table would not render the correct arrow, depending on where the click occurred. The arrow now always represents the current sort order.

 

Minor features:

 

  • Theme selector in the upper left. Try it out.

 

Ready to get started?