1.0.22 • Published 9 months ago
@dmhsq_monitor/processor v1.0.22
@dmhsq_monitor/processor
监控数据处理器模块,提供数据聚合、去重、IP收集和错误分组等功能。
安装
npm install @dmhsq_monitor/processor功能
- 数据去重:识别并过滤重复的监控事件,避免数据冗余
- 数据聚合:将相似的错误事件进行分组聚合,减少存储空间并提高分析效率
- 数据增强:自动收集用户IP和地理位置信息,丰富监控数据
- 数据处理:提供自定义处理器接口,支持灵活的数据处理逻辑
使用示例
基本使用
import { Processor } from '@dmhsq_monitor/processor';
import { Monitor, EventType } from '@dmhsq_monitor/core';
// 创建监控实例
const monitor = new Monitor();
monitor.init({
appId: 'your-app-id',
serverUrl: 'https://your-server.com/collect'
});
// 创建处理器实例
const processor = new Processor();
processor.init({
enableDeduplicate: true,
collectUserIp: true,
collectGeoInfo: true,
mergeSimilarErrors: true
});
// 处理事件
monitor.on('beforeReport', async (events, context) => {
// 批量处理事件
const processedEvents = await processor.batchProcess(events, context);
return processedEvents;
});
monitor.start();自定义处理器
import { Processor } from '@dmhsq_monitor/processor';
import { EventType } from '@dmhsq_monitor/core';
const processor = new Processor();
// 初始化处理器
processor.init({
// 启用自定义处理器
customProcessors: [
// 过滤无效的错误
(event, context) => {
if (event.type === EventType.ERROR && !event.data.message) {
return null; // 返回null表示过滤掉该事件
}
return event;
},
// 添加自定义标签
(event, context) => {
return {
...event,
data: {
...event.data,
tags: ['production', 'v1.0.0']
}
};
}
]
});配置选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| enableDeduplicate | boolean | true | 是否启用重复数据去重 |
| deduplicateWindow | number | 1800000 | 重复数据检测时间窗口(毫秒,默认30分钟) |
| collectUserIp | boolean | true | 是否收集用户IP |
| collectGeoInfo | boolean | false | 是否收集地理位置信息 |
| mergeSimilarErrors | boolean | true | 是否合并相似错误 |
| customProcessors | function[] | [] | 自定义数据处理函数 |
处理流程
数据处理器的工作流程如下:
- 去重过滤:识别并过滤重复的事件
- 数据增强:添加IP、地理位置和浏览器信息
- 自定义处理:应用用户定义的处理器
- 错误聚合:对相似的错误进行分组
注意事项
- 地理位置信息收集依赖外部服务,可能会有性能影响
- 默认情况下,30分钟内的重复错误会被合并
- 在客户端使用时请考虑用户隐私政策的合规性
1.0.22
9 months ago
1.0.21
9 months ago
1.0.20
9 months ago
1.0.19
9 months ago
1.0.18
9 months ago
1.0.17
9 months ago
1.0.16
9 months ago
1.0.15
9 months ago
1.0.14
9 months ago
1.0.13
9 months ago
1.0.12
9 months ago
1.0.11
9 months ago
1.0.10
9 months ago
1.0.9
9 months ago
1.0.3
10 months ago
1.0.1
10 months ago
1.0.0
10 months ago