Table of Contents
For a project of even moderate size and complexity, the number of telemetry charts a development team might wish to monitor can explode quickly. For example, development of the Hackystat software itself is monitored by approximately 15 different types of sensor data, across approximately 70 modules, generated from the automated build system as well as the work of approximately 10 active developers. Given that each telemetry stream can be composed from one or more sensor data streams, aggregating over one or more project modules and one or more developers, the problem becomes obvious: which of the literally millions of possible telemetry streams should be monitored for "interesting" development trends at any point in time?
Use of the standard Hackystat telemetry user interface is fine when you already know approximately which charts you want to display, but has short-comings in two scenarios: (a) you'd like to regularly monitor a dozen or more charts, and/or (b) you'd like to automatically extract telemetry charts from the server on a regular basis for display in some other medium (such as a corporate or project web page).
To facilitate these alternative uses of Telemetry, we've designed a client-side software application called the "telemetry control center" (TCC). To use the TCC, you write a "configuration file", which provides a set of Telemetry definitions for the charts you would like to retrieve using the standard Telemetry language constructs. You then invoke the software in either a GUI or command line mode. In GUI mode, the software will pop up one or more windows displaying a set of charts called a "scene", and cycle through one or more scenes depending upon the specification in the configuration file. In command line mode, the software will request the charts specified in the configuration file and save them as image files on your local machine.
One goal of the telemetry control center is to lower the adoption barrier associated with software project telemetry. After the configuration file is defined, it makes a sequence of telemetry charts continuously available to the entire team automatically without any action on the part of developers or the project manager. Since it is designed to display multiple telemetry charts simultaneously, it should make it easier to look for relationships between different telemetry streams. If the telemetry charts are displayed in a common area, it will thus provide passive awareness about the state of the project. Rather than having to wait for a status update meeting, project managers and developers can simply look at the telemetry control center to get a perspective on the state of development.