1.0.1 • Published 7 months ago

bx-monitor v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

BXMonitor

一个轻量级的前端监控 SDK,支持性能监控、错误监控和自定义埋点。

特性

  • 🚀 自动收集页面性能指标
  • 🔄 支持 SPA 路由变化监控
  • ⚠️ 自动捕获 JS 错误和 Promise 异常
  • 📊 支持点击、曝光等埋点统计
  • ⚡ 支持性能采样和错误采样
  • 🔌 提供灵活的扩展和钩子机制

安装

npm install bx-monitor
# or
yarn add bx-monitor

快速开始

import { BXMonitor } from 'bx-monitor';

// 初始化监控
const monitor = new BXMonitor({
  reportUrl: 'your-api-endpoint',  // 数据上报地址(必填)
  appId: 'hello-bike',            // 应用标识(必填)
  bizType: 'order',              // 业务类型
  env: 'prod',                   // 环境标识
  version: '1.0.0',              // 应用版本号
  pageId: 'home'                 // 页面标识
});

埋点使用

点击埋点

monitor.clickReport({
  pageId: 'home',
  buttonName: 'submit',          // 按钮名称
  elementId: 'submit_btn',       // 元素标识
  categoryId: 'order',           // 业务标识
  extra: { orderId: '123' }      // 额外信息
});

页面曝光

monitor.pageView({
  pageId: 'home',
  categoryId: 'marketing',
  extra: { source: 'banner' }
});

模块曝光

monitor.moduleExpose({
  pageId: 'home',
  moduleId: 'banner',           // 页面区块标识
  contentId: 'banner_1',        // 内容标识
  exposeTimes: 1,              // 曝光次数
  categoryId: 'marketing'
});

错误上报

monitor.errorReport({
  pageId: 'home',
  message: '自定义错误信息',
  fileName: 'app.js',
  lineNo: 100,
  colNo: 50,
  stack: 'Error stack trace'
});

配置项

基础配置

参数类型必填默认值说明
reportUrlstring-数据上报地址
appIdstring-应用标识
bizTypestring-业务类型
env'dev' | 'test' | 'prod'-环境标识
versionstring-应用版本号
pageIdstring-页面标识

功能配置

参数类型默认值说明
enablePerformancebooleantrue是否启用性能监控
enableErrorbooleantrue是否启用错误监控
maxCachenumber50最大缓存数量
reportTimeoutnumber5000上报超时时间(ms)
samplingnumber1采样率 0-1

钩子函数

参数类型说明
beforeReport(data: any) => any上报前的数据处理钩子
onError(error: any) => void上报失败的回调

性能指标

指标说明
dnsFindTimeDNS查询时间
tcpConnectTimeTCP连接时间
whiteScreenTime白屏时间
domCompletionTimeDOM完成时间
pageLoadTime页面加载时间
routeChangeTime路由切换耗时(仅SPA)

错误监控

自动捕获以下类型的错误:

  • JavaScript 运行时错误
  • Promise 未处理的 rejection
  • 资源加载错误

浏览器支持

  • Chrome >= 58
  • Firefox >= 52
  • Safari >= 11
  • Edge >= 79

License

MIT

1.0.1

7 months ago

1.0.0

7 months ago