How to monitor mobile game application performance monitoring

How To Monitor Mobile Game Application Performance

Table of Contents

  1. Introduction
  2. What you need to monitor
    1. In game metrics
    2. Business metrics
    3. Application performance metrics
    4. Infrastructure metrics
  3. Best tools for monitoring mobile game performance
    1. MetricFire
    2. ScoutAPM
    3. GameAnalytics
    4. Mixpanel
    5. Firebase
  4. Creating a single pane of glass
  5. Conclusion

Introduction

As a mobile game developer, there are many components of your game that you need to monitor. Everything from the servers that are hosting your game, to your best players, and your best converting actions. That’s a lot of data, and it’s hard to know how to get the most out of that data.

This article will look at the KPIs (Key Performance Indicators) you need to monitor, the best tools for monitoring these metrics, and how to handle this data in the most effective way. 

MetricFire is one of the best tools to use to monitor mobile game performance. MetricFire is a time-series metrics monitoring tool that allows you to scale time-series at low cost and with opportunity for flexible use. While there are hundreds of tools available, MetricFire is the only tool with the flexibility to cover multiple areas of monitoring without costing your first born child

MetricFire has been working with game developers such as HypGames and EA to help provide a consistently great gaming experience for users by:

  • Identifying & alerting on periods of low latency
  • Identifying & alerting on uptime issues
  • Error reporting
  • Infrastructure monitoring
  • Tracking revenue
  • & more

MetricFire is a time-series monitoring tool built on the open source Graphite, Prometheus, and Graphite - giving MetricFire users the best of open-source bundled into a ready-to-use SaaS.

This article looks at how to use monitoring to deliver the best possible experience for your users. You should book a demo with MetricFire, and get on to the free trial!

     

   

What you need to monitor

When monitoring a mobile game application, you need to monitor metrics from the following categories:

In game metrics

    1. Number of users
    2. The level of each user
    3. Inventory items of the user
    4. In game economies, currencies

In game metrics are the type of metrics that are unique to the game you’re working with. You’ll want to keep track of how many users move through different parts of your game. You need to know who gets to which levels, how many people are at each level, and then deduce how challenging it is to move through the levels of the game. It is especially important to watch the areas surrounding your conversion points - if it’s too difficult/easy for users to buy something, you need to know.

   

Business metrics

    1. Revenue earned from in-app purchases
    2. Microtransactions
    3. Cost of goods and services
    4. Life time value of a customer

While many of these metrics are commonly handled by the finance team, the developers still need to extract financial data directly from the mobile game. Your mobile game code is the main source of information related to transactions. 

In many cases, data being monitored by the developers will be compared to data being collected by transactions tools such as Google or Apple pay. This will give you more confidence in your figures, as there will be two data sources to compare. You’ll also get two different perspectives on your business metrics, as you’ll see the granular micro-transactions visible in your code, as well as the totals supplied by Google and Apple platforms. 

  

Application performance metrics

    1. Memory bloat
    2. Memory increases
    3. Request speeds
    4. Latency
    5. Query speeds
    6. Error rate

This type of metric gives you information on how well your app’s machinery is actually performing. There are a few kinds of monitoring you will need to do in this area. You will need to do Application Discovery, where you do a full scan of your code to find the inefficiencies in your design. Beyond that, you need to plan a big set of time-series metrics to monitor how your app is performing at a user-experience level. You need to know how your microservices are behaving, i.e. with what kind of latency and uptime. You need to know how fast your page loads are. And more, you need to know what’s not working, and when and where that problem started. 

After planning out your time-series metrics monitoring strategy, you will also need a logging tool and a tracing tool to help you map out errors and fix them as fast as possible. 

  

Infrastructure metrics

    1. Uptime
    2. CPU
    3. RAM

Infrastructure metrics are also built on a metrics, logging, and tracing tech stack, but they’re focused on monitoring the infrastructure rather than the application. Infrastructure monitoring includes not only server metrics, but also the major systems and platforms that your application is built on. For example, you may need to monitor Kubernetes setups, or other CI/CD platforms such as CircleCi, Zuul, Chef, Spinnaker and more. It’s also common to monitor GitHub to make sure you’re always correlating changes in the code with changes in your game performance.

Now that we’re aware of what we need to monitor, it becomes obvious that the number of tools needed can be pretty immense. What is the best stack of tools to use to get all of this monitoring done? In the next section we’ll look at the best tools available and how to combine them.

  

Best tools for monitoring mobile game performance

MetricFire

  

top 10 apm tools 1.jpg

  

MetricFire is a really interesting tool, because at its core it’s really simple. MetricFire does time-series metrics monitoring, and also visualizations and alerts based on time-series metrics monitoring. That’s it. 

The amazing thing about MetricFire is that it’s built on the open source Graphite, Prometheus, and Grafana. Because MetricFire is built on these open-source projects, thousands of developers are working everyday to adapt and expand this technology to any required use-case. This makes MetricFire applicable to hundreds of use-cases within the time-series metrics monitoring world. 

MetricFire users are using MetricFire to monitor infrastructure, application metrics, business metrics and user experience metrics. 

In the infrastructure world, MetricFire can be configured to plug in to more than 30 AWS microservices, such as EC2, EKS, and CloudWatch. As well, MetricFire’s Hosted Prometheus offering is directly compatible with Kubernetes, Docker and other containerization/scheduling platforms. 

In the business, application, and user-experience world - MetricFire can be configured to collect any data over time that exists in a coded environment. Between the available Hosted Prometheus, Graphite, StatsD, and collectd solutions, any expressed data point can be pushed or pulled into the MetricFire dashboard. MetricFire’s support team can help you configure your data, with any of the 300+ Grafana plugins, or other collectors or custom scripts. You should book a demo and talk to the team!

  

ScoutAPM

  

Top 10 apm tools 2.png

  

One of MetricFire’s biggest downfalls is when it comes to Application Discovery and memory bloat source identification. In this area of application and mobile game monitoring, the strongest tool out there is ScoutAPM.

While ScoutAPM can’t be used for infrastructure monitoring or general time-series monitoring, ScoutAPM can do everything you need when it comes to continually tracking down N+1 database queries, sourcing memory bloat, identifying performance abnormalities, and more.

As well, ScoutAPM is a partner of MetricFire! This means there is a lot of cross-product experience within the MetricFire and ScoutAPM teams. If you’re using both products, you’ll get great support from engineers who are familiar with that situation.

  

GameAnalytics

   

undefined

  

GameAnalytics is a free user-stats monitoring tool. While it can’t be used to monitor infrastructure, or to do advanced time-series monitoring, it can keep track of your users and what they’re doing in the game. 

GameAnalytics advertises itself as being able to monitor these metrics:

  • User acquisition
  • Player engagement
  • Monetization, including drivers of first time purchases
  • Player progression through game content
  • In-game economies and virtual resources (e.g. gold, lives, XP)

The dashboard is fantastic too, with many different kinds of panels and graphs. GameAnalytics doesn’t do alerts and notifications through, so it is more of a business and activity monitoring tool than an SRE/DevOps tool. 

   

Mixpanel

 

undefined

  

Mixpanel is a favorite among mobile game developers for monitoring their front-end metrics. Mixpanel integrates directly with all of the most popular SDKs, from iOS and Android, to Ruby, JavaScript, Node.Js, Unity and more. Mixpanel also has a bunch of APIs for ingesting, querying, exporting, building pipelines and even interacting with schemas.

Mixpanel isn’t a great tool for doing application discovery or for infrastructure monitoring, but it is a great tool for visualizing front-end metrics and looking at your user experience. The dashboards are easy to use, and Mixpanel has special features and integrations depending on the industry you’re in. 

  

Firebase

 

undefined

  

Firebase is a fantastic tool for business metrics and user activity. Their website advertises a bunch of features all focused on monitoring your app and your business. You can get business metrics that improve business visibility, as well as performance monitoring, database monitoring, google analytics plugins and more. 

Firebase even supports tools for business growth such as in-app messaging, A/B testing, cloud messaging, and dynamic links. It’s great for business monitoring, applying new growth tools, and optimizing the front-end of your application.

However, Firebase doesn’t do time-series monitoring or custom metrics. Therefore, you’re dependent on what their agents can collect, and their in-house configurations, in order to monitor your apps. You won’t be able to do creative configurations to monitor something very unique to your app. You also won’t be able to pull in infrastructure metrics, or platform metrics (such as Kubernetes or Docker), to get full visibility of how your infrastructure affects your app. 

To get a fuller picture of what you’re monitoring, using a dashboarding platform like Grafana is the best option. Hosted Grafana by MetricFire can pull in tons of information into one place, so you only need to use one interface. 

   

Creating a single pane of glass

 

  undefined

  

The biggest problem in monitoring today is getting your information in one place. We need to monitor information coming from many sources, and every piece of information has a different structure or style. There’s time-series, log files, single stats, speeds, totals, predictions, maxed out resources, and alerts

How do you know what’s important? How do you get around our natural human tendency to miss things that are not blaring red-flags?

You need to create a single pane of glass that shows you the most important information at a glance. You need to pull in your information to a master dashboard that shows you your tools, and gives you an orientation on what you’re going to do that day.

The best way to create a single pane of glass is with Grafana. Grafana has 300+ plugins that lets you integrate with your entire technology stack. You can pull in your logs with an Elasticsearch and Grafana integration. You can visualize your logs next to your time-series with a Prometheus and Grafana integration. You can get annotations automatically published to your revenue graphs that indicate exactly when new deploys were made via GitHub or CircleCi. Get major thresholds alerted on, and get notifications of emergencies so you can react even in the middle of the night. 

Hosted Grafana by MetricFire makes this process even easier. Setting up Grafana can be difficult because it’s open source. Managing an open source tool is challenging, and requires a ton of time and resources. Not to mention you’re probably also managing the data sources, application, and customers. MetricFire makes monitoring easier so you can focus on what you really need to do. 

MetricFire hosts Graphite, Prometheus and Grafana so you can get great time-series metrics as an easy-to-use SaaS. You can pull in your logging tools and other data sources easily as Grafana is extremely easy to integrate. MetricFire’s support team will set up the integrations for you so you don’t even need to do any dev work. Check out our mobile gaming customers here, and see their use-case with MetricFire!

     

Conclusion

You’ve got a lot to think about when monitoring mobile games. You will definitely need more than one tool - you’ll need backups and there are many important kinds of data. 

Make sure you use a tool that is really easy to integrate, and is really flexible so that you can incorporate new data types and needs as your business grows. Also, make sure to choose a tool that doesn’t get expensive as you scale. Many tools are free for small developers, but cost a fortune for major businesses.

MetricFire is a very flexible and easy-to-integrate tool. MetricFire is built on open source projects, and has an open source mentality at its core. MetricFire also has Grafana as part of its stack, so you can can benefit from the broad range of plugins that work with Grafana, while also getting great Prometheus and Graphite as a hosted service.

To get started with MetricFire, you should book a demo! Get on the call with us and get started in minutes.

Hungry for more knowledge?

Related posts