AutocollectedMetricsExtractor Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.
public sealed class AutocollectedMetricsExtractor : IDisposable, Microsoft.ApplicationInsights.Extensibility.ITelemetryModule, Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor
type AutocollectedMetricsExtractor = class
interface ITelemetryProcessor
interface ITelemetryModule
interface IDisposable
Public NotInheritable Class AutocollectedMetricsExtractor
Implements IDisposable, ITelemetryModule, ITelemetryProcessor
- Inheritance
-
AutocollectedMetricsExtractor
- Implements
Constructors
AutocollectedMetricsExtractor(ITelemetryProcessor) |
Initializes a new instance of the AutocollectedMetricsExtractor class. |
Properties
MaxDependencyCloudRoleInstanceValuesToDiscover |
Gets or sets the maximum distinct values for CloudRoleInstance for Dependency telemetry. Values encountered after this limit is hit will be collapsed into a single value DIMENSION_CAPPED. Setting 0 will all values to be replaced with a single value "Other". |
MaxDependencyCloudRoleNameValuesToDiscover |
Gets or sets the maximum distinct values for CloudRoleName for Dependency telemetry. Values encountered after this limit is hit will be collapsed into a single value DIMENSION_CAPPED. Setting 0 will all values to be replaced with a single value "Other". |
MaxDependencyResultCodesToDiscover |
Gets or sets the maximum distinct values for Dependency Result Code. Types encountered after this limit is hit will be collapsed into a single value DIMENSION_CAPPED. Setting 0 will all values to be replaced with a single value "Other". |
MaxDependencyTargetValuesToDiscover |
Gets or sets the maximum distinct values for Dependency Target. Targets encountered after this limit is hit will be collapsed into a single value DIMENSION_CAPPED. Setting 0 will all values to be replaced with a single value "Other". |
MaxDependencyTypesToDiscover |
Gets or sets the maximum distinct values for DependencyType. Types encountered after this limit is hit will be collapsed into a single value DIMENSION_CAPPED. Setting 0 will all values to be replaced with a single value "Other". |
MaxExceptionCloudRoleInstanceValuesToDiscover |
Gets or sets the maximum distinct values for CloudRoleInstance for Exception telemetry. Values encountered after this limit is hit will be collapsed into a single value DIMENSION_CAPPED. Setting 0 will all values to be replaced with a single value "Other". |
MaxExceptionCloudRoleNameValuesToDiscover |
Gets or sets the maximum distinct values for CloudRoleName for Exception telemetry. Values encountered after this limit is hit will be collapsed into a single value DIMENSION_CAPPED. Setting 0 will all values to be replaced with a single value "Other". |
MaxRequestCloudRoleInstanceValuesToDiscover |
Gets or sets the maximum distinct values for CloudRoleInstance for Request telemetry. Values encountered after this limit is hit will be collapsed into a single value DIMENSION_CAPPED. Setting 0 will all values to be replaced with a single value "Other". |
MaxRequestCloudRoleNameValuesToDiscover |
Gets or sets the maximum distinct values for CloudRoleName for Request telemetry. Values encountered after this limit is hit will be collapsed into a single value DIMENSION_CAPPED. Setting 0 will all values to be replaced with a single value "Other". |
MaxRequestResponseCodeValuesToDiscover |
Gets or sets the maximum distinct values for Request response code. Targets encountered after this limit is hit will be collapsed into a single value DIMENSION_CAPPED. Setting 0 will all values to be replaced with a single value "Other". |
MaxTraceCloudRoleInstanceValuesToDiscover |
Gets or sets the maximum distinct values for CloudRoleInstance for Trace telemetry. Values encountered after this limit is hit will be collapsed into a single value DIMENSION_CAPPED. Setting 0 will all values to be replaced with a single value "Other". |
MaxTraceCloudRoleNameValuesToDiscover |
Gets or sets the maximum distinct values for CloudRoleName for Trace telemetry. Values encountered after this limit is hit will be collapsed into a single value DIMENSION_CAPPED. Setting 0 will all values to be replaced with a single value "Other". |
Methods
Dispose() |
Disposes this telemetry extractor. |
Initialize(TelemetryConfiguration) |
This class implements the ITelemetryModule interface by defining this method. It will be called by the infrastructure when the telemetry pipeline is being built. This will ensure that the extractor is initialized using the same TelemetryConfiguration as the rest of the pipeline. Specifically, this will also ensure that the TelemetryClient used internally for sending extracted metrics uses the same configuration. |
Process(ITelemetry) |
This class implements the ITelemetryProcessor interface by defining this method. This method will be called by the pipeline for each telemetry item that goes through it. It invokes Microsoft.ApplicationInsights.Extensibility.AutocollectedMetricsExtractor.ExtractMetrics(Microsoft.ApplicationInsights.Channel.ITelemetry) to actually do the extraction. |