1.0.22 • Published 9 months ago

@dmhsq_monitor/processor v1.0.22

Weekly downloads
-
License
ISC
Repository
github
Last release
9 months ago

@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']
        }
      };
    }
  ]
});

配置选项

选项类型默认值说明
enableDeduplicatebooleantrue是否启用重复数据去重
deduplicateWindownumber1800000重复数据检测时间窗口(毫秒,默认30分钟)
collectUserIpbooleantrue是否收集用户IP
collectGeoInfobooleanfalse是否收集地理位置信息
mergeSimilarErrorsbooleantrue是否合并相似错误
customProcessorsfunction[][]自定义数据处理函数

处理流程

数据处理器的工作流程如下:

  1. 去重过滤:识别并过滤重复的事件
  2. 数据增强:添加IP、地理位置和浏览器信息
  3. 自定义处理:应用用户定义的处理器
  4. 错误聚合:对相似的错误进行分组

注意事项

  • 地理位置信息收集依赖外部服务,可能会有性能影响
  • 默认情况下,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