Skip to main content

插件配置

SDK 通过插件配置管理各个上报的开启和具体配置。

渲染进程插件配置

{
    plugin: {
          aid?: Boolean | PluginConfigOption;
          pv?: Boolean | PluginConfigOption;
          assetSpeed?: Boolean | PluginConfigOption;
          api?: Boolean | CoreApiConfig;
          error?: Boolean | PluginConfigOption;
          pagePerformance?: Boolean |{longtask: boolean}; // longtask 收集默认关闭,如需开启可设置为{longtask: true}
          spa?: Boolean | PluginConfigOption;
blankScreen?: Boolean | PluginConfigOption;
}
}

aid

Aegis SDK 为每个用户设备分配的唯一标识,会存储在浏览器的 localStorage 里面,用来区分用户,计算 uv 等。aid 只有用户清理浏览器缓存才会更新。 对于一些项目,使用自己构造的 aid 作为上报规则,后端对 aid 的校验规则如下:/^[@=.0-9a-zA-Z_-]{4,36}$/

主进程插件配置

const aegis = new Aegis({
id : 'xxxxx',
appKey: 'xxxxx',
plugin: {
processPerformance: true, // 性能,包括cpu和内存
error: true, // 错误上报
crash: true, // 崩溃上报
api: {
apiDetail: true,
},
},
})

PluginConfigOption的配置:

interface PluginConfigOption {
[key: string]: any;
}

CoreApiConfig配置:

type CoreApiConfig = {
apiDetail?: boolean;
resourceTypeHandler?: Function | undefined;
retCodeHandler?: Function | undefined;
reqParamHandler?: Function | undefined;
resBodyHandler?: Function | undefined;
resHeaders?: Array<string>;
reqHeaders?: Array<string>;
//必须为枚举值 'traceparent', 'sw8', 'b3', 'sentry-trace' 中的一种,开启该参数后,Aegis V2 会在用户请求头中注入相关 trace header。
injectTraceHeader?: string;
//数组中传入 string 或者 RegExp。标记哪些请求 url 需要注入 trace 请求头。
injectTraceUrls?:Array;
//数组中传入 string 或者RegExp。标记哪些请求 url 不需要注入 trace 请求头。
injectTraceIgnoreUrls?: Array;
//标记trace请求的flag设置
traceFlag?: boolean || number;
};

api 配置表

配置项类型默认值说明
apiboolean \| object{}可选。设为 true 时等价于 {},设为 false 时关闭 api 监控
apiDetailbooleanfalse上报接口信息时,是否同时上报请求参数与返回值
reportAbortbooleanfalse上报接口信息时,是否上报接口 abort 的日志
retCodeHandlerFunction(data, url, ctx): {isErr: boolean, code: string}-返回码上报钩子,可异步;用于自定义判断接口是否异常
reqParamHandlerFunction(data, url)-上报前对请求参数进行过滤或加工
resBodyHandlerFunction(data, url)-上报前对响应 body 进行过滤或加工
reqHeadersArray<string>-需要上报的 HTTP 请求头字段列表
resHeadersArray<string>-需要上报的 HTTP 响应头字段列表(需小写;非 simple header 需在响应头加 Access-Control-Expose-Headers
resourceTypeHandlerFunction(url): 'static' \| 'fetch'-自定义请求资源类型修正钩子
injectTraceHeader'traceparent' \| 'sw8' \| 'b3' \| 'sentry-trace'-开启后,Aegis V2 会在匹配到的请求头中注入对应 trace header
injectTraceUrlsArray<string \| RegExp>-指定哪些 URL 需要注入 trace header(字符串为全匹配,推荐用正则)
injectTraceIgnoreUrlsArray<string \| RegExp>-指定哪些 URL 不需要注入 trace header(字符串为全匹配,推荐用正则)
traceFlagboolean \| number-trace 请求的 flag 标记
urlHandlerFunction(url, body): string-自定义逻辑返回最终上报的 url