收藏
评论

使用“小程序助手”的性能分析,与实时日志提交官方


你好,我是李艺。

上节课我们主要学习了有关图片的优化技巧,这节课学习使用小程序助手。

先看一下问题(背景),小程序助手是官方推出的一个小程序,它可以查看当前微信用户,也就是开发者有权限查看的小程序数据,包括但不限于性能分析,实时日志是从小程序代码里边

实时向微信服务器提交日志信息,并且可以从小程序后台查看提交的结果。虽然实时日志有上传大小,保留期限等等限制,但是在产品新版本上线的时候,管理员可以通过这个功能快速浏览新版本发布的情况,看看它是否正常,如果发现了大量异常,方便管理员进行版本的回滚。下面看项目实践。


首先看实践一,在小程序中查看性能分析。

如屏幕上所示,我们使用手机可以扫描小程序助手的小程序码就能打开小程序助手,打开以后依次选择当前的小程序账号,性能分析页面,如我们屏幕上所示。这里有概况,启动性能,运行性能和网络性能等标签。用户设备还分高档,中档和低档三个层次。已经上线的小程序,查看这个地方的数据,基本上就能知道性能优化的一个大致结果了。

下面我们进行实践一的代码演示。

使用自己的开发者微信账号点扫一扫,然后扫我们的小程序助手二维码,打开以后,我们在这个地方其实是可以进行切换的,然后选择我们当前在用的小程序账号,下面数据分析这一块有一个性能分析,打开以后可以看到有昨日概况,启动性能,运营性能,网络性能等很多标签,在这里面还有一些关于从启动耗时内存,网络等等相关的一些数据。这些数据对于我们团队里面不是开发者的人员来讲,使用小程序助手已经足够了。


下面我们看实践二,上传实时日志。

向微信后台发送实时日志是通过小程序提供的RealtimeLogManager这个管理器实现的。首先我们需要创建一个log.js文件,代码如屏幕上所示。在这个文件中实现管理器的获取,以及相关日志上传的代码逻辑,然后在app.js这个文件里面引入log.js文件模块,并截持console.log这个接口,代码如屏幕上所示。将原生的console.log,重定向日志上报接口,这会导致我们原来所有使用console.log输出的测试信息,都会上报至微信后台,如屏幕上所示。我们登录小程序后台以后,就可以在后台查看到上报的日志信息了。对实时日志的使用我们还是要克制一些,毕竟日志上报也是要占用设备流量的有,在研发的时候可以借助实时日志进行团队测试,开发者也可以查看测试人员的日志情况,在上线之前可以将console.log重定向代码注释掉,或者是仅上报错误信息。注意查看实时日志,不要求产品上线,但是对于开发版本来讲,在模拟器和客户端微信里面进行预览的时候也无法进行日志上传,只有在手机上预览时日志才会实时上报。

下面我们进行代码演示。

在library这个目录下面,我们有一个log.js文件,这个文件我们是需要的,我们将它拷贝到我们当前的项目目录下,放到library目录下面,这个文件的代码我们简单看一眼。首先上面我们是新建了一个rtlog这样的模块变量,它是通过wx.getRealtimeLogManager这样的一个平台接口,然后获取到这个实时日志管理器,得到这样的一个实例,然后在下面这个地方我们是保留了原来的console.log接口,保留是方便我们在重写这个接口以后仍然可以对它进行调用。下面就是相关的方法的一个实现了,我们重点看这个info接口。首先是我们将我们传进来的参数,同时然后传递给原来的console.log这个方法,这样可以在本地进行信息的一个打印,同时我们在后面去调用我们的管理器实例,它的info这样的一个接口,将这个信息传递给它,这样的话我们日志信息就会实时上报给微信的后台了。另外还有一件事我们需要做,关于我们把原来的console.log接口的一个截取,这个截取我们要放在我们的app.js这个里面来做。

首先这个地方我们要有一个引入,引入以后就是关于这个方法的一个重写了,我们将这个代码给它拷贝一下,然后到我们当前的小程序目录下,在最顶部的位置,然后放在这里,这样就可以了,然后我们原来的所有的关于console.log代码的调用都不需要修改,它会自动调用我们日志管理器里面的方法的,代码已经改完了,接下来我们可以进行测试,在测试的时候我们没有办法使用模拟器进行测试,在模拟器里面它还有一个叫做MAC端自动预览,或者是Windows端自动预览,这个也无法进行日志上报,但是我们可以通过手机端预览,然后可以实现日志上报,可以测试它的一个效果,上报以后,接下来我们就可以在后端进行查看了。下面我们登录我们小程序的后台,然后在左边的导航栏里面选择开发,开发管理,然后再选择运维中心下面实时日志,选择这个标签页,这个地方就会列出我们当前已经存在的一些实时的一个信息了,它还支持微信号OpenID的一个过滤,功能还是比较全面的。因为现在这个地方它没有,但是如果你在手机上预览以后,这个地方其实它是可以看到实时日志的,我们代码演示就到这里了。


下面我们看一下小结。小程序助手不仅可以查看小程序产品的基本性能状况,还能查看用户量,用户投诉等等信息,并且还不需要安装,只需要在后台添加相关的账号权限,在微信上扫码就可以使用了。非常适合团队中的非开发人员使用,上传实时日志对用户的带宽肯定是有消耗的,这一块还可以进一步的优化,一般情况下对于消息上传我们可以选择不上传,只上传那些关键的错误信息。另外还有当用户处于4G网络的时候也可以不上传

只有用户在WiFi网络下的时候才选择上传。

点击查看开放文档:


这节课就讲到这里,上面的网址是本课涉及的文档地址。这节课我们主要学习了如何查看小程序助手的性能分析,及如何使用日志管理器对象进行实时日志的上传。下节课我们学习如何使用小程序后台的自主测速功能。

最后我们看一下思考题,这里有个问题请你思考一下,小程序的性能分析数据不仅能通过小程序助手查看,还可以通过接口调用的方式,在我们自己的后台管理页面中以自定义数据的方式拉取和展示,在数据拉取的时候,可能会遇到一个47001 data format error

这样的一个错误,这个错误你以前遇到过吗?应该如何去尝试解决?下节课我们就一起来深入探讨一下这个问题。

最后一次编辑于  2022-07-15
赞 2
收藏

1 个评论

  • 清蒸鱼
    清蒸鱼
    2022-12-21

    ·如果只上报异常,就使用logger.error()?我觉得每一种都应该加原本的打印,毕竟模拟器调试还要看呢

    2022-12-21
    赞同
    回复
登录 后发表内容

小程序性能优化实践

课程标签