内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

7.GodEye介绍

2018-06-08 19:46 出处:清屏网 人气: 评论(0

通过前面六个章节,我们学会了日志监控,崩溃监控,卡顿监控,网络监控,硬件监控以及内存泄露监控。而这些功能都是GodEye中的一些监控子模块。

前面的章节我们详细的介绍了各个监控的原理与实现。这个章节我们就来介绍介绍GodEye这个APM(Application Performance Management),一起来看看什么是GodEye,GodEye解决了哪些痛点,GodEye又给我们提供了哪些功能。

7.1 GodEye简介

什么是GodEye

什么是GodEye?这个问题可以让GodEye自己告诉我们。

打开GodEye后,我们可以看到第一个tab页有一个Terminal的入口,这个功能是用来输入接入方自己预置的指令的,当然GodEye有一个默认的指令 help 可以输出一小段GodEye的自我介绍以及接入方自己已经预置的指令列表:

由于在我们截图的demo里并没有配置预置指令,因此这里的Commands没有输出任何一个指令,当然这不是重点,重点是GodEye的自我介绍,我们可以看到这样一句话:

Automaticly disply Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code. Just like God opened his eyes

翻译过来就是GodEye是一个可以通过一行代码来自动展示日志,崩溃,网络,卡顿,内存泄漏以及CPU,RAM,FPS,网络流量,文件目录等硬件信息的工具,就像上帝睁开了他的眼睛。

如何打开

在任何界面下三个手指上滑,或者点击GodEye的AssistiveButton即可

特色

功能丰富,一行代码接入,零代码入侵

线上包可完全不打入代码

安装

GodEye目前可以通过CocoaPods来安装,只需要将下面的代码加入到你的Podfile中即可:

pod 'GodEye'

然后,在我们的 application:didFinishLaunchingWithOptions 方法中通过一行代码即可接入:

GodEye.makeEye(with: self.window!)

当然,一行代码接入是一种默认配置的接入,读者也可以通过传入自己的 Configuration 来精细化配置各个细节,这里就不展开说了,感兴趣的可以看一下Configuration注释就好。

7.2 GodEye解决的痛点

GodEye是一个APM,一个帮助解决开发和调试时候步骤多,成本大,不方便的工具集合,因此GodEye能解决的痛点比较多,也比较散。

上一节我们谈了GodEye的功能,这一节我们就来说说这些功能都解决了啥痛点。

痛点

痛点1:查看日志需要连接Mac

我们平时查看日志输出的时候,必须将我们的手机连接到Mac电脑,用Xcode来查看。而GodEye的日志监控功能,就可以实现直接在App内查看,方便省时,还可以对日志做类别区分。

痛点2:Crash后需要Xcode查看堆栈

日常开发中Crash难免,谁都不能保证自己开发的App一个Crash的问题都没有。若是在我们日常写代码Debug的阶段Crash的话还好,可以直接在Xcode的console里看到堆栈;麻烦的是在测试人员测试的时候遇到的问题,如果能够复现还好,我们可以按部就班将操作日志再次展现在我们的Xcode控制台上,而要是难以复现的bug,我们就需要将测试人员的手机拿过来,然后找到对应的 .dSYM 文件将一堆内存地址符号化成代码。

是不是非常复杂,GodEye的Crash监控模块就能解决这个问题,我们可以直接在手机上查看Crash堆栈,实时方便,珍爱生命。

痛点3:测试网络需要Charles设代理

Charles可以很方便的帮我们查看网络请求。如果读者对Charles不熟悉,可以看看巧神的 。当然,使用Charles也有不方便的时候,需要身边有一台电脑,需要设置代理。GodEye的网络监控模块就可以省去这个烦恼,直接在App内部查看网络请求和网络响应,非常方便。后续还会加入数据mock,以及实时修改数据等功能。

痛点4:卡顿原因难以捕捉

众所周知,在移动设备上开发应用,性能是每一个developer关心的问题。作为developer我们可以通过提高自身技术,提高代码质量来优化我们应用的性能。当然我们不一定能及时发现代码存在的性能问题,这时就需要有一个能够监控并及时告知我们应用中那些耗费性能导致应用卡顿的“Bug”。GodEye的卡顿监控模块就是为此而开发。

痛点5:内存泄漏需要Instruments

不容置疑,Instruments的功能非常全面也非常强大,Leak和Allcation模块也非常实用。但是Instruments我们并不是经常会去使用,而且Instruments也有很多不便,首先你得打开Allocations,然后,你得一个个场景去重复的操作,我们无法及时得知泄漏,得专门做一遍上述操作,十分繁琐。GodEye的内存泄漏模块可以实时反馈给你内存泄漏的对象,非常方便。

痛点6:脱离Xcode就不能查看变量数据

如果我们在脱离我们的Xcode的时候想像连着Xcode那样来po一个对象或者数据的话基本是不可能的,GodEye提供了一个输入控制台,使用者可以自定义好对应的指令,运行的时候随时输入即可得到对应的数据,当然这些指令没有Xcode那么强大,但是已经够用了。

痛点7:无法得知硬件使用信息

大家是否遇到过一些疑难杂症,比如应用出现一些很奇怪的现象,经过艰苦卓绝的Debug原来是因为内存爆了,好多ViewController收到了内存警告。要是我们能对我们的硬件做监控就好了,我们能实时的知道我们的iPhone系统的CPU使用率,内存的使用率,要是能知道我们自己的app使用了多少CPU,多少内存就更好了。对,GodEye的硬件监控模块就能告诉你这些硬件信息。

痛点8:无法查看文件系统

我们平时做一些I/O操作的时候其实对我们是很不直观的,我们可能加了个文件,也可能改了个文件,我们通过代码能知道是否成功,但是我们不能亲眼看到,他就放在那里。或者我们想看一下我们的图片是否放入了我们的bundle,都很不方便。GodEye的文件模块就能很好的解决这个问题,不但能看整个沙盒的内容,还能看 .app 内部的内容,当然,也能看整个手机的根目录。

One More Thing

以上8个痛点,无一不是步骤多,成本大,不方便。而GodEye提供的功能就是为了解决这8个痛点。后续也会将已有的功能做的更加晚上,探索发现一些新的功能。

能看到这里,说明你也将整本书看完了,再次感谢你的耐心,希望这本书能对你有所帮助。也希望你会喜欢GodEye。

7.3 GodEye提供的功能

上一节我们简单的介绍了下GodEye,可见GodEye提供的功能很多,这一节我们以GodEye的界面为基础,简单介绍下GodEye能提供给我们什么样的功能

Console

打开GodEye后我们可以看到第一个Tab页的名字是Console,是的,这个tab下都是一些输出的控制台,和一个Terminal的输入控制台:


分享给小伙伴们:
本文标签: GodEye

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号