Breaking News: Matrix for iOS / macOS Goes Open Source

Breaking News: Matrix for iOS / macOS Goes Open Source

Introduction

Tencent’s micro-channel R&D team has been utilizing a performance probe tool called Matrix for iOS / macOS for daily development. As part of the Application Performance Management (APM) platform for iOS and macOS, Matrix has been instrumental in establishing a unified framework for data collection and abnormal performance monitoring. This has enabled developers to create higher-quality applications, ultimately enhancing the user experience.

Matrix for iOS / macOS: A Unified Framework

Matrix for iOS / macOS has been running stably for several years within the micro-channel platform. As of now, it has been officially open-sourced as part of the Matrix project. This move aims to provide developers with a comprehensive and reliable tool for monitoring application performance.

Features of Matrix for iOS / macOS

Matrix for iOS / macOS currently monitors the following:

  • Collapse and Explosion Caton Memory: Two plugins have been developed to capture this phenomenon:
    • WCCrashBlockMonitorPlugin: This plugin is based on the industry-leading KSCrash framework, designed to capture Caton stack plug-ins. Key features include:
      • Runloop-based Caton detection: Checks the application’s status to determine whether a Caton has occurred.
      • Platform support: Supports both iOS and macOS platforms.
      • Time-consuming stack extraction: Retrieves the most recent time-consuming stack on the main thread.
    • WCMemoryStatPlugin: A performance optimization tool that monitors memory allocation and captures stack memory allocation when a burst memory occurs. This plugin has the following characteristics:
      • Survival object and stack information reporting: Reports the application upon detection of burst memory, along with the corresponding stack information.
      • Balanced binary storage: Uses Hash Table storage for stack optimization.

Future Plans

Caton plans to expand its surveillance capabilities to include:

  • Power stack monitoring: Obtain power stack information to further optimize performance.
  • Cloud solution: Create a complete cloud solution for Matrix for iOS / macOS.

Get Involved

The Matrix for iOS / macOS source code is now available on GitHub at matrix/matrix/matrix-iOS at master · Tencent/matrix · GitHub. We encourage you to:

  • Give Matrix a Star!: Show your support for the open-source project.
  • Submit issues and PRs: Contribute to the development and improvement of Matrix for iOS / macOS.
  • Share this article: Spread the word about the open-sourcing of Matrix for iOS / macOS.