Monitoring Pokémon Go: When Your App Breaks All Records
August 03, 2016

Payal Chakravarty
IBM

Share this

In July 2016, the world of gaming was taken over by a new phenomenon – Pokémon Go. Within a matter of days "augmented reality" became mainstream and the app, which was launched mainly in the US and Australia, overtook Tinder and Twitter in the total number of downloads. Pokémon Go surpassed the wildest expectations of its creators, Niantic Labs, and then some.

With popularity comes scale, and with scale comes an overload of requests to the gaming servers. If you are not prepared enough, requests fail and users are frustrated. Frustrated with Pokémon Go crashes, laymen were talking about server status and memes were being created and circulated on social networks. Overnight, websites spun up just to report if the game was up or down in different countries. Being closely related to the APM space, my head was drawing up various ways in which Pokémon Go was perhaps addressing the issue and what monitoring they had to put in place to retain their popularity. Here is my list of probable solutions Pokémon Go could employ to improve the experience for their users and avid fans:

1. Synthetic monitoring

The first and most important question: Is the application up or down, and can users login from around the world?

A game this popular would need to ensure a five nine availability and high Apdex score. With synthetic end-user monitoring, simulated tests can be run from around the world to check for availability and response time as often every few seconds. The simulations can allow you to login to the app and interact with the app as a gamer would.

For example if a user is catching a Pokémon, he makes a HTTP request to an API “catchPokemon” with a set of parameters. Continuously checking if these HTTP requests return a valid response code within a reasonable amount of time ensures the “catching a pokemon” capability is functioning right. This ensures problems are detected and fixed proactively. Synthetic monitoring also helps determine if an issue was due to network latency.

2. Mobile Real User Monitoring

Pokémon Go is a mobile game that is accessed only from mobile devices. Hence Mobile End User Monitoring with crash analytics is imperative to rapidly scope the problem.

Data points – such as how often did crashes occur; what devices, OS and applications versions were being used when the crash occurred; and which geographies did the user come from – are extremely essential to isolate the problem. For example, insights such as “crashes between 6 and 6:30 PM PST were happening from iOS v9 users on West Coast specifically when users attempted to transfer a Pokemon” gives an instant problem scope to delve deeper into.

Further, by tracing individual requests, one can delve into exactly what line of code or what services/microservices could have impacted a particular crash. This data becomes even more insightful if it can be correlated with Twitter sentiment analysis.

A comparison between response time trends and throughput is also another good data point to evaluate if slow responses were due to extra load or an application bug.

3. Server, Database, Application Server Monitoring

In order to deal with scale, the infrastructure to support the game needs to be monitored to spot bottlenecks easily. This requires automatic discovery and health check of all the components that the game runs on.

Considering auto-scaling and high resiliency failover will probably be turned on to cater to the load, the discovery needs to be truly dynamic to track any new nodes that come up. A dynamically discovered topology could have multiple components such as application servers, web servers, databases, load balancers, content distribution networks etc. Memory leaks, CPU consumption, database I/O and space utilization, queues and deadlocks are metrics whose trends need to be monitored continuously with automatic baselines to help identify deviation from normal. Additionally, tracking and correlating log errors via log analysis from these various resources can help diagnose issues rapidly.

4. Predictive anomaly detection for the future

With sudden popularity, one thing that is bound to go out of control is a flood of alerts. To reduce alert noise and ensure that right issues are being worked on, there is the need to have intelligent monitoring alerts. Alerts should be generated based on analyzing, correlating and de-duplicating a set of events and should present sufficient information to enable faster debugging.

As an advanced setup, Pokémon Go monitoring should enable predictive anomaly detection to predict trends on capacity and consumption of backend resources much before they become issues.

Payal Chakravarty is a Program Director of Product Management for IBM Application Performance Management.

Share this

The Latest

August 19, 2019

One common infrastructure challenge arises with virtual private networks (VPNs). VPNs have long been relied upon to deliver the network connectivity and security enterprises required at a price they could afford. Organizations still routinely turn to them to provide internal and trusted third-parties with "secure" remote access to isolated networks. However, with the rise in mobile, IoT, multi- and hybrid-cloud, as well as edge computing, traditional enterprise perimeters are extending and becoming blurred ...

August 15, 2019

The configuration management database (CMDB), along with its more federated companion, the configuration management system (CMS), has been bathed in a deluge of negative opinions from all fronts — industry experts, vendors, and IT professionals. But from what recent EMA research on analytics, ITSM performance and other areas is indicating, those negative views seem to be missing out on a real undercurrent of truth — that CMDB/CMS alignments, whatever their defects, strongly skew to success in terms of overall IT progressiveness and effectiveness ...

August 14, 2019

The on-demand economy has transformed the way we move around, eat, learn, travel and connect at a massive scale. However, with disruption and big aspirations comes big, complex challenges. To take these challenges head-on, on-demand economy companies are finding new ways to deliver their services and products to an audience with ever-increasing expectations, and that's what we'll look at in this blog ...

August 13, 2019

To thrive in today's highly competitive digital business landscape, organizations must harness their "digital DNA." In other words, they need to connect all of their systems and databases — including various business applications, devices, big data and any instances of IoT and hybrid cloud environments — so they're accessible and actionable. By integrating all existing components and new technologies, organizations can gain a comprehensive, trusted view of their business functions, thereby enabling more agile deployment processes and ensuring scalable growth and relevance over the long-term ...

August 12, 2019

Advancements in technology innovation are happening so quickly, the decision of where and when to transform can be a moving target for businesses. When done well, digital transformation improves the customer experience while optimizing operational efficiency. To get there, enterprises must encourage experimentation to overcome organizational obstacles. In other words ...

August 08, 2019

IoT adoption is growing rapidly, and respondents believe 30% of their company’s revenue two years from now will be due to IoT, according to the new IoT Signals report from Microsoft Corp ...

August 07, 2019

It's been all over the news the last few months. After two fatal crashes, Boeing was forced to ground its 737. The doomed model is now undergoing extensive testing to get it back into service and production. Large organizations often tell stakeholders that even though all software goes through extensive testing, this type of thing “just happens.” But that is exactly the problem. While the human component of application development and testing won't go away, it can be eased and supplemented by far more efficient and automated methods to proactively determine software health and identify flaws ...

August 06, 2019

Despite significant investment in AI, many companies are still struggling to stabilize and scale their AI initiatives, according to State of Development and Operations of AI Applications 2019 from Dotscience ...

August 05, 2019

IT has two principal functions: create a network that satisfies the business needs of the company and then optimize that network. Unfortunately, the modern enterprise is buried under a myriad of network improvement projects that often do not get deployed ...

August 01, 2019

Even large companies are not yet realizing the potential of digital transformation, according to a new study from Cherwell Software, The Power of Process Integration in the Information Age ...