Skip to content

Commit

Permalink
Dev apple (#155) (#158)
Browse files Browse the repository at this point in the history
* update readme

* feat(matrix-apple): source code & sample

* update podspec

* Update README.md

* Update README.md

* Update README.md

* rename(PodSpec): matrix-apple -> matrix-wechat

* update(sample): matrix-apple -> matrix-wechat

* update readme.md

Dev apple (#156)

* update readme

* feat(matrix-apple): source code & sample

* update podspec

* Update README.md

* Update README.md

* Update README.md

* rename(PodSpec): matrix-apple -> matrix-wechat

* update(sample): matrix-apple -> matrix-wechat

* update readme.md

* change matrix-apple to matrix-iOS

* update notice

remove matrix-apple & sample-apple
  • Loading branch information
txfelixzhou authored Apr 3, 2019
1 parent cad75cb commit 5c00d52
Show file tree
Hide file tree
Showing 1,252 changed files with 193,451 additions and 7 deletions.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ The monitoring scope of the current tool includes: crash, lag, and out-of-memory

* **Install with static framework**
1. Get source code of Matrix;
2. Open terminal, execute `make` in the `matrix/matrix-apple` directory to compile and generate static library. After compiling, the iOS platform library is in the `matrix/matrix-apple/build_ios` directory, and the macOS platform library is in the `matrix/matrix-apple/build_macos` directory.
2. Open terminal, execute `make` in the `matrix/matrix-iOS` directory to compile and generate static library. After compiling, the iOS platform library is in the `matrix/matrix-iOS/build_ios` directory, and the macOS platform library is in the `matrix/matrix-iOS/build_macos` directory.
3. Link with static framework in the project:
* iOS : Use `Matrix.framework` under the `matrix/matrix-apple/build_ios` path, link `Matrix.framework` to the project as a static library;
* macOS : Use `Matrix.framework` under the `matrix/matrix-apple/build_macos` path, link `Matrix.framework` to the project as a static library.
* iOS : Use `Matrix.framework` under the `matrix/matrix-iOS/build_ios` path, link `Matrix.framework` to the project as a static library;
* macOS : Use `Matrix.framework` under the `matrix/matrix-iOS/build_macos` path, link `Matrix.framework` to the project as a static library.
4. Add `#import <Matrix/Matrix.h>`, then you can use the performance probe tool of WeChat.

#### Start the plugins
Expand Down Expand Up @@ -390,10 +390,10 @@ Matrix 通过接入各种性能监控方案,对性能监控项的异常数据
* **通过静态库安装**
1. 获取 Matrix 源码;
2. 打开命令行,在 `matrix/matrix-apple` 代码目录下执行 `make` 进行编译生成静态库;编译完成后,iOS 平台的库在 `matrix/matrix-apple/build_ios` 目录下,macOS 平台的库在 `matrix/matrix-apple/build_macos` 目录下;
2. 打开命令行,在 `matrix/matrix-iOS` 代码目录下执行 `make` 进行编译生成静态库;编译完成后,iOS 平台的库在 `matrix/matrix-iOS/build_ios` 目录下,macOS 平台的库在 `matrix/matrix-iOS/build_macos` 目录下;
3. 工程引入静态库:
* iOS 平台:使用 `matrix/matrix-apple/build_ios` 路径下的 `Matrix.framework`,将 `Matrix.framework` 以静态库的方式引入工程;
* macOS 平台:使用 `matrix/matrix-apple/build_macos` 路径下的 `Matrix.framework`,将 `Matrix.framework` 以静态库的方式引入工程。
* iOS 平台:使用 `matrix/matrix-iOS/build_ios` 路径下的 `Matrix.framework`,将 `Matrix.framework` 以静态库的方式引入工程;
* macOS 平台:使用 `matrix/matrix-iOS/build_macos` 路径下的 `Matrix.framework`,将 `Matrix.framework` 以静态库的方式引入工程。
4. 添加头文件 `#import <Matrix/Matrix.h>`,就可以接入微信的性能探针工具了!


Expand Down
2 changes: 1 addition & 1 deletion assets/开源公告-android.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
微信自研 APM 利器,Matrix 正式开源
----------

Matrix 是一款微信研发并日常使用的 APM (Application Performance Manage) ,当前主要运行在 Android 平台上。Matrix 的目标是建立统一的应用性能接入框架,通过对各种性能监控方案快速集成,对性能监控项的异常数据进行采集和分析,输出相应问题的分析、定位与优化建议,从而帮助开发者开发出更高质量的应用。
Matrix 是一款微信团队研发并日常使用的 APM (Application Performance Manage) ,当前主要运行在 Android 平台上。Matrix 建立了一套统一的应用性能接入框架,通过对各种性能监控方案快速集成,对性能监控项的异常数据进行采集和分析,输出相应问题的分析、定位与优化建议,从而帮助开发者开发出更高质量的应用。

在经历微信内 1 年多的验证与迭代,现在 Matrix 终于开源了:

Expand Down
42 changes: 42 additions & 0 deletions assets/开源公告-iOS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Matrix for iOS/macOS 正式开源了

Matrix for iOS/macOS 是一款微信团队研发并日常使用的性能探针工具,目前集成在 iOS 和 macOS 微信的 APM(Application Performance Manage)平台中使用。Matrix for iOS/macOS 建立了一套 iOS 和 macOS 平台上统一的应用性能接入框架,通过对性能监控项的异常数据进行采集,帮助开发者开发出更高质量的应用,从而提升应用的用户体验。

Matrix for iOS/macOS 的各个插件已经在微信内部稳定运行了几年,现在作为 Matrix 项目的一部分将其开源:https://github.com/Tencent/matrix/tree/master/matrix/matrix-iOS。

欢迎 Star, 提 Issue 和 PR。

## Matrix for iOS/macOS 有哪些功能

Matrix for iOS/macOS 当前监控范围包括:崩溃、卡顿和爆内存,目前包含两款插件:
* WCCrashBlockMonitorPlugin
* WCMemoryStatPlugin

#### WCCrashBlockMonitorPlugin

一款基于 [KSCrash](https://github.com/kstenerud/KSCrash) 框架开发,具有业界领先的卡顿堆栈捕获能力的插件。卡顿捕捉具有如下特点:

* 通过检查 Runloop 运行状态判断应用是否卡顿,同时支持 iOS/macOS 平台;
* 具备耗时堆栈提取能力,可获取最近时间最耗时的主线程堆栈。
同时插件也具备与 KSCrash 框架一致的崩溃捕捉能力。

#### WCMemoryStatPlugin

一款性能优化到极致的内存监控工具,能够全面捕获应用出现爆内存时的堆栈以及内存分配情况。与现有的内存监控工具相比,WCMemoryStatPlugin 性能表现更加优异,并且监控的对象更加全面,它具有如下特点:

* 在应用运行期间获取对象存活以及相应的堆栈信息,在检测到应用爆内存时进行上报;
* 使用平衡二叉树存储存活对象,使用 Hash Table 存储堆栈,性能优化到极致。


## 未来规划

1. 计划扩展卡顿监控,让 Matrix for iOS/macOS 具备获取耗电堆栈的能力;
2. 打造一套完整的云解决方案。

## 开源地址

[Matrix] https://github.com/Tencent/matrix/tree/master/matrix/matrix-iOS

请给 Matrix 一个 Star !

欢迎提出你的 issue 和 PR
Loading

0 comments on commit 5c00d52

Please sign in to comment.