@agora-js/report
Version:
logger and report module across @agora-js packages
961 lines (869 loc) • 29.2 kB
TypeScript
import { AgoraRTCError as AgoraRTCError_2 } from '@agora-js/shared';
import { AgoraRTCErrorCode } from '@agora-js/shared';
import { EventEmitter } from '@agora-js/shared';
import { NETWORK_STATE } from '@agora-js/shared';
import type { SDK_MODE } from '@agora-js/shared';
import type { UID } from '@agora-js/shared';
export declare interface AgoraApiExecutor<T> {
onSuccess: (result: T) => void;
onError: (err: AgoraRTCError_2) => void;
}
export declare enum AgoraEventUploadId {
WORKER_EVENT = 156,
AP_WORKER_EVENT = 160
}
export declare class AgoraLogger {
private proxyServerURL?;
private logLevel;
private uploadState;
private uploadLogWaitingList;
private uploadLogUploadingList;
private uploadErrorCount;
private currentLogID;
private url?;
/** @internal */
constructor();
/** @internal */
debug(...args: any): void;
/** @internal */
info(...args: any): void;
/** @internal */
warning(...args: any): void;
/** @internal */
warn(...args: any): void;
/** @internal */
error(...args: any): void;
/** @internal */
upload(...args: any): void;
setLogLevel(level: number): void;
enableLogUpload(): void;
disableLogUpload(): void;
/** @internal */
setProxyServer(proxyServerURL?: string): void;
/** @internal */
prefix(prefix: string): EnhancedAgoraLogger;
private log;
private uploadLog;
private appendLogToWaitingList;
startUpload(): void;
private uploadLogs;
private uploadLogInterval;
extLog: (level: number, argsWithStyle: string[]) => void;
}
/**
* @ignore
*/
export declare class AgoraRTCError extends AgoraRTCError_2 {
readonly name: string;
constructor(code: AgoraRTCErrorCode, message?: string, data?: any);
print(level?: "error" | "warning"): AgoraRTCError;
throw(): never;
}
export { AgoraRTCErrorCode }
export declare enum AgoraRTCEvent {
PUBLISH = "publish",
SUBSCRIBE = "subscribe",
WS_COMPRESSOR_INIT = "ws_compressor_init",
SESSION_INIT = "session_init",
JOIN_CHOOSE_SERVER = "join_choose_server",
REQ_USER_ACCOUNT = "req_user_account",
JOIN_GATEWAY = "join_gateway",
REJOIN_GATEWAY = "rejoin_gateway",
STREAM_SWITCH = "stream_switch",
REQUEST_PROXY_WORKER_MANAGER = "request_proxy_worker_manager",
REQUEST_PROXY_APPCENTER = "request_proxy_appcenter",
FIRST_VIDEO_RECEIVED = "first_video_received",
FIRST_AUDIO_RECEIVED = "first_audio_received",
FIRST_VIDEO_DECODE = "first_video_decode",
FIRST_AUDIO_DECODE = "first_audio_decode",
ON_ADD_AUDIO_STREAM = "on_add_audio_stream",
ON_ADD_VIDEO_STREAM = "on_add_video_stream",
ON_UPDATE_STREAM = "on_update_stream",
ON_REMOVE_STREAM = "on_remove_stream",
USER_ANALYTICS = "req_user_analytics",
PC_STATS = "pc_stats",
UPDATE_REMOTE_RTPCAPABILITIES = "update_remote_rtpCapabilities",
AB_TEST = "ab_test"
}
export declare type AgoraRTCEventFirstRemoteFrame = AgoraRTCEvent.FIRST_AUDIO_DECODE | AgoraRTCEvent.FIRST_AUDIO_RECEIVED | AgoraRTCEvent.FIRST_VIDEO_DECODE | AgoraRTCEvent.FIRST_VIDEO_RECEIVED;
export declare type AgoraRTCEventOnGatewayStream = AgoraRTCEvent.ON_ADD_AUDIO_STREAM | AgoraRTCEvent.ON_ADD_VIDEO_STREAM | AgoraRTCEvent.ON_UPDATE_STREAM | AgoraRTCEvent.ON_REMOVE_STREAM;
export declare class AgoraRTCEventReport {
private baseInfoMap;
private proxyServer?;
private eventUploadTimer;
private setSessionIdTimer;
private url?;
private sids;
private backupUrl?;
private _appId?;
private _aid;
private keyEventUploadPendingItems;
private normalEventUploadPendingItems;
private apiInvokeUploadPendingItems;
private apiInvokeCount;
private apiInvokeLoggedCount;
private ltsList;
private lastSendNormalEventTime;
private customReportCounterTimer?;
private customReportCount;
constructor();
getBaseInfoBySessionId(sessionId: string): {
info: EventReportBase;
startTime: number;
lastJoinSuccessTime?: number;
};
setAppId(appid: string): void;
reportApiInvoke<T>(sessionId: string | null, params: EventReportReportAPIInvokeParams<T>, throttleTime?: number): AgoraApiExecutor<T>;
sessionInit(sessionId: string, params: EventReportInitParams): void;
joinChooseServer(sessionId: string, params: EventReportChooseServerParams): void;
reqUserAccount(sessionId: string, params: EventReportReqUserAccountParams): void;
joinGateway(sessionId: string, params: EventReportJoinGatewayParams): void;
joinChannelTimeout(sessionId: string, timeout: number): void;
publish(sessionId: string, params: EventReportPublishParams): void;
subscribe(sessionId: string, params: EventReportSubscribeParams, isMassSubscribe?: boolean): void;
wsCompressorInit(params: EventReportWsCompressorInitParams): void;
firstRemoteVideoDecode(sessionId: string, eventType: AgoraRTCEventFirstRemoteFrame, uploadType: AgoraRTCEventUploadFirstRemoteFrame, params: EventFirstRemoteVideoFrameParams): void;
firstRemoteFrame(sessionId: string, eventType: AgoraRTCEventFirstRemoteFrame, uploadType: AgoraRTCEventUploadFirstRemoteFrame, params: EventFirstRemoteFrameParams): void;
abTest(sessionId: string, params: EventABTestParams): void;
pcStats(sessionId: string, params: EventPCStatsParams): void;
updateRemoteRTPCapabilities(sessionId: string | null, params: EventUpdateRemoteRTPCapabilitiesParams): void;
onGatewayStream(sessionId: string, eventType: AgoraRTCEventOnGatewayStream, uploadType: AgoraRTCEventUploadOnGatewayStream, params: EventOnGatewayStreamParams): void;
streamSwitch(sessionId: string, params: EventReportStreamSwitchParams): void;
requestProxyAppCenter(sessionId: string, params: EventReportRequestProxyAppCenterParams): void;
requestProxyWorkerManager(sessionId: string, params: EventReportRequestProxyWorkerManagerParams): void;
setProxyServer(url?: string): void;
peerPublishStatus(sessionId: string, params: EventPeerPublishStatusParams): void;
workerEvent(sessionId: string, params: IWorkerEvent): void;
apworkerEvent(sessionId: string, params: IAPWorkerEvent): void;
joinWebProxyAP(sessionId: string, params: IJoinWebProxyAP): void;
WebSocketQuit(sessionId: string, params: IWebSocketQuit): void;
sendCustomReportMessage(sessionId: string, params: EventCustomReportParams[]): Promise<void>;
private sendApiInvoke;
addSid(sid: string): void;
removeSid(sid: string): void;
private appendSessionId;
send(item: AgoraRTCEventUploadItem, isKeyEvent: boolean): void;
private doSend;
private sendItems;
private postDataToStatsCollector2;
private postDataToStatsCollector;
private createBaseInfo;
reportResourceTiming(url: string, sessionId: string): void;
extApiInvoke: (msgs: ExtensionApiInvokeMessage[]) => Promise<void>;
}
export declare type AgoraRTCEventUploadFirstRemoteFrame = AgoraRTCEventUploadType.FIRST_AUDIO_DECODE | AgoraRTCEventUploadType.FIRST_AUDIO_RECEIVED | AgoraRTCEventUploadType.FIRST_VIDEO_DECODE | AgoraRTCEventUploadType.FIRST_VIDEO_RECEIVED;
export declare interface AgoraRTCEventUploadItem {
type: AgoraRTCEventUploadType;
data: EventReportBase | newReportMessages;
isPb?: boolean;
id?: number;
}
export declare interface AgoraRTCEventUploadJsonItem {
type: AgoraRTCEventUploadType;
data: EventReportBase;
isPb?: boolean;
}
export declare type AgoraRTCEventUploadOnGatewayStream = AgoraRTCEventUploadType.ON_ADD_AUDIO_STREAM | AgoraRTCEventUploadType.ON_ADD_VIDEO_STREAM | AgoraRTCEventUploadType.ON_UPDATE_STREAM | AgoraRTCEventUploadType.ON_REMOVE_STREAM;
export declare enum AgoraRTCEventUploadType {
SESSION = "io.agora.pb.Wrtc.Session",
JOIN_CHOOSE_SERVER = "io.agora.pb.Wrtc.JoinChooseServer",
REQ_USER_ACCOUNT = "io.agora.pb.Wrtc.ReqUserAccount",
JOIN_GATEWAY = "io.agora.pb.Wrtc.JoinGateway",
RE_JOIN_GATEWAY = "io.agora.pb.Wrtc.ReJoinGateway",
PUBLISH = "io.agora.pb.Wrtc.Publish",
SUBSCRIBE = "io.agora.pb.Wrtc.Subscribe",
WS_COMPRESSOR_INIT = "io.agora.pb.Wrtc.WsCompressorInit",
STREAM_SWITCH = "io.agora.pb.Wrtc.StreamSwitch",
AUDIO_SENDING_STOPPED = "io.agora.pb.Wrtc.AudioSendingStopped",
VIDEO_SENDING_STOPPED = "io.agora.pb.Wrtc.VideoSendingStopped",
REQUEST_PROXY_APPCENTER = "io.agora.pb.Wrtc.RequestProxyAppCenter",
REQUEST_PROXY_WORKER_MANAGER = "io.agora.pb.Wrtc.RequestProxyWorkerManager",
API_INVOKE = "io.agora.pb.Wrtc.ApiInvoke",
FIRST_VIDEO_RECEIVED = "io.agora.pb.Wrtc.FirstVideoReceived",
FIRST_AUDIO_RECEIVED = "io.agora.pb.Wrtc.FirstAudioReceived",
FIRST_VIDEO_DECODE = "io.agora.pb.Wrtc.FirstVideoDecode",
FIRST_AUDIO_DECODE = "io.agora.pb.Wrtc.FirstAudioDecode",
ON_ADD_AUDIO_STREAM = "io.agora.pb.Wrtc.OnAddAudioStream",
ON_ADD_VIDEO_STREAM = "io.agora.pb.Wrtc.OnAddVideoStream",
ON_UPDATE_STREAM = "io.agora.pb.Wrtc.OnUpdateStream",
ON_REMOVE_STREAM = "io.agora.pb.Wrtc.OnRemoveStream",
JOIN_CHANNEL_TIMEOUT = "io.agora.pb.Wrtc.JoinChannelTimeout",
PEER_PUBLISH_STATUS = "io.agora.pb.Wrtc.PeerPublishStatus",
WORKER_EVENT = "io.agora.pb.Wrtc.WorkerEvent",
AP_WORKER_EVENT = "io.agora.pb.Wrtc.APWorkerEvent",
JOIN_WEB_PROXY_AP = "io.agora.pb.Wrtc.JoinWebProxyAP",
WEBSOCKET_QUIT = "io.agora.pb.Wrtc.WebSocketQuit",
USER_ANALYTICS = "io.agora.pb.Wrtc.UserAnalytics",
AUTOPLAY_FAILED = "io.agora.pb.Wrtc.AutoplayFailed",
PC_STATS = "io.agora.pb.Wrtc.PCStats",
UPDATE_REMOTE_RTPCAPABILITIES = "io.agora.pb.Wrtc.UpdateRemoteRTPCapabilities",
AB_TEST = "io.agora.pb.Wrtc.ABTest"
}
export declare function apiInvoke(options?: {
report?: AgoraRTCEventReport;
reportResult?: boolean;
className?: string;
argsMap?: (self: any, ...args: any[]) => any[];
throttleTime?: number;
}): ApiInvokeDecorator;
export declare type ApiInvokeDecorator = <T>(target: T, propertyKey: any, descriptor: TypedPropertyDescriptor<any>) => TypedPropertyDescriptor<any> | undefined;
export declare interface ApiInvokeMessage {
tag?: string;
sid: null | string;
name: string;
invokeId: number;
result?: any;
states?: any;
options?: any;
error?: string | AgoraRTCError_2;
success: boolean;
apiInvokeTime: number;
lts?: number;
}
export declare type APIUploadData = [
...BaseUploadData,
[
string,
string | undefined,
string | undefined
]
];
export declare type BaseUploadData = [
number,
string,
LOG_TYPE,
string,
string | number | undefined
];
declare class EnhancedAgoraLogger {
private logger;
private prefixLists;
constructor(logger: AgoraLogger);
debug(...args: any): void;
info(...args: any): void;
warning(...args: any): void;
error(...args: any): void;
prefix(prefix: string): EnhancedAgoraLogger;
popPrefix(): EnhancedAgoraLogger;
}
export declare const EVENT_BASE_TEMPLATE: EventReportBase;
export declare interface EventABTestParams {
intSucc: number;
isApplied: number;
tag: string;
feature: string;
params: string;
cid?: number;
uid?: number;
}
/**
* Parameters for reporting customized messages. Used when calling [AgoraRTCClient.sendCustomReportMessage]{@link IAgoraRTCClient.sendCustomReportMessage}.
*/
export declare interface EventCustomReportParams {
/**
* The ID of the message.
*/
reportId: string;
/**
* The category of the message.
*/
category: string;
/**
* The event name of the message.
*/
event: string;
/**
* The label of the message.
*/
label: string;
/**
* The value of the message.
*/
value: number;
}
export declare interface EventFirstRemoteFrameMessage extends EventReportBase {
eventType: AgoraRTCEventFirstRemoteFrame;
peer: number;
elapse: number;
subscribeElapse: number;
subscribeRequestid: number;
p2pid: number;
videowidth?: number;
videoheight?: number;
}
export declare interface EventFirstRemoteFrameParams {
peer: number;
subscribeElapse: number;
subscribeRequestid: number;
p2pid: number;
videowidth?: number;
videoheight?: number;
}
export declare interface EventFirstRemoteVideoDecodeMessage extends EventReportBase {
eventType: AgoraRTCEventFirstRemoteFrame;
peer: number;
elapse: number;
subscribeElapse: number;
subscribeRequestid: number;
p2pid: number;
videowidth?: number;
videoheight?: number;
apStart: number;
apEnd: number;
joinGwStart: number;
joinGwEnd: number;
pcStart: number;
pcEnd: number;
videoAddNotify: number;
subscriberStart: number;
subscriberEnd: number;
firstDecodeFrame: number;
state: number;
}
export declare interface EventFirstRemoteVideoFrameParams {
peer: number;
subscribeElapse: number;
subscribeRequestid: number;
p2pid: number;
videowidth?: number;
videoheight?: number;
apStart: number;
apEnd: number;
joinGwStart: number;
joinGwEnd: number;
pcStart: number;
pcEnd: number;
videoAddNotify: number;
subscriberStart: number;
subscriberEnd: number;
state: number;
firstFrame?: number;
}
export declare interface EventJoinChannelTimeoutMessage extends EventReportBase {
timeout: number;
elapse: number;
}
export declare enum EventNameToID {
SESSION = 26,
JOIN_CHOOSE_SERVER = 27,
REQ_USER_ACCOUNT = 196,
JOIN_GATEWAY = 28,
PUBLISH = 30,
SUBSCRIBE = 29,
WS_COMPRESSOR_INIT = 9430,
STREAM_SWITCH = 32,
AUDIO_SENDING_STOPPED = 33,
VIDEO_SENDING_STOPPED = 34,
REQUEST_PROXY_APPCENTER = 35,
REQUEST_PROXY_WORKER_MANAGER = 36,
API_INVOKE = 41,
FIRST_VIDEO_RECEIVED = 348,
FIRST_AUDIO_RECEIVED = 349,
FIRST_VIDEO_DECODE = 350,
FIRST_AUDIO_DECODE = 351,
ON_ADD_AUDIO_STREAM = 352,
ON_ADD_VIDEO_STREAM = 353,
ON_UPDATE_STREAM = 356,
ON_REMOVE_STREAM = 355,
JOIN_CHANNEL_TIMEOUT = 407,
PEER_PUBLISH_STATUS = 408,
WORKER_EVENT = 156,
AP_WORKER_EVENT = 160,
JOIN_WEB_PROXY_AP = 700,
WEBSOCKET_QUIT = 671,
USER_ANALYTICS = 10000,
AUTOPLAY_FAILED = 9178
}
export declare interface EventOnGatewayStreamMessage extends EventReportBase {
eventType: AgoraRTCEventOnGatewayStream;
peer: number;
audio?: boolean;
video?: boolean;
}
export declare interface EventOnGatewayStreamParams {
peer: number;
ssrc?: number;
audio?: boolean;
video?: boolean;
}
export declare interface EventPCStatsParams {
startTime: number;
eventElapse: number;
iceconnectionsate: RTCIceConnectionState;
dtlsstate: RTCDtlsTransportState | null;
connectionstate: RTCPeerConnectionState;
intSucc: number;
error: null | string;
selectedLocalCandidateProtocol: string;
selectedLocalCandidateType: string;
selectedLocalCandidateAddress: string;
selectedRemoteCandidateProtocol: string;
selectedRemoteCandidateType: string;
selectedRemoteCandidateAddress: string;
restartCnt: number;
preallocation?: boolean;
}
export declare interface EventPeerPublishStatusMessage extends EventReportBase {
joinChannelSuccessElapse: number;
subscribeElapse: number;
peerPublishDuration: number;
peer: number;
audiotag: number;
videotag: number;
peerPublishDurationVideo: number;
peerPublishDurationAudio: number;
}
export declare interface EventPeerPublishStatusParams {
subscribeElapse: number;
peer: number;
audioPublishDuration: number;
videoPublishDuration: number;
}
export declare interface EventReportApiInvokeMessage extends EventReportBase {
invokeId: number;
execElapse: number;
options?: string;
execStates?: string;
errorCode?: string;
errorMsg?: string;
execResult?: string;
apiName: string;
}
export declare interface EventReportBase {
sid: string;
lts: number;
success: boolean | null;
cname: string | null;
uid: number | null;
peer?: number | null;
cid: number | null;
elapse: number | null;
extend?: string | null;
vid?: number | string;
eventType?: string;
apiName?: string;
}
export declare interface EventReportChooseServerParams {
role?: "host" | "audience";
lts: number;
csAddr: string;
ec: null | string;
succ: boolean;
serverList: null | string[];
uid?: string;
cid?: string;
csIp?: string;
unilbsServerIds?: string;
extend?: string;
opid: number;
isHttp3?: 1 | -1;
elapse?: number;
corssRegionTagReq?: string;
corssRegionTagRes?: string;
}
export declare interface EventReportInitParams {
lts: number;
buildFormat: number;
cname: string;
appid: string;
mode: SDK_MODE;
extend?: {
rejoin?: boolean;
recover?: boolean;
willUploadConsoleLog?: boolean;
};
stringUid?: string;
channelProfile?: number;
channelMode?: number;
isABTestSuccess?: number;
lsid?: string;
fsid?: string;
clientType?: 20;
clientRole?: number;
info?: string;
}
export declare interface EventReportJoinChooseServerMessage extends EventReportBase {
role?: "host" | "audience";
eventType: AgoraRTCEvent.JOIN_CHOOSE_SERVER;
eventElapse: number;
chooseServerAddr: string;
errorCode: string | null;
chooseServerAddrList: string;
chooseServerIp: string;
unilbsServerIds?: string;
extend?: string;
opid: number;
isHttp3?: 1 | -1;
corssRegionTagReq?: string;
corssRegionTagRes?: string;
}
export declare interface EventReportJoinGatewayMessage extends EventReportBase {
eventType: AgoraRTCEvent.JOIN_GATEWAY;
gatewayAddr: null | string;
errorCode: null | string;
errorMsg: null | string;
eventElapse: number;
firstSuccess: boolean;
signalChannel: string;
preload: number;
installId: string;
isABTestSuccess: number;
}
export declare interface EventReportJoinGatewayParams {
vid?: string;
lts: number;
succ: boolean;
ec: null | string;
addr: null | string;
uid: number;
cid: number;
firstSuccess: boolean;
isProxy: boolean;
signalChannel: string;
errorMsg?: string;
preload?: boolean;
isABTestSuccess?: boolean;
}
export declare interface EventReportMediaSendingStoppedParams {
reason: string;
succ: boolean;
}
export declare interface EventReportPublishMessage extends EventReportBase {
eventType: AgoraRTCEvent.PUBLISH;
eventElapse: number;
errorCode: null | string;
videoName?: string;
audioName?: string;
screenName?: string;
audio: boolean;
video: boolean;
screenshare: boolean;
publishRequestid: number;
p2pid: number;
}
export declare interface EventReportPublishParams {
eventElapse: number;
succ: boolean;
audio: boolean;
video: boolean;
screenshare: boolean;
p2pid: number;
publishRequestid: number;
audioName?: string;
videoName?: string;
screenName?: string;
ec: null | string;
extend?: string;
}
export declare interface EventReportReJoinGatewayMessage extends NotContainSuccessPropertyEventReportBase {
eventType: AgoraRTCEvent.REJOIN_GATEWAY;
gatewayAddr: null | string;
errorCode: null | string;
eventElapse: number;
isSuccess: 0 | 1;
gatewayIp: string;
port: string;
isProxy: 0 | 1;
}
export declare interface EventReportReportAPIInvokeParams<T> {
tag?: string;
id?: string | number;
name: string;
options: any;
states?: any;
timeout?: number;
reportResult?: boolean;
}
export declare interface EventReportRequestProxyAppCenterMessage extends EventReportBase {
eventType: AgoraRTCEvent.REQUEST_PROXY_APPCENTER;
eventElapse: number;
APAddr: string;
workerManagerList: null | string;
response: string;
errorCode: null | string;
}
export declare interface EventReportRequestProxyAppCenterParams {
lts: number;
succ: boolean;
APAddr: string;
workerManagerList: null | string;
ec: null | string;
response: string;
}
export declare interface EventReportRequestProxyWorkerManagerMessage extends EventReportBase {
eventType: AgoraRTCEvent.REQUEST_PROXY_WORKER_MANAGER;
eventElapse: number;
workerManagerAddr: string;
response: string;
errorCode: null | string;
}
export declare interface EventReportRequestProxyWorkerManagerParams {
lts: number;
succ: boolean;
workerManagerAddr: string;
ec: null | string;
response: string;
}
export declare interface EventReportReqUserAccountMessage extends EventReportBase {
eventType: AgoraRTCEvent.REQ_USER_ACCOUNT;
serverAddress: string;
stringUid: string;
errorCode: null | string;
eventElapse: number;
}
export declare interface EventReportReqUserAccountParams {
lts: number;
elapse?: number;
success: boolean;
serverAddr: string;
stringUid: string;
uid: null | number;
errorCode: null | string;
extend: any;
}
export declare interface EventReportSessionInitMessage extends EventReportBase {
eventType: AgoraRTCEvent.SESSION_INIT;
appid: string;
browser: string;
buildFormat: number;
build: string;
mode: SDK_MODE;
process: string;
version: string;
appType: number;
stringUid?: string;
channelProfile?: number;
channelMode?: number;
isABTestSuccess?: number;
lsid?: string;
fsid?: string;
clientType?: number;
clientRole?: number;
serviceId?: string;
extensionID?: string;
info?: string;
}
export declare interface EventReportStreamSwitchMessage extends EventReportBase {
eventType: AgoraRTCEvent.STREAM_SWITCH;
isDual: boolean;
}
export declare interface EventReportStreamSwitchParams {
lts: number;
isdual: boolean;
succ: boolean;
}
export declare interface EventReportSubscribeMessage extends EventReportBase {
eventType: AgoraRTCEvent.SUBSCRIBE;
eventElapse: number;
errorCode: null | string;
peerSuid?: string;
video: boolean;
audio: boolean;
subscribeRequestid: number;
p2pid: number;
preSsrc?: number;
}
export declare interface EventReportSubscribeParams {
succ: boolean;
video: boolean;
audio: boolean;
peerid: UID;
ec: null | string;
subscribeRequestid: number;
p2pid: number;
eventElapse: number;
preSsrc?: boolean;
}
export declare interface EventReportWsCompressorInitMessage extends EventReportBase {
eventType: AgoraRTCEvent.WS_COMPRESSOR_INIT;
eventElapse: number;
status: 1 | 2;
}
export declare interface EventReportWsCompressorInitParams {
status: boolean;
ec: null | string;
eventElapse: number;
}
export declare type EventUpdateRemoteRTPCapabilitiesMessage = EventUpdateRemoteRTPCapabilitiesParams & EventReportBase;
export declare interface EventUpdateRemoteRTPCapabilitiesParams {
trackTypes: string;
localCodecs: string;
remoteCodecs: string;
}
export declare type EventUploadData = [...BaseUploadData, [string, string | undefined]];
export declare interface ExtensionApiInvokeMessage {
name: string;
result?: any;
states?: any;
options?: any;
error?: string;
success: boolean;
apiInvokeTime: number;
lts?: number;
}
export declare interface IAPWorkerEvent {
sid?: string | null;
cname?: string | null;
cid?: number | Long_2 | null;
lts?: number | Long_2 | null;
ip?: string | null;
uid?: number | Long_2 | null;
success?: boolean | null;
elapse?: number | Long_2 | null;
peer?: number | Long_2 | null;
ec?: number | null;
sc?: number | null;
serverIp?: string | null;
firstSuccess?: boolean | null;
responseTime?: number | null;
serviceName?: string | null;
responseDetail?: string | null;
}
export declare interface IJoinWebProxyAP {
lts?: number | Long_2 | null;
sid?: string | null;
cname?: string | null;
cid?: number | Long_2 | null;
ip?: string | null;
uid?: number | Long_2 | null;
sucess?: number | null;
elapse?: number | Long_2 | null;
eventType?: string | null;
apServerAddr?: string | null;
turnServerAddrList?: string | null;
errorCode?: string | null;
unilbsServerIds?: string;
extend?: string;
}
export declare interface InternalAPILog extends LogData {
type: LOG_TYPE.INTERNAL_API;
api: string;
args?: string;
result?: string;
}
export declare interface InternalEventLog extends LogData {
type: LOG_TYPE.INTERNAL_EVENT;
event: string;
msg?: string;
}
export declare function isEventCustomReportParams(params: EventCustomReportParams): params is EventCustomReportParams;
export declare interface IWebSocketQuit {
lts?: number | Long_2 | null;
sid?: string | null;
cname?: string | null;
cid?: number | Long_2 | null;
uid?: number | Long_2 | null;
elapse?: number | Long_2 | null;
succ?: number | null;
errorCode?: string | null;
ip?: string | null;
}
export declare interface IWorkerEvent {
sid?: string | null;
cname?: string | null;
cid?: number | Long_2 | null;
lts?: number | Long_2 | null;
ip?: string | null;
uid?: number | Long_2 | null;
success?: boolean | null;
elapse?: number | Long_2 | null;
peer?: number | Long_2 | null;
command?: string | null;
actionType?: string | null;
url?: string | null;
payload?: string | null;
serverCode?: number | null;
code?: number | null;
traceId?: string | null;
workerType?: number | null;
responseTime?: number | null;
requestId?: number | Long_2 | null;
packIndex?: number | null;
requestByUser?: boolean | null;
tid?: string | null;
productType?: string | null;
}
export declare type Level = "info" | "debug" | "warning" | "error";
export declare const enum LOG_TYPE {
MISC = 0,
INTERNAL_EVENT = 1,
PUBLIC_EVENT = 2,
WEB_EVENT = 3,
INTERNAL_API = 4,
WEB_API = 5,
PUBLIC_API = 6
}
export declare enum LOG_UPLOAD_STATE {
FREE = "free",
UPLOADING = "uploading"
}
export declare interface LogData {
timestamp: number;
level: Level;
type: LOG_TYPE;
module: string;
instanceId?: string | number;
}
export declare interface LogErrorDetail {
status: number;
message: string;
data?: any;
headers?: any;
networkState?: NETWORK_STATE;
errorRange: number[];
}
export declare const logger: AgoraLogger;
export declare type LogInstance = any | [string?, (string | number)?];
declare class LogReportBus extends EventEmitter {
private currentUploadLogID;
reportLogUploadError(errorDetail: LogErrorDetail): void;
}
export declare const logReportBus: LogReportBus;
declare type Long_2 = any;
export declare interface MiscLog extends LogData {
type: LOG_TYPE.MISC;
msg: string;
}
export declare type MiscUploadData = [...BaseUploadData, [string]];
declare type newReportMessages = IWebSocketQuit | IJoinWebProxyAP | IWorkerEvent | IAPWorkerEvent;
declare interface NotContainSuccessPropertyEventReportBase {
sid: string;
lts: number;
cname: string | null;
uid: number | null;
peer?: number | null;
cid: number | null;
elapse: number | null;
extend?: string | null;
vid?: number;
apiName?: string;
}
export declare interface PublicAPILog extends LogData {
type: LOG_TYPE.PUBLIC_API;
api: string;
args?: string;
result?: string;
}
export declare interface PublicEventLog extends LogData {
type: LOG_TYPE.PUBLIC_EVENT;
event: string;
msg?: string;
}
export declare const report: AgoraRTCEventReport;
export declare interface UploadLog {
payload_str: string;
log_level: number;
log_item_id: number;
}
export declare interface WebAPILog extends LogData {
type: LOG_TYPE.WEB_API;
api: string;
args?: string;
result?: string;
}
export declare interface WebEventLog extends LogData {
type: LOG_TYPE.WEB_EVENT;
event: string;
msg?: string;
}
export { }