UNPKG

spy-client

Version:

spy client

105 lines (104 loc) 2.86 kB
/** * @file SpyClient * @author kaivean */ import { SpyClientOption } from './lib/interface'; interface Option { /** * 指标组,它的每个key就是指标名称(英文表示),在平台对应分组添加该指标名称便能实现自动统计 */ info: object; /** * 维度信息对象,它的每个字段就是一个维度名称(英文表示),在平台对应分组添加该维度名称便能实现自动统计 */ dim?: object; /** * 分组,默认:common */ group?: string; /** * 抽样,会覆盖全局抽样配置,默认是 1,取值从[0, 1] */ sample?: number; /** * 日志服务器,默认是webb服务器,尾部需要加? */ logServer?: string; } interface ErrorInfo { /** * 错误唯一标识,平台会统计该错误唯一标识的数量 */ [propName: string]: any; } interface ErrorOption { /** * 错误信息对象,它必须有msg字段,是错误唯一标识,其他字段可用户随意添加用来补充错误信息 */ info?: ErrorInfo; /** * 维度信息对象,它的每个字段就是一个维度名称(英文表示),在平台对应分组添加该维度名称便能实现自动统计 */ dim?: object; /** * 分组,默认:common */ group?: string; /** * 抽样,默认是 1,取值从[0, 1],该抽样会覆盖实例初始化时的抽样配置 */ sample?: number; /** * 业务拓展信息 */ ext?: any; } interface SpyClientInnerOption extends SpyClientOption { logServer: string; } export default class SpyClient { sample: any; markCache: any; option: SpyClientInnerOption; constructor(option: SpyClientOption); handle(logItem: any): any; send(data: any, post?: boolean): void; check(query: any): boolean; /** * * @param option 配置 */ sendPerf(option: Option): void; /** * * @param option 错误配置项 */ sendExcept(option: ErrorOption): void; /** * * @param option 配置 */ sendDist(option: Option): void; /** * * @param option 配置 */ sendCount(option: Option): void; /** * * @param e 错误实例 * @param option 错误配置项 */ sendExceptForError(e: Error, option: ErrorOption): void; startMark(sign: string): void; endMark(sign: string): number; clearMark(sign: string): void; getAllMark(): { [propName: string]: number; }; clearAllMark(): void; sendPost(data: any): void; protected request(url: string, data?: any): void; protected fetch(url: string, data: any): void; } export {};