Announcing Metrilyx

A couple of months ago, we announced the availability of Ticketmaster’s visualization and analytics platform ‘Metrilyx’ as an open source offering at the Southern California Linux Expo.

We use Metrilyx internally at Ticketmaster as our engineering and operations dashboard platform with OpenTSDB as the data source. With Metrilyx it’s quick and easy to create dashboards for time series and performance data. Some of our more interesting graphs actually track business metrics like ticket orders per second. Metrilyx is incredibly flexible and supports several million data points per page. Our dashboards refresh multiple times per minute!

Motivation

The name Metrilyx comes from “metric analytics”.  The initial development of Metrilyx stemmed from the lack of visually appealing and interactive graphs in the OpenTSDB tool chain. We imagined a system that could leverage the tagging capabilities of OpenTSDB and which would allow us to decentralize dashboard creation and ownership into our delivery teams. We wanted to set our metric and performance data free!

Community

We also want you to be able to set your metric data free, so we released Metrilyx as an open source offering. We’re really excited at the very positive reception Metrilyx has had in the open source community where we’ve seen great contributions and feedback. 

Tech

In the first version of Metrilyx we used HTTP GET and POST requests to fetch the graph data. We quickly realized that page rendering time was poor due to the browsers limitation on the number of concurrent AJAX requests that could be made to a single domain. The result was that the browser was queueing requests and our graphs were showing out of date data. When we decreased the update frequency it didn’t help.

Further, while the browser was wasting time making HTTP requests the overall user experience was unappealing and generally poor. In recent releases we’ve improved Metrilyx to use asynchronous websockets and persistent connections. We’re using Twisted and the Autobahn framework so that the deflate extension is supported in each websocket message.

Performance and Feature Improvements

So with these performance improvements we’ve removed overhead from the Metrilyx backend by ensuring end to end compression all the way to the client. This change significantly improved the overall performance and user experience. Requests are no longer queued and we still get end to end compressed data for low network bandwidth.  The UI is more responsive as the browser has to make fewer HTTP connections. 

UI performance improvements have also been made for a smoother user experience. Read on…

Frequent Updates & Dog Food!

Along with the performance enhancements our latest Metrilyx 2.3 release brings some exciting new features including event annotations, improved metric search experience, new graph types and graph arrangement optimizations.

Event Annotations

Graphs can be annotated with any event occurring in your ecosystem.  This allows you to correlate fluctuations in performance with changes in the environment.  Annotations can be alarms, log messages, deployments, infrastructure changes or any other structured data you’d like to plot.  Each annotation can contain arbitrary user data like email addresses, escalation, priority, contact group, etc.

Multiple Graph Types

Users can choose from a wider range of graph types including line, area, stacked and pie charts. 

Multi-Pane Graphs

Our multi-pane graphs allow you to view and compare closely related data sets while maximizing space above the fold.

Richer Metric Search

Metrics, tag keys and values can now be searched via regular expressions. We built this feature to address OpenTSDB’s search limitations. By allowing users to perform complex queries they can discover the metrics that matter to them.

Better URLs

We simplified the URL structure so that links are easier to manipulate and share with your team.

Happy Graphing

We’re so excited about our Metrilyx offering and we hope you like it too! For more information about the project such as the roadmap, development progress or if you’d like to contribute, visit us at our Ticketmaster Github group.

Happy graphing!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s