By using the memory graph function of the volcano engine Mars-APM Plus, the FEishu R&D team effectively analyzed 30 online cases of positioning problems, and the online OOM rate decreased to 0.8‰, a decrease of 60%. Greatly improve the user experience, for the performance and quality of flying book escort.

Application stability is a key factor in user experience and retention

For mobile App developers, the most basic and most important issue is the stability of the application. Crash is an important factor affecting stability, including NSException, Signal, stuck, OOM(Out Of Memory) and other types Of problems. Among them, OOM problem is as the business iteration, slowly into the vision of developers.

OOM problems often lurk in a complex business background, which is difficult to reappear and lacks effective troubleshooting methods. Currently, the tools for troubleshooting Memory problems on iOS include The Memory Graph provided by Xcode and the toolset related to Instruments. These tools can provide relatively complete Memory information, but the application scenarios are limited to the development environment and cannot be used in the production environment. Since memory problems tend to occur in some extreme usage scenarios, offline development tests generally cannot cover the corresponding problems, and the tools provided by Xcode cannot analyze and deal with most of the occasional problems.

Feishu is an advanced enterprise collaboration and management platform under Bytedance. It not only contains one-stop integration and timely communication, smart calendar, audio and video conferencing, feishu documents, cloud disk and other office collaboration kits, but also provides feishu OKR, Feishu recruitment, feishu performance and other organizational management products. As an enterprise collaboration and management platform, the business complexity is very high. If you are not careful, OOM will be triggered and the program will crash.

So how complicated is Feibook’s business? For example:

  • There are more than ten types of messages on the fly book message list page, including document preview, video, complex rich text, etc.
  • Flying book conference in the thousand video can do various special effects rendering of the video, video process can share documents, thousand online document editing;
  • The flybook document itself supports the insertion of various types of information, such as complex calculation formulas, brain diagrams, UML diagrams, as well as external extensions.
  • .

Flying books use memory to the limit, a little careless will lead to OOM. Imagine a video conference with a thousand people that suddenly crashes due to memory problems. How does it feel to send a complicated message to a customer whose phone crashes because of memory problems? Based on this, the primary goal of Feishu is to solve the memory problem and analyze the cause of OOM on the positioning line.

Mars-apm Plus, the volcano engine, makes flying books work

APM Plus is a performance monitoring product of MARS, a byteDance application development suite. With advanced data collection and monitoring technologies, APM Plus provides enterprises with full-link application performance monitoring services to meet their requirements for end-to-end monitoring. With non-invasive monitoring, rich abnormal site restoration capabilities, help enterprises improve the efficiency of troubleshooting and solving abnormal problems, optimize application quality, reduce costs and increase revenue.

Mars-apm Plus- Features introduction

Feibook can clearly find the top classes in memory usage by using the class aggregation list provided by the volcano engine Mars-APM Plus Memory Graph. For each class, you can also drill down to the memory node unit. Through the memory node unit, you can query the reference relationship of the node and follow the lead to find the original parent node. At the same time, we can also reverse to see whether other memory node units are also the same reference relationship, in order to prove the memory problem. Through this analysis, we found the problem of super-large image, super-multi-frame GIF, resource preloading and so on.

Memory optimization for mars-APM Plus includes “OOM Trend,” “Leak Analysis,” “Large Object” and “Single Device Query.”

  1. OOM Trend: Provides an indicator analysis of memory leaks. In addition to the four core indicators (number of OOM attempts, OOM rate, Number of users affected, and proportion of users affected), it also provides additional indicators for OOM analysis, such as the size and proportion of memory occupied by the App.
  2. Leak analysis: Provides a list and detailed analysis of the object types causing leaks. Here you can analyze the objects that are causing the most memory leaks one by one.
  3. Object list: provides large objects that take up too much memory and a large number of aggregated small objects. To help developers understand more precisely what objects are occupying memory.
  4. Single device query: You can directly analyze the memory problems of a single device. IOS provides direct and accurate analysis of a single device’s memory reference tree, domination tree, instance, etc. Android can download and query its original data.

Before the use of Memory Graph, the online analysis method of Feizhu was single and no clear theoretical basis could be provided. Once, the influence rate of OOM users reached 2‰. Through the use of Memory Graph, we could effectively analyze and locate as many as 30 online cases, and the OOM rate decreased to 0.8‰. The drop was 60%. Greatly improve the user experience, for the performance and quality of flying book escort.

Assist enterprises to improve the efficiency of TROUBLESHOOTING and solving IT problems and optimize application quality

APM Plus provides enterprises with APM services tailored to application quality, performance, and custom burial points. Platform based on the analysis of huge amounts of data aggregation, and can help customers find more kind of unusual problems, and promptly report to the police, do distribution processing, platform provides rich attribution ability at the same time, including but not limited to, abnormal analysis, multidimensional analysis, custom reports, single-point log query and so on, combined with flexible capacity report can understand the trend of all kinds of indicators. In addition to Feishu, APM Plus has already served a number of mobile apps with large scale users, such as Douyin, Toutiao and Tik Tok.

The memory monitoring of marS-APM Plus can locate anomalies caused by memory usage and provide various indicators, dimensions and means for troubleshooting memory anomalies:

  1. There is no dead Angle to find the memory exception problem, there is a complete attribution link. It not only provides rich indicators to analyze memory problems and determine the impact range, but also provides a list of objects that cause memory exceptions, and analyzes specific abnormal nodes on a single device. Provide progressive attribution analysis ability from the market to code, greatly improve the efficiency of research and development investigation
  2. Provides the ability to prevent memory exceptions. It can provide a list of objects that have the risk of causing memory anomalies. It can be optimized in advance to reduce the incidence of accidents and solve potential risks before affecting users.

Mars-apm Plus, the volcano engine, is currently available as a free, 30-day trial for a limited time to new users. Including App monitoring, Web monitoring, Server monitoring, small program monitoring, App monitoring and Web monitoring each 5 million events, Server and small program monitoring time limit is not limited.

Related articles: mp.weixin.qq.com/s/hQRN5s60A…


MARS TALK | 02

Toutiao speed version plug-in practice sharing

On Thursday, October 28th, at 8:00 PM, we invited Dang Pengfei, development engineer of MarS-APM Plus, and CAI Liang, iOS development engineer of Feishu, to MARS TALK Phase 2. Share feishu’s performance optimization practices based on MarS-APM Plus.

This event adopts the mode of live streaming. For more product and activity information, please scan the code to know 🎉