botbuilder-core
Version:
Core components for Microsoft Bot Builder. Components in this library can run either in a browser or on the server.
136 lines • 4.51 kB
TypeScript
/**
* @module botbuilder
*/
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
/**
* Defines the level of severity for the event.
*/
export declare enum Severity {
Verbose = 0,
Information = 1,
Warning = 2,
Error = 3,
Critical = 4
}
/**
* Key used to store and fetch a [BotTelemetryClient](xref:botbuilder-core.BotTelemetryClient) from [TurnContext.turnState](xref:botbuilder-core.TurnContextStateCollection)
*/
export declare const BotTelemetryClientKey = "BotTelemetryClient";
export interface BotTelemetryClient {
trackDependency(telemetry: TelemetryDependency): any;
trackEvent(telemetry: TelemetryEvent): any;
trackException(telemetry: TelemetryException): any;
trackTrace(telemetry: TelemetryTrace): any;
flush(): any;
}
export interface BotPageViewTelemetryClient {
trackPageView(telemetry: TelemetryPageView): any;
}
export interface TelemetryDependency {
dependencyTypeName: string;
target: string;
name: string;
data: string;
duration: number;
success: boolean;
resultCode: number;
}
export interface TelemetryEvent {
name: string;
properties?: {
[key: string]: any;
};
metrics?: {
[key: string]: number;
};
}
export interface TelemetryException {
exception: Error;
handledAt?: string;
properties?: {
[key: string]: string;
};
measurements?: {
[key: string]: number;
};
severityLevel?: Severity;
}
export interface TelemetryTrace {
message: string;
properties?: {
[key: string]: string;
};
severityLevel?: Severity;
}
export interface TelemetryPageView {
name: string;
properties?: {
[key: string]: string;
};
metrics?: {
[key: string]: number;
};
}
/**
* A null bot telemetry client that implements [BotTelemetryClient](xref:botbuilder-core.BotTelemetryClient).
*/
export declare class NullTelemetryClient implements BotTelemetryClient, BotPageViewTelemetryClient {
/**
* Creates a new instance of the [NullTelemetryClient](xref:botbuilder-core.NullTelemetryClient) class.
*
* @param _settings Optional. Settings for the telemetry client.
*/
constructor(_settings?: any);
/**
* Logs an Application Insights page view.
*
* @param _telemetry An object implementing [TelemetryPageView](xref:botbuilder-core.TelemetryPageView).
*/
trackPageView(_telemetry: TelemetryPageView): void;
/**
* Sends information about an external dependency (outgoing call) in the application.
*
* @param _telemetry An object implementing [TelemetryDependency](xref:botbuilder-core.TelemetryDependency).
*/
trackDependency(_telemetry: TelemetryDependency): void;
/**
* Logs custom events with extensible named fields.
*
* @param _telemetry An object implementing [TelemetryEvent](xref:botbuilder-core.TelemetryEvent).
*/
trackEvent(_telemetry: TelemetryEvent): void;
/**
* Logs a system exception.
*
* @param _telemetry An object implementing [TelemetryException](xref:botbuilder-core.TelemetryException).
*/
trackException(_telemetry: TelemetryException): void;
/**
* Sends a trace message.
*
* @param _telemetry An object implementing [TelemetryTrace](xref:botbuilder-core.TelemetryTrace).
*/
trackTrace(_telemetry: TelemetryTrace): void;
/**
* Flushes the in-memory buffer and any metrics being pre-aggregated.
*/
flush(): void;
}
/**
* Logs a DialogView using the [trackPageView](xref:botbuilder-core.BotTelemetryClient.trackPageView) method on the [BotTelemetryClient](xref:botbuilder-core.BotTelemetryClient) if [BotPageViewTelemetryClient](xref:botbuilder-core.BotPageViewTelemetryClient) has been implemented.
* Alternatively logs the information out via TrackTrace.
*
* @param telemetryClient TelemetryClient that implements [BotTelemetryClient](xref:botbuilder-core.BotTelemetryClient).
* @param dialogName Name of the dialog to log the entry / start for.
* @param properties Named string values you can use to search and classify events.
* @param metrics Measurements associated with this event.
*/
export declare function telemetryTrackDialogView(telemetryClient: BotTelemetryClient, dialogName: string, properties?: {
[key: string]: any;
}, metrics?: {
[key: string]: number;
}): void;
//# sourceMappingURL=botTelemetryClient.d.ts.map