Catalysts, a local IT consulting company, is regularly organizing the Catalysts Coding Contest, and we were happy to sponsor the most recent one that took place in Hagenberg, Austria on December 14, 2012. In this contest, participants get seven assignments to be completed in a programming language of their choice, and upload their solution to a CatCoder server where they are evaluated against test data sets. We used Dynatrace to monitor their environment during the contest and want to share some of the dashboard we used in this blog post.
The “CatCoder Page Performance” dashboard shows an overall view on user experience data collected during the contest’s runtime (14:00-18:00).
It’s interesting to see that the majority of participants was located in Europe and didn’t suffer significant user experience issues during the contest (“Global Performance Overview”), with the exception of the last 15 minutes which obviously saw increased network load due to people uploading their completed assignments (“Connect Performance” and “Document Load Breakdown” charts). Server load correlates with the number of assignments handed out – we see seven humps in the server load part of the “Page Action Time Breakdown” chart.
On the “CatCoder Performance Overview” dashboard we see how different tiers contributed to overall transaction duration.
What’s interesting here is the number of failed transactions, which we will take a deeper look on:
Looking at HTTP errors, the largest chunk goes to HTTP 403 errors, indicating access to resources that would require authentication. More interesting are HTTP 500 errors, which affected a total of 220 transactions:
Drilling down to the exceptions dashlet tells us more about the reasons behind these failures:
The exception thrown most often is related to validating bean properties during storing objects in the database, causing subsequent errors as the insert operation fails. Also interesting is the fact that 42 transactions were affected by deadlocks, and by drilling down to the PurePaths dashlet we can identify the statements:
And, last but not least, we’d link to congratulate our colleague Philipp Lengauer for making his way to #11 in the Hall of Fame!