Application Performance Monitoring in the Gaming Industry

The gaming industry delivers specialized software at scale to users who expect a flawless interface. Application performance monitoring (APM) will measure critical software performance parameters using telemetry data. By monitoring this data, teams can ensure their game delivers the best user experience and quickly detect when the software needs updates to fix errors or meet key performance indicators (KPIs). 

Application performance monitoring in gaming is generally separated by monitoring the user’s machine performance and the host’s servers and software. Here we will discuss what game publishers can do to improve the gaming experience for their users and how to approach the integration of APM with gaming software.

Why Does the Gaming Industry Need Application Performance Monitoring?

Active application performance monitoring can highlight and help diagnose problems earlier before affecting many users. Monitoring telemetry data will show when there are issues with your game’s responsiveness or user experience. It will allow software teams to track in-game errors and record how users interact with games to ensure meeting business targets.

Monitoring game responsiveness and latency

High responsiveness and low latency are critical for games to succeed and draw players back daily. Reducing latency is especially important in cloud gaming since the player experience is tightly tied to latency issues. A delay between a user action and the app responding to that action can make games unplayable to users. 

Latency issues can be caused by delays on the server hosting the game. These are directly in the control of software teams to monitor and fix. Application performance monitoring can reveal server latency issues in real time so that DevOps teams can be deployed to resolve issues efficiently. 

Wireless mobile networks can exacerbate latency issues on mobile games that add extra time to process user interactions, making the app appear less responsive. Application performance monitoring metrics for these games must be set up to differentiate data geographically. DevOps teams must determine if an issue is isolated to specific regions to provide an effective solution. Latency issues can be masked if collected data is aggregated across regions where only some locations are experiencing issues. 

Optimizing player experience

Player experience in gaming is a measure of how satisfying and easy to use your game is. Your game should evoke positive emotions and draw users back to it, choosing it over other games. A bad user experience can drive users away from your app permanently. 

Application performance monitoring should collect telemetry data that indicates if the player experience is objectively successful. Data collected to measure user experience includes:

  • Task success rate: how many users complete a task in your game? This could include passing a level, signing up for a new feature, or making an in-game purchase
  • Task completion time: how long does it take users to complete a task? This can be measured in different ways, such as the mean time to failure and the average time on a task. This data should be collected regionally to determine if factors like latency affect task completion time.
  • Error rate: the percentage of bad entries made by users. This rate relates to the number of user attempts made to take action and the number of errors resulting.

These statistics can help management and design teams understand where users are getting stuck within your game. When users have to spend too long on a given level or task, they are likely to abandon the task and may also abandon the game. This data helps design a balance between engaging players and allowing them to progress through the game while feeling satisfied with their accomplishments.

Managing KPIs and business metrics

Business KPIs to measure in games include retention, churn, conversion, and revenue per user. For some applications, marketplace providers do give these metrics for use. If these are included in application performance monitoring telemetry data, software teams can get more insight than what marketplaces alone provide. 

Marketplace metrics will, for example, show the retention rate or how many users have uninstalled the app over time. Performance metrics can also match this uninstall action with other events to help explain why users have left the game. It may be that users in a particular region experienced so much lag that the game was unplayable. This is critical to know so software teams can fix the problem instead of it being hidden by limited data context.

Tracking in-game errors and failures

Game software is complex and requires very fast feature turnover. Many in-game features need to be delivered to users quickly for a game to be successful. With this inherently will come bugs. These could be memory management errors, excessive code with insufficient testing, device incompatibility, and network issues, among other error sources.

While all software teams will need to troubleshoot and fix bugs, having the data available to identify, diagnose and fix these bugs will set your team apart. Limiting the users who experience the errors and the number of times users see the same issue will help make your game successful.

Adding Application Performance Monitoring and Management to Games

Application performance monitoring tools must collect and effectively display telemetry data to software teams. Considerations for which telemetry data to focus on and which tool to use to collect and analyze data depend greatly on the design of your gaming application. One significant difference in applications is whether they are online or installed games. 

Online games typically use a thin client on a webpage that connects to either a local private or cloud server. A common metric that should be monitored with these games is latency, as it is a common performance problem. To reduce latency issues, software can utilize a distributed model content delivery network (CDN), allowing servers close to users to serve their data. Monitoring distributed applications require tools to collect distributed data in a centralized location for display to DevOps teams.

Monitoring online games also require accommodation of sudden bursts of telemetry data transmission when user traffic increases. This commonly follows events like new feature releases. Ideally, the tool chosen will not penalize for accommodating traffic spikes with additional cost

Installed games include phone applications like android or iOS apps. A wide range of phones will be used for each operating system, and software teams need to develop software that will run effectively on all supported hardware. Application performance monitoring telemetry data should include device and application version data so events can be correlated to a specific release and device problem. Without this information, accurately reproducing or tracking issues becomes virtually impossible. 

Application performance monitoring tools will need to collect and aggregate data so that DevOps teams can easily visualize system performance and spot problem areas. Aggregating data by region and device gives insight into how widespread problems are and where to start looking for possible solutions.  

Summary

Application performance monitoring in the gaming industry helps ensure your game is successful and loved by users. Collecting and adequately aggregating telemetry data from online and installed games can highlight problems for software teams to solve, like latency, in-game failures, and missed KPIs. Visualizing and alerting on anomalous events sets your DevOps team up for success in making your game memorable and indispensable.

New Relic Vs Appdynamics Vs Dynatrace

We’ll look at 3 popular APM tools: New Relic, Appdynamics and Dynatrace to see where their strengths and weaknesses lie, how they can help you improve, and how they compare to one another.

APM and Log Analytics

First off, it’s important to make a distinction. Many people confuse APM tools and log aggregation tools. They’re both important, but there are some significant differences in terms of how they work and the functions they each perform.

APM (Application Performance Monitoring, or Application Performance Management) is focused primarily on user experience – for example load times and response times – and resource use. This would include how long it takes a graph to load, the length of time from click to presenting information from the database, or the load on CPU and memory storage (which will actually end up having an effect on user experience in any event). It’s very much about performance – what’s going on right now.

Log aggregation and analytics, however, takes a more contextual view. With logs presenting historical data, they can be used to get to the bottom of an issue, including where and how it started. Logs are also used when it comes to compliance and security issues.

Due to the massive amount of logs generated, log aggregation is used in order to analyze the logs and highlight key issues. In this post, we’ll be turning our attention to 3 of the best-known APM tools.

The Comparison: New Relic Vs Appdynamics Vs Dynatrace

We’ll compare the 3 APM tools across a number of metrics.

New Relic provides their solution to over 15,000 clients, from Fortune 500 companies to smaller and medium-sized businesses. Founded in 2008 by Lew Cirne (the letters spell “New Relic”), the company launched its IPO in 2014. AppDynamics, which is now owned by Cisco, is primarily focused on larger enterprise clients. While Dynatrace values simplicity and the overall picture, is extremely security-conscious. It’s known for its ease-of-use, automated installation and end-to-end coverage.

Features

All 3 of these solutions have a number of different elements that feed back to the central dashboard. These include backend monitoring, server monitoring, database monitoring and the analytics element.

One of the challenges when it comes to APM is what to flag and what to highlight, especially given the fact that so much information is flowing through. This question also highlights some of the key differences between the solutions.

New Relic uses the Apdex score index, which is essentially thresholds set by the user. Appdynamics and Dynatrace on the other hand, use their own dynamic baseline and report deviations from this baseline.

When it comes to features around monitoring performance (CPU usage and memory, for example) AppDynamics offers a richer suite of tools, although all the solutions cover this well, and the same can be said when it comes to database monitoring. Similarly, when it comes to insights and analytics, all 3 solutions offer full-featured dashboards that give tremendous insights. Dynatrace offers some neat extra features such as self-learning AI, and AI-powered VoiceOps and ChatOps.

Dashboard and Usage

AppDynamics’ dashboard shows all your applications, their various components, and the health of each one. The default time value shown is the last 15 minutes, which just shows the emphasis on current performance versus historical data that we mentioned previously. You’ll see any health issues: app crashes, servers restarting and the like.

New Relic’s dashboard has a big focus on actionable information. The graph-based interface is easy to understand and intuitive to use, and you can click and drag on these graphs to drill down on any issues. The Dynatrace dashboard is more visually striking and gives a great overall picture of what is happening, but doesn’t provide the immediate detail and granularity of the other 2 platforms.

Installation

New Relic is a SaaS platform, while AppDynamics and Dynatrace offer full SaaS, on-prem and hybrid installation options.

Dynatrace is also known for its automated installation and quick setup.

Integration and Plugins

New Relic offers integrations through its Platform service, with multiple plugins available. All the big names are covered, from MySQL to Redis, Oracle, and MongoDB. See a full list here.

AppDynamics offers its extensive extensions suite, “Exchange”, which can be seen here. Dynatrace’s list is not as extensive as AppDynamics or New Relic.

Pricing

AppDynamics’ pricing is based around 3 packages: APM Pro, APM Advanced, and APM Peak, with the features offered increasing from package to package. Pricing is available on inquiry, and a free trial is available for the most basic Pro package.

New Relic’s pricing is more transparent. Just input your cloud-based provider, including instance size, instance runtime and quantity, and you can know exactly how much you will be paying.

Dynatrace offer a free trial, or a conversation with a support agent to get specific pricing.

Pros and Cons

New Relic allows users to drill down and immediately see exactly what is going on across the board. It can be used to provide information for non-technical users, which is great for teams. It’s also won praise for its comprehensive and active community portal and “university”.

On the other hand, it’s been criticized for high pricing, although it’s still generally lower than that of AppDynamics.

AppDynamics offers an on-premise solution, which New Relic doesn’t, and that in and of itself can be the decision-making difference for some users. It’s known for its rich feature set and support for a wide range of technology stacks.

Users have been critical of the support offered, the resources required to run the platform (including human resources) and configuration challenges. Pricing is higher than the other solutions, but being aimed at enterprise clients, this is probably less of an issue.

Dynatrace is great when it comes to coverage, installation and security. In terms of installation, you just need to create an environment and install the agents. It provides impressive visibility into performance, and timely alerts. It can be used by non-developers quite easily, and is probably best for small and medium-sized businesses.

Its weaker points include the extra configurations required and setting up the dashboard in a way that gives you the most value (which often is not the default set-up). Pricing is generally perceived as high, even though a pay-as-you-go option is available. It can also be intimidating and time consuming sifting through all the information on offer.

At The End Of The Day

Each of these tools has its own quirks, intricacies and pros and cons. They are all powerful, effective tools however, and the choice of tool will depend on your organization’s needs.

Generally speaking, Dynatrace shows better performance for Enterprises while New Relic is great for medium-sized, more cloud-based organizations.