34 lines
1.5 KiB
TypeScript
34 lines
1.5 KiB
TypeScript
|
import Contracts = require("../Declarations/Contracts");
|
||
|
import TelemetryClient = require("../Library/TelemetryClient");
|
||
|
import HttpRequestParser = require("./HttpRequestParser");
|
||
|
declare class AutoCollectHttpRequests {
|
||
|
static INSTANCE: AutoCollectHttpRequests;
|
||
|
private static alreadyAutoCollectedFlag;
|
||
|
private _client;
|
||
|
private _isEnabled;
|
||
|
private _isInitialized;
|
||
|
private _isAutoCorrelating;
|
||
|
constructor(client: TelemetryClient);
|
||
|
enable(isEnabled: boolean): void;
|
||
|
useAutoCorrelation(isEnabled: boolean, forceClsHooked?: boolean): void;
|
||
|
isInitialized(): boolean;
|
||
|
isAutoCorrelating(): boolean;
|
||
|
private _generateCorrelationContext(requestParser);
|
||
|
private _initialize();
|
||
|
/**
|
||
|
* Tracks a request synchronously (doesn't wait for response 'finish' event)
|
||
|
*/
|
||
|
static trackRequestSync(client: TelemetryClient, telemetry: Contracts.NodeHttpRequestTelemetry): void;
|
||
|
/**
|
||
|
* Tracks a request by listening to the response 'finish' event
|
||
|
*/
|
||
|
static trackRequest(client: TelemetryClient, telemetry: Contracts.NodeHttpRequestTelemetry, _requestParser?: HttpRequestParser): void;
|
||
|
/**
|
||
|
* Add the target correlationId to the response headers, if not already provided.
|
||
|
*/
|
||
|
private static addResponseCorrelationIdHeader(client, response);
|
||
|
private static endRequest(client, requestParser, telemetry, ellapsedMilliseconds?, error?);
|
||
|
dispose(): void;
|
||
|
}
|
||
|
export = AutoCollectHttpRequests;
|