Electric Command (now known as CloudBees CD) is amazing tool for streamlining and automating your build, test, and deploy software development cycle. But it’s usefulness goes even further out-of-the-box. Commander generates a large pool of data related to it’s activities and that can be extended by adding your own custom data points. By tapping into this data, you can accomplish a variety of tasks, like further optimizing your development process, monitoring your system behavior to diagnose problem situations, or presenting key stats to various parts of your organization in an easily understood manner.
Recently, a client asked for us to create a commander dashboard that would look at a collection of their scheduled jobs and graphically display a set of information for checking on the health of their build system. They wanted to be able to identify regular patterns of slowdown in order to find effective ways to better optimize their infrastructure.
After building this dashboard for them, our client was immediately able to make useful observations leading to faster development cycles and ultimately saving them a great deal of time and money. Why did it help so much? Because when all of your relevant pieces of data are grouped onto one screen on a visually intuitive way, unusual system behaviors just jump out at you. When those pieces of data are linked directly to their source, drilling down for investigating root causes is easy.
So now, let’s have a look at an example version of the dashboard page we created for them. When the dashboard page first loads, this is what you’ll see. Over here will be the title of the dashboard. I’ve just given it a placeholder for this demonstration. And the link to the configuration properties page. That’s where the user can customize the information that can be displayed. And then there’s this dropdown menu that allows the user to select the time frame of the scheduled jobs they would like to review. I’m going to select the 1 year option. You can select short-term time frames, such as all the jobs from the current day or week, or they can look at a larger range like the past 6 months, year or all available jobs. Besides selecting the time frame from this menu, the user is also able to pass in time frame arguments through the pages URL. This allows the user to create a set of bookmarks to link to the data set they would like to see and skip the need of selecting an item from the menu. As you can see the name of the schedule appears in this left column followed by a visual representation of the ration of past jobs to failed jobs. if we hover the mouse over this graph, we see the actual number of past and failed jobs. And if we click on the graph, a dialog pops up. This dialog shows the name of the schedule and a color coded list of all the jobs in the time frame we are viewing. Clicking one of those rows takes us directly to the job detail page, making it easy for us to identify and investigate potential problems. Next is a calculation of the average elapsed time for two specific steps within the job. The client wanted to pay particular attention to these two steps so we made the dashboard able to display this kind of information for an arbitrary number of job steps. For instance, if the client decided there was a third step they wanted to track, they could add that step in the configuration area and another column would show up there. Finally, in the right column we have a button that toggles on and off for each of these targeted steps. Using these graphs, identifying steps that took an unacceptably long period of time is easy. Hovering over a time on the graph shows the job ID and the amount of elapsed time on that step. On the left is a list of all job IDs and times. Clicking on a job ID will take the user straight to the job details page allowing the user an easy way to investigate any abnormalities.
If your organization is in need of it’s own Electric Cloud (now named CloudBees CD) dashboards or customizations, contact SPK and Associates today at https://www.spkaa.com