UNPKG

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
/** * @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