[DZone Research] Monitoring Tools and Causes of Performance Problems

DZone 's Guide to

[DZone Research] Monitoring Tools and Causes of Performance Problems

We take a look at some survey data on the monitoring tools developers love to use and typical causes of performance issues in code.

· Performance Zone ·
Free Resource

This article is part of the Key Research Findings from the DZone Guide to Performance: Testing and Tuning.


For this year's DZone Guide to Performance, we surveyed 473 software professionals from across the IT industry on various aspects of software performance. In this post, we dissect some of the data about monitoring tools and the most common root causes behind performance hiccups.  

Most Popular Monitoring Tools

When we asked community members to tell us their favorite monitoring tools, an interesting trend appeared. While the top four most popular tools remained the same as in our 2017 survey, none of these tools rates of use have grown by a significant margin over the past year. Here’s a list of the top four tools reported in the 2017 survey, with the percentage of respondents who used them:

  • Nagios (33%)

  • LogStash (27%)

  • Amazon CloudWatch (21%)

  • Splunk (25%)

In this year’s survey, 25% of respondents stated they use Nagios and LogStash (which constituted the two most popular options), 20% reported using Splunk, and Amazon CloudWatch stayed relatively steady at 22%. While there were some increases in the percent of developers using some of the smaller tools, (jClarify, for example, rose from 3% in 2017 to 5% in 2018), the major reason for this dip in the adoption and use of these four major tools seems to be developer habits rather than an increase in competitors. In 2017, 47% of respondents used 3-5 monitoring tools, while in 2018 this number fell to 42%. More significantly, however, was the major increase in developers who use 1-2 monitoring tools. In 2017, only 15% of respondents told us that they use 1-2 monitoring tools; in 2018, this number more than doubled, with 32% of survey respondents reporting that they use 1-2 monitoring tools.

Root Causes

Given that the weekly occurrence of performance issues is on the rise (as discussed in our last article), let’s take a look at the problems developers experience when determining the root cause of an issue. If we recall from the "Frequency of Bugs" section in our last article, database performance issues were the second most common and the hardest to fix. Interestingly, when our audience was asked to give the most common root causes of performance hiccups, slow database queries were voted the biggest problems for daily (14%), weekly (13%), and monthly (11%) timeframes. The second largest root cause behind performance problems (again across these three time frames) encountered by our audience was that there were too many database queries, with 14% telling us that this was a daily issue, 12% claiming it to be a weekly issue, and 10% claiming it to be a monthly issue. When compared to our data from last year’s survey, these numbers appear relatively stable, with slow database queries accounting for the root cause of 12% of daily performance issues, 14% of weekly issues, and 11% of monthly issues. Similarly, in 2017, too many database queries were the root cause of 14% of daily performance issues, 13% of weekly issues, and 10% of monthly issues.


The biggest performance issues developers reported having revolved around databases. But, interestingly, no database performance monitoring solutions cracked the top five tools list in our survey. Will 2019 be the year that database monitoring takes the dev world by storm? 

If you have any database performance monitoring tools you love, drop 'em in the comments!

This article is part of the Key Research Findings from the DZone Guide to Performance: Testing and Tuning.

database performance ,dzone research ,monitoring ,performance ,performance monitoring ,performance tuning ,testing

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}