@phenixrts/sdk
Version:
JavaScript SDK
34 lines (33 loc) • 924 B
TypeScript
import MetricsType from './MetricsType';
import MetricsConfiguration from './MetricsConfiguration';
interface IValue {
string?: string;
uint64?: number;
float?: number;
}
interface IMetric {
streamId?: string;
metricType: MetricsType;
value?: IValue;
previousValue?: IValue;
runtime: number;
resource?: string;
kind?: string;
}
export default class MetricsService {
private readonly _logger;
private readonly _metricsConfiguration;
private readonly _exponentialBackoff;
private _metrics;
private _isSending;
private _failureCount;
private _domain;
constructor(metricsConfiguration: MetricsConfiguration);
get metricsConfiguration(): MetricsConfiguration;
push(metric: IMetric): void;
private getLocationHostnameFromGlobalScope;
private sendMetrics;
private sendMetricsIfAble;
private isResponseStatusCodeRetryable;
}
export {};