Microsoft.ApplicationInsights.Extensibility Namespace



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.


Telemetry initializer that populates OperationContext for the telemetry item from Activity. This initializer is responsible for correlation of telemetry items within the same process.


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


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


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


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



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


Interface for defining strongly typed extensions to telemetry types.


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


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


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


Represents an object that initializes ITelemetry objects.


Represents an object that supports initialization from TelemetryConfiguration.


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