As another GeekOut project, we decided to do a “health check” on Bamboo, our Continuous Integration and Release Management tool, to identify any slow parts of the build to improve our product performance and runtime. Here’s how we did it, and what we ultimately found.
Step 1: Getting the Data
We created a folder on our bamboo server, where all content that contained „buildresult*.xml“ are collected, compressed and automatically copied over to Amazon S3 bucket. Next, we opened up Datameer and set up an S3 datastore import job that pointed to the bucket with the compressed .xml files.
Step 2: Analyzing the Data
Once the import job ran, we headed back to the Browser tab to create a new workbook. There, we linked to our S3 datastore, and started doing some basic analytic functions like grouping, filtering, and joining the test files from the Bamboo logs with the average time it took to execute those files.
Once we were satisfied with the analysis, we saved the workbook and ran the analysis on the entire data.
Step 3: Visualizing the Results
Back in the Browser tab, we next chose to create a new infographic so we could visualize our results. We chose a simple Multi-Bar Chart widget, then dragged our data results from the data browser on top of the widget to populate it with our data. The final visualization, below, shows our results in blue, vs. the average results in orange. As you can see, we have several tests that aren’t performing as optimally as they should.
There are two things to note here. First, we now have some idea which tests needs improvement from our side, to speed up our Bamboo build execution time. But second, and perhaps more important, we have a data analysis workflow all set up to be able to monitor our Bamboo environment however often we’d like. Because all three modules, Data integration, analysis, and the visualization are totally integrated within Datameer, any time we re-run the analysis, all three will be automatically updated. So we have continuous monitoring on top of Bamboo.