UNPKG

whitch-frontend-monitor

Version:

前端监控系统 - 一个轻量级的前端监控SDK

106 lines (86 loc) 3.29 kB
# Trae 前端监控系统 Trae 是一个轻量级的前端监控系统SDK,提供了错误监控、性能监控、用户行为监控和网络请求监控等功能。 ## 功能特点 - 🚀 错误监控:捕获JS运行时错误、Promise异常和资源加载错误 - 📊 性能监控:收集页面性能指标、资源加载性能和Web Vitals指标 - 👨‍💻 用户行为:跟踪用户点击、路由变化和控制台输出 - 🌐 网络监控:监控XHR和Fetch请求 ## 安装 ```bash npm install whitch-frontend-monitor ``` ## 使用方法 ### 基础配置 ```javascript import { TraeMonitor } from 'trae'; // 初始化监控实例 const monitor = TraeMonitor.getInstance({ appId: 'your-app-id', // 应用ID userId: 'user-id', // 可选,用户ID reportUrl: 'your-api-url', // 数据上报地址 autoTracker: true, // 可选,是否自动采集(默认truedelay: 1000, // 可选,上报延迟(默认1000ms) ignoreUrls: [], // 可选,忽略的URL列表 sampleRate: 1, // 可选,采样率(0-1之间,默认1maxRetry: 3, // 可选,最大重试次数(默认3compression: true // 可选,是否启用压缩(默认true) }); // 获取监控数据 const errors = monitor.getErrors(); // 获取错误监控数据 const performance = monitor.getPerformanceData(); // 获取性能监控数据 const behaviors = monitor.getBehaviors(); // 获取用户行为数据 const network = monitor.getNetworkData(); // 获取网络请求监控数据 // 销毁监控实例 monitor.destroy(); ``` ### 数据格式 #### 错误监控数据 ```typescript interface ErrorInfo { type: string; // 错误类型 message: string; // 错误信息 stack?: string; // 错误堆栈 filename?: string; // 发生错误的文件 position?: string; // 错误位置(行号、列号) timestamp: number; // 错误发生时间戳 } ``` #### 性能监控数据 ```typescript interface PerformanceInfo { type: string; // 性能指标类型 value: number; // 性能指标值 timestamp: number; // 采集时间戳 } ``` #### 用户行为数据 ```typescript interface BehaviorInfo { type: string; // 行为类型 target?: string; // 操作目标 pageUrl: string; // 页面URL timestamp: number; // 行为发生时间戳 metadata?: any; // 额外信息 } ``` #### 网络请求数据 ```typescript interface NetworkInfo { type: string; // 请求类型(xhr/fetch) method: string; // 请求方法 url: string; // 请求URL status: number; // 状态码 duration: number; // 请求耗时 success: boolean; // 是否成功 timestamp: number; // 请求发起时间戳 error?: string; // 错误信息 response?: any; // 响应数据 } ``` ## 注意事项 1. 确保在应用初始化时尽早调用 `TraeMonitor.getInstance()` 2. 根据实际需求配置采样率和上报延迟 3. 合理配置 ignoreUrls 以过滤不需要监控的请求 4. 在应用销毁时调用 `monitor.destroy()` 以清理资源 ## License MIT