npaw-plugin-nwf
Version:
NPAW's Plugin
163 lines (162 loc) • 4.25 kB
TypeScript
import DiagnosticBalancerCdn from './balancer/DiagnosticBalancerCdn';
import NpawPlugin from '../../NpawPlugin';
export default class DiagnosticTool {
static defaultReportTimeout: number;
private static _instance;
private integrationMessageColors;
private npawPluginInstance?;
private balancerEnabled;
private videoAnalyticsEnabled;
private adsAnalyticsEnabled;
private reportTimeoutDuration;
private reportTimeout?;
private reportTimeoutStarted;
private runningOffline;
private balancerInterceptedRequests;
private successfulResponseFromSelector;
private apiErrorMessage?;
private usedSelectorAPI;
private activeSwitchingEnabled;
private asDecisionPerformed;
private switchedCdns;
private cdnList;
private triedSendingBalancerStats;
private mandatoryBalancerRequests;
private capturedEvents;
private successfulNQSRequests;
private hasPlayerRegistered;
private triedSendingNQSStats;
private mandatoryNQSRequests;
private shouldIgnoreAds;
private capturedAdsEvents;
private successfulNQSAdsRequests;
private hasAdsPlayerRegistered;
private triedSendingNQSAdStats;
private mandatoryNQSAdsRequests;
private constructor();
static getInstance(forceNew?: boolean): DiagnosticTool;
/**
* @internal
*/
destroy(): void;
/**
* @internal
*/
start(npawPluginInstance?: NpawPlugin): void;
setSettings(newConfig: any): void;
/**
* @internal
*/
clearReportTimeout(): void;
/**
* @internal
* @param options
*/
setOptions(options: any): void;
setBalancerEnabled(enabled?: boolean): void;
setVideoAnalyticsEnabled(enabled?: boolean): void;
setAdsAnalyticsEnabled(enabled?: boolean): void;
getReportTimeout(): number;
setReportTimeout(timeout?: number): void;
/**
* @internal
*/
cleanCdnList(): void;
/**
* @internal
* @param name
* @param cdn
*/
addCdn(name: string, cdn: DiagnosticBalancerCdn): void;
/**
* @internal
* @param name
* @param numberOfRequests
* @param trafficServedInBytes
* @param failedRequests
*/
updateCdnInfo(name: string, numberOfRequests: number, trafficServedInBytes: number, failedRequests: number): void;
/**
* @internal
* @param wasSuccessful
* @param errorMessage
*/
wasSelectorCommunicationSuccessful(wasSuccessful: boolean, errorMessage?: string): void;
/**
* @internal
* @param intercepted
*/
setInterceptedRequests(intercepted: boolean): void;
/**
* @internal
* @param enabled
*/
setActiveSwitchingEnabled(enabled: boolean): void;
/**
* @internal
* @param performed
*/
wasActiveSwitchingDecisionPerformed(performed: boolean): void;
/**
* @internal
* @param switched
*/
setSwitchedCdns(switched: boolean): void;
/**
* @internal
* @param used
*/
usedSelectorAPIResponse(used: boolean): void;
/**
* @internal
* @param tried
*/
setTriedSendingBalancerStats(tried: boolean): void;
/**
* @internal
* @param requestPath
*/
addNQSRequest(requestPath: string): void;
/**
* @internal
* @param eventType
* @param params
*/
addNQSEvent(eventType: string, params: any): void;
/**
* @internal
* @param registered
*/
registeredPlayer(registered: boolean): void;
/**
* @internal
* @param tried
*/
setTriedSendingNQSStats(tried: boolean): void;
/**
* @internal
* @param requestPath
*/
addNQSAdRequest(requestPath: string): void;
/**
* @internal
* @param eventType
* @param params
*/
addNQSAdEvent(eventType: string, params: any): void;
/**
* @internal
* @param registered
*/
registeredAdsPlayer(registered: boolean): void;
/**
* @internal
* @param tried
*/
setTriedSendingNQSAdStats(tried: boolean): void;
report(): void;
private logBalancerDiagnostic;
private logVideoAnalyticsDiagnostic;
private logAdsAnalyticsDiagnostic;
private getApiErrorMessage;
}