Wechat-Matrix APK CheckerSQLite LintTrace CanaryResource CanaryIO CanaryAPK CheckerSQLite LintResource Canary分离了检测和分析部分,便于在不打断自动化测试的前提下持续输出分析后的检测结果Trace CanaryIO Canary 介绍
Matrix 是一款微信研发并日常使用的 APM (Application Performance Manage) ,当前主要运行在 Android
平台上。Matrix
的目标是建立统一的应用性能接入框架,通过对各种性能监控方案快速集成,对性能监控项的异常数据进行采集和分析,输出相应问题的分析、定位与优化建议,从而帮助开发者开发出更高质量的应用。
Matrix 当前监控范围包括:应用安装包大小,sqlite 操作优化,帧率变化,卡顿,启动耗时,页面切换耗时,慢方法,文件读写性能,I/O 句柄泄漏,
内存泄漏等。
APK Checker
APK Checker 是针对 Android 安装包的分析检测工具,根据一系列设定好的规则检测 APK
是否存在特定的问题,并输出较为详细的检测结果报告,用于分析排查问题以及版本追踪。当前,APK Checker 主要包含以下功能:
-
读取 manifest 的信息
-
统计 class 数目
-
检查是否经过资源混淆(AndResguard)
-
检查是否包含多 ABI 版本的动态库
-
统计 APK 中包含的 R 类以及 R 类中的 field count
-
检查是否有多个动态库静态链接了 STL
-
搜索 APK 中包含的无用资源
-
搜索 APK 中未经裁剪的动态库
sqlite Lint
sqlite Lint是一个 sqlite 使用质量的自动化检测工具,犹如一个 sqlite 优化高手在开发或者测试过程中不厌其烦地、仔细地 review
你的 sql 语句,是团队高质量 sqlite 实践中的一个有用工具。sqlite Lint 当前支持的检测能力包括:
-
检测索引使用问题
-
检测冗余索引问题
-
检测 select * 问题
-
检测 Autoincrement 问题
-
检测建议使用 prepared statement
-
检测建议使用 without rowid 特性
Trace Canary
Trace Canary 通过 choreographer
回调、编译期插桩的方式,实现了高准确率、高性能的卡顿检测、定位方案,并扩展支持了多个其它流畅性指标,包括:
-
界面流畅性评估
-
卡顿定位
-
ANR监控
-
应用启动及界面切换耗时监控
Resource Canary
Resource Canary 是基于 Weak Reference 的特性和 Haha 库开发的 Activity 泄漏和 Bitmap
重复创建检测工具。其中检测采集部分部署在客户端,分析部分部署在服务端,通过分离检测和分析两部分逻辑使该工具的流程对持续集成更友好。当前 Resource
Canary 主要包含以下功能:
IO Canary
IO Canary 是一个在开发、测试或者灰度阶段辅助发现 IO 问题的工具,目前主要包括文件 IO 监控和 Closeable Leak
监控两部分,提供了 IO 的大盘监控,从而做到心中有数。具体功能包括:
Matrix 有哪些优势?
与常规的 APM 工具相比,Matrix 拥有以下特点:
APK Checker
sqlite Lint
Resource Canary
Trace Canary
IO Canary
未来规划
Wechat-Matrix APK CheckerSQLite LintTrace CanaryResource CanaryIO CanaryAPK CheckerSQLite LintResource Canary分离了检测和分析部分,便于在不打断自动化测试的前提下持续输出分析后的检测结果Trace CanaryIO Canary 官网
https://github.com/tencent/matrix
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。