How to Monitor iOS and Android Mobile Apps with the MAITI API

Sluggish applications kill business. APM helps you fight back. But what about APM for mobile applications? With the BYOD movement in full swing, mobile-app performance is quickly becoming a top IT priority. Unfortunately, gathering mobile application and transaction data can be tricky, to say the least — until now.

Meet the MAITI API (pronounced Mai Tai, like the drink, and stands for mobile-application instrumentation telemetry interface), which enables you to easily track performance and usage data for both Android and iOS applications.

Today, there are two main types of mobile apps: The first is accessed through a web browser. The second is downloaded from the app store and lives on your mobile device.

Modern APM generally covers mobile apps accessed through a web browser (performance data is sent via the web browser through a JavaScript injection to your data center). Downloaded apps are a different story. And that’s where MAITI comes in.

At its core, MAITI is APM for mobile applications. An open-sourced API, MAITI (which is built into application code by developers) enables the instrumentation of mobile applications for both performance and usage tracking. That means you can capture transaction information using transaction bracketing; contextual information such as username, app version, and app name; and key platform information like OS version, connection type, and total and free RAM.

MAITI will even send error information tying front-end transactions to back-end executions for speedy troubleshooting.

With transaction bracketing, you can detect the start and end of user transactions and record all relevant performance metrics in between. Developers decide which transactions to follow. For example, a transaction could begin with the user selecting something and end with the resulting display of information. What’s more, you can capture response times for an unlimited number of transactions.

Apart from response times, MAITI also lets developers apply free-form tags in each performance record. These tags can be used to indicate contextual information about the user and the app. You can even capture key pieces of information about the device and mobile platform itself.

To use MAITI you need two pieces:

  • The code that gets inserted into the application
  • The receiver that collects data sent from the mobile device

Because MAITI is open-sourced, developers can adjust the API and even write their own receivers, which eliminates the fear of vendor lock-in. It also lets developers play around with the MAITI code and personalize their instrumentation freely.

SteelCentral Web Analyzer is a great MAITI receiver and is available as a standalone product or as part of the Riverbed AppInternals Xpert™ package.


Check out MAITI on GitHub or the Riverbed Programmability and Developer Tools page for more information. Also see 4 Ways to Do Real-User Monitoring (RUM) for Better App Performance Management.

Leave a Comment

Leave a Reply

© 2019 Riverbed Technology

All rights reserved. Riverbed and any Riverbed product or service name or logo used herein are trademarks of Riverbed Technology. All other trademarks used herein belong to their respective owners. The trademarks and logos displayed herein may not be used without the prior written consent of Riverbed Technology or their respective owners.