Telemetry Kusto Client

Important

Telemetry Kusto Client is currently in PREVIEW.

The telemetry Kusto client is a client for ingesting logs into Kusto database.

Note

TelemetryKustoClient is available in SDK version >= 1.3.0.

For the client to function as expected, the log tables in the Kusto database must have the following schema:
timestamp: datetime, className: string, method: string, message: string, code: string, corpusPath: string, correlationId: string, apiCorrelationId: string, appId: string, property: string.

public class TelemetryKustoClient : TelemetryClient

Constructors

Name Description
TelemetryKustoClient(CdmCorpusContext, TelemetryConfig)
ctx: The corpus context.
config: The configuration for the client.
Initializes a new instance of the TelemetryKustoClient class with configuration specified.

Properties

Name Type Description
MaxNumRetries int Maximum number of retries allowed for an HTTP request.
MaxTimeoutMilliseconds int Maximum timeout for completing an HTTP request including retries.
TimeoutMilliseconds int Maximum timeout for a single HTTP request.

Methods

Name Description Return Type
AddToIngestionQueue(string, CdmStatusLevel, string, string, string, string, bool, CdmLogCode)
timestamp: The timestamp of the log.
level: Logging status level.
className: Name of the class from which the log was issued.
method: Name of the method from which the log was issued.
corpusPath: Corpus path of the CDM object related to the log being issued. May be null if the path is not available.
message: The message to the log.
requireIngestion: Whether the log is required to be ingested. Optional, default to be false.
code: Optional warning or error code to be logged.
Enqueue the request queue with the information to be logged into Kusto. void
CheckRequestQueueIsEmpty() Check if all the logs have been dequeued from the request queue and got ingested. bool
Enable() Enable the Kusto client to start ingestion on a background thread. void
PostKustoQuery(string)
query: The Kusto query command to be posted to the cluster.
Get an authorization token and send the ingestion command to Kusto. Task