babel-plugin-transform-slow-func-detecter
这个插件用于分析js运行过程中是否存在慢方法,仅在开发环境中使用,请勿在线上使用。
它的原理是使用一个新的方法包裹原始方法,并在头尾部插入时间。
已实现功能
- 目前支持 react-native, web, node 平台
- 分析同步方法运行时长
- 分析 async 方法运行时长
- 设置报警
1. 安装
yarn add --save babel-plugin-transform-slow-func-detecter
babel 配置
module.exports = {
plugins: [
[
'babel-plugin-transform-slow-func-detecter',
{
printTransformInfo: false,
},
],
],
};
2. 初始化(可选)
import sdf from 'babel-plugin-transform-slow-func-detecter/lib/eventCollecter';
sdf.init(1, 2, (e) => {
console.warn(e)
});
3. 报警事件参数说明
type SfdEvent = {
fileName: String;
row: number;
column: number;
isAsync: Boolean;
isGenerator: Boolean;
funcName: String;
time: number;
endTime: number;
duration: number;
timeFromInitTime: number;
endTimeFromInitTime: number;
count: number;
};
|