基于 Proxy 的代码执行监听与上报

所属专题:前端测试与安全

嘉宾 : 樊东东 | 腾讯高级 Web 前端工程师

会议室 : 沙龙2

讲师介绍

专题演讲嘉宾:樊东东

腾讯 高级 Web 前端工程师

樊东东,腾讯高级 Web 前端工程师,2014年进入腾讯,先后经历过移动办公、泛娱乐产品、QQ 小程序的 Web 开发工作,有大量运营平台、H5、Node 等相关的开发经验;现负责 QQ 小程序开发者工具、小程序相关工具链、QQ 相关基础运营平台等开发工作。他善于在平凡的代码中找到不一样的玩法。

议题介绍

演讲:基于 Proxy 的代码执行监听与上报

后端有全链路监控,能分析出模块之间的调用情况,前端一般日志打点、收集、上报,都是面条式的日志。在前端 SDK 的执行过程中能否收集更多更全面的信息,如 API 及回调函数的附属关系,API 和 API 间的上下文关系。

利用 Proxy 代理 SDK 暴露出去的对象,递归 Hook API 及 API 的结果,收集属性 get、set、API 调用、回调函数执行情况等。直观看到 API 在业务代码中的执行情况,收集调用信息方便编写测试案例等。

演讲提纲:

1.  背景介绍

    SDK调用日志零散

2.  方案选型

    (1) 传统打日志方式
    (2) Proxy 对比 defineProperty

3.  Proxy 介绍

    (1) 能否替代原对象
    (2) 能收集哪些信息
    (3) 性能对比

4.  链路信息
    (1) API 结果
    (2) 参数处理
    (3) 回调函数
    (4) 上下文

5.  可视化

听众收益:

1.  加深对 Proxy 的理解
2.  前端 SDK 基于 ES6 Proxy 的深度日志收集
3.  方便编写测试用例
4.  腾讯小程序前端测试案例

前言亮点:

前端 SDK 的日志全链路

知识储备:

1.  ES6 基础知识
2.  Proxy
3.  日志上报

交通指南

© 2019 Baidu - GS(2018)5572号 - 甲测资字1100930 - 京ICP证030173号 - Data © 长地万方
本网站图片存储由七牛云独家支持