有了 vConsole,我们为什么还要做 PageSpy

2023-12-01 09:25:39 +08:00
 blucas01

接上回 《支持远程调试的 "vConsole"》 发出后,大家对此挺感兴趣,所以咱这回接着唠。

起初在开发 PageSpy 的时候,我们是想着解决 vConsole 做不到的事情,也就是远程调试的工作协同:开发人员在上海,测试、产品等团队在深圳。

那时候是这样的啊,项目白屏了、程序报错了、接口 Error 了,完事儿让测试人员对着 vConsole 截图,人家怎么知道截啥图、截哪个面板的图?具体来说,打个比方:js 里通过 res.data.users.map(fn) 去遍历用户渲染,但是由于种种原因,接口返回的数据长这样式儿的:

{
    "success": true,
    "message": "请求成功",
    "data": null
}

测试人员在 vConsole 看到的、最直观的也就是以下 "报红" 错误信息:

Uncaught TypeError: Cannot read properties of null (reading 'users')
    at <压缩后的.js>:3:10010

当测试小姐姐把这个错误截图发过来的时候,对开发人员排障有什么帮助吗?有的!我们从中可以得知:

  1. 读取的是某个对象的 users 属性;
  2. 是在 <压缩后的.js> 第 3 行、第 10010 列处发生的问题;

信息量够吗?单独针对于这个场景,勉强可以接受,虽然 .users 的关键词搜索结果很多,但因为我们可以去扒 <压缩后的.js> 文件,耐心的定位到错误堆栈的具体报错位置,再结合我们自身对这个项目源代码的熟悉、理解,有经验的同学还是能够找到问题所在的,但是大家等我说完这一大串也能感受到,整个排查的过程下来会很累。。。

那如果客户端报错的现场不是在测试小姐姐那边、是在我们本地谷歌浏览器的话,排障的流程又会是什么样子的呢?

相比上面的 "盲人摸象",本地的排障非常的自然、顺畅。

正因如此,PageSpy 本着向控制台看齐的初衷,基本还原了控制台排障的流程:

除了上面提到的这些功能外,我们在 PageSpy 的应用截图中也可以看到其他的信息:

当开发者直面这些数据的时候,大多数问题将迎刃而解。今天我们先分享到这里,大家如果感兴趣的话,可以查看 官网文档,官方提供了 Docker / Node 等方式的部署方案,一键部署、一劳永逸,使用起来非常简单。

有问题大家可以加入 技术支持群

8218 次点击
所在节点    程序员
50 条回复
blucas01
110 天前
#13 现已支持
soar0712
110 天前
为啥我这边打开官网链接是 godaddy 的停放页,是我网络问题还是解析问题啊
soar0712
110 天前
@soar0712 不好意思……才看到这是个老帖子,不知道为啥这会儿给我订到头部了
blucas01
110 天前
@soar0712 #22 帖子虽老内容不老 ,可以访问完整路径: https://www.pagespy.org 或者国内官网镜像 https://pagespy.huolala.cn
Baymaxbowen
110 天前
支持报错时自动上传报错数据吗
TimPeake
110 天前
有点 sentry 的意思了?
TimPeake
110 天前
你们官方域名不对吧
blucas01
110 天前
@Baymaxbowen 提供手动上传的 API ,在什么时机调用需要开发者决定
xieqiqiang00
110 天前
好多年前我给自己的网站还搞过这个功能,刚开始写前端很菜,网站老崩溃,就把所以能记录的全记录了传回服务器,奔溃一次记录有好几兆
blucas01
110 天前
@TimPeake #26 不吹不黑,支持的场景比 sentry 更多、也更实在
TimPeake
110 天前
跑个 demo 试了下, 两个字:牛皮。
blucas01
110 天前
@TimPeake #27 正在看,可以先访问完整路径: https://www.pagespy.org 或者国内官网镜像 https://pagespy.huolala.cn
blucas01
110 天前
@xieqiqiang00 PageSpy 值得让你一试
blucas01
110 天前
@TimPeake #31 嘎嘎一嘎子
itning
110 天前
angular support ?
TimPeake
110 天前
@blucas01 #34 顺便说你, 你们的那个在线 demo 快被玩儿坏了, 我似乎看到不少隐私信息
Baymaxbowen
110 天前
@blucas01 #28 还有个小问题。比如我想知道是哪个用户使用的,是否支持开发者在特定时机修改设备的 title 名称
blucas01
110 天前
blucas01
110 天前
puzzle9
110 天前
啊 突然挖坟啦 原来之前就已经用过啦 很棒

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/996712

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX