Microsoft.ApplicationInsights.Extensibility Namespace

Classes

AutocollectedMetricsExtractor

Extracts auto-collected, pre-aggregated (aka. "standard") metrics from telemetry. Metric Extractors participate in the telemetry pipeline as telemetry processors. They examine telemetry items going through the pipeline and create pre-aggregated metrics based on the encountered items. The metrics can be anything. For example, one may choose to extract a metric for "Request Duration" from RequestTelemetry items. Or one may choose to create a metric "Cows Sold" from specific user-tracked EventTelemetry items that contain respective information.
Metric Extractors should be placed into the pipeline after telemetry initializers and before any telemetry processors that may perform any kind of filtering, e.g. before any sampling processors. Placing metric extractors after any filters will prevent them from seeing all potentially relevant telemetry which will skew the extracted metrics.
This extractor is responsible for aggregating auto-collected, pre-aggregated (aka. "standard") metrics, such as failed request count, dependency call durations and similar. Users may use the same pattern to create their own extractors for any metrics they want from any kind of telemetry. This extractor contains several implementations of the (internal) ISpecificAutocollectedMetricsExtractor-interface to which it delegates the aggregation of particular metrics. All those implementations share the same (dedicated) MetricManager-instance for metric aggregation.

OperationCorrelationTelemetryInitializer

Telemetry initializer that populates OperationContext for the telemetry item based on context stored in an AsyncLocal variable.

SdkInternalOperationsMonitor

Helps to define whether thread is performing SDK internal operation at the moment.

SequencePropertyInitializer

An ITelemetryInitializer that populates Sequence property for the Microsoft internal telemetry sent to the Vortex endpoint.

TelemetryConfiguration

Encapsulates the global telemetry configuration typically loaded from the ApplicationInsights.config file.

TelemetrySink

Represents a destination for telemetry, consisting of a set of telemetry processors and a channel.

Interfaces

IApplicationIdProvider

An interface for providing an Application Id for a given Instrumentation Key.

IExtension

Interface for defining strongly typed extensions to telemetry types.

IOperationHolder<T>

Represents the operation item that holds telemetry which is tracked on end request. Operation can be associated with either WEB or SQL dependencies.

ISerializableWithWriter

Interface for defining objects which can be serialized with a given ISerializationWriter

ISerializationWriter

The interface for defining writers capable of serializing data into various formats.

ITelemetryInitializer

Represents an object that initializes ITelemetry objects.

ITelemetryModule

Represents an object that supports initialization from TelemetryConfiguration.

ITelemetryProcessor

Represents an object used to process telemetry as part of sending it to Application Insights.