美文网首页
APM性能监控框架-Matrix(一)

APM性能监控框架-Matrix(一)

作者: momxmo | 来源:发表于2020-12-02 17:46 被阅读0次

    一、介绍

    Matrix 是一款微信研发并日常使用的应用性能接入框架,支持iOS, macOS和Android。 Matrix 通过接入各种性能监控方案,对性能监控项的异常数据进行采集和分析,输出相应的问题分析、定位与优化建议,从而帮助开发者开发出更高质量的应用。

    Matrix for Android


    Matrix-android 当前监控范围包括:应用安装包大小,帧率变化,启动耗时,卡顿,慢方法,SQLite 操作优化,文件读写,内存泄漏等等。

    • APK Checker: 针对 APK 安装包的分析检测工具,根据一系列设定好的规则,检测 APK 是否存在特定的问题,并输出较为详细的检测结果报告,用于分析排查问题以及版本追踪
    • Resource Canary: 基于 WeakReference 的特性和 Square Haha 库开发的 Activity 泄漏和 Bitmap 重复创建检测工具
    • Trace Canary: 监控界面流畅性、启动耗时、页面切换耗时、慢函数及卡顿等问题
    • SQLite Lint: 按官方最佳实践自动化检测 SQLite 语句的使用质量
    • IO Canary: 检测文件 IO 问题,包括:文件 IO 监控和 Closeable Leak 监控

    特性


    APK Checker
    • 具有更好的可用性:JAR 包方式提供,更方便应用到持续集成系统中,从而追踪和对比每个 APK 版本之间的变化
    • 更多的检查分析功能:除具备 APKAnalyzer 的功能外,还支持统计 APK 中包含的 R 类、检查是否有多个动态库静态链接了 STL 、搜索 APK 中包含的无用资源,以及支持自定义检查规则等
    • 输出的检查结果更加详实:支持可视化的 HTML 格式,便于分析处理的 JSON ,自定义输出等等
    Resource Canary
    • 分离了检测和分析部分,便于在不打断自动化测试的前提下持续输出分析后的检测结果
    • 对检测部分生成的 Hprof 文件进行了裁剪,移除了大部分无用数据,降低了传输 Hprof 文件的开销
    • 增加了重复 Bitmap 对象检测,方便通过减少冗余 Bitmap 数量,降低内存消耗
    Trace Canary
    • 编译期动态修改字节码, 高性能记录执行耗时与调用堆栈
    • 准确的定位到发生卡顿的函数,提供执行堆栈、执行耗时、执行次数等信息,帮助快速解决卡顿问题
    • 自动涵盖卡顿、启动耗时、页面切换、慢函数检测等多个流畅性指标
    SQLite Lint
    • 接入简单,代码无侵入
    • 数据量无关,开发、测试阶段即可发现SQLite性能隐患
    • 检测算法基于最佳实践,高标准把控SQLite质量*
    • 底层是 C++ 实现,支持多平台扩展
    IO Canary
    • 接入简单,代码无侵入
    • 性能、泄漏全面监控,对 IO 质量心中有数
    • 兼容到 Android P

    相关文章

      网友评论

          本文标题:APM性能监控框架-Matrix(一)

          本文链接:https://www.haomeiwen.com/subject/vdkziktx.html