xml/Microsoft.ApplicationInsights/MetricAggregationScope.xml (90 lines of code) (raw):

<Type Name="MetricAggregationScope" FullName="Microsoft.ApplicationInsights.MetricAggregationScope"> <TypeSignature Language="C#" Value="public enum MetricAggregationScope" /> <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed MetricAggregationScope extends System.Enum" /> <TypeSignature Language="DocId" Value="T:Microsoft.ApplicationInsights.MetricAggregationScope" /> <TypeSignature Language="VB.NET" Value="Public Enum MetricAggregationScope" /> <TypeSignature Language="F#" Value="type MetricAggregationScope = " /> <AssemblyInfo> <AssemblyName>Microsoft.ApplicationInsights</AssemblyName> <AssemblyVersion>2.17.0.146</AssemblyVersion> <AssemblyVersion>2.18.0.315</AssemblyVersion> <AssemblyVersion>2.19.0.227</AssemblyVersion> <AssemblyVersion>2.20.0.103</AssemblyVersion> <AssemblyVersion>2.21.0.429</AssemblyVersion> <AssemblyVersion>2.22.0.405</AssemblyVersion> </AssemblyInfo> <Base> <BaseTypeName>System.Enum</BaseTypeName> </Base> <Docs> <summary> Used when getting or creating a <see cref="T:Microsoft.ApplicationInsights.Metric" /> to optionally specify the scope across which the values for the metric are to be aggregated in memory.<br /> Intended for advanced scenarios. The default "<see cref="F:Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration" />" is used whenever <c>MetricAggregationScope</c> is not specified explicitly. </summary> <remarks>To be added.</remarks> <altmember cref="F:Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration" /> <altmember cref="F:Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient" /> </Docs> <Members> <Member MemberName="TelemetryClient"> <MemberSignature Language="C#" Value="TelemetryClient" /> <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Microsoft.ApplicationInsights.MetricAggregationScope TelemetryClient = int32(1)" /> <MemberSignature Language="DocId" Value="F:Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient" /> <MemberSignature Language="VB.NET" Value="TelemetryClient" /> <MemberSignature Language="F#" Value="TelemetryClient = 1" Usage="Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryClient" /> <MemberType>Field</MemberType> <AssemblyInfo> <AssemblyName>Microsoft.ApplicationInsights</AssemblyName> <AssemblyVersion>2.21.0.429</AssemblyVersion> <AssemblyVersion>2.22.0.405</AssemblyVersion> </AssemblyInfo> <ReturnValue> <ReturnType>Microsoft.ApplicationInsights.MetricAggregationScope</ReturnType> </ReturnValue> <MemberValue>1</MemberValue> <Docs> <summary> <para>Metric values will be aggregated only across a specific <c>TelemetryClient</c> instance and then sent using that particular instance.<br /> Such aggregation across many smaller scopes can be resource intensive. This option is only recommended when a particular instance of <c>TelementryClient</c> needs to be used for sending telemetry. Typically, <c>MetricAggregationScope.TelemetryConfiguration</c> is the preferred option.</para> <para>Background-Info: This option causes the <see cref="T:Microsoft.ApplicationInsights.Metrics.MetricManager" /> instance that owns the retrieved <c>Metric</c> to be attached to a specified <c>TelemetryClient</c> instance. As a result, the <c>Context</c> and the <c>InstrumentationKey</c> of the specified <c>TelemetryClient</c> will be respected. However, each <c>MetricManager</c> instance encapsulates a managed thread and each aggregator uses additional memory.</para> </summary> </Docs> </Member> <Member MemberName="TelemetryConfiguration"> <MemberSignature Language="C#" Value="TelemetryConfiguration" /> <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Microsoft.ApplicationInsights.MetricAggregationScope TelemetryConfiguration = int32(0)" /> <MemberSignature Language="DocId" Value="F:Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration" /> <MemberSignature Language="VB.NET" Value="TelemetryConfiguration" /> <MemberSignature Language="F#" Value="TelemetryConfiguration = 0" Usage="Microsoft.ApplicationInsights.MetricAggregationScope.TelemetryConfiguration" /> <MemberType>Field</MemberType> <AssemblyInfo> <AssemblyName>Microsoft.ApplicationInsights</AssemblyName> <AssemblyVersion>2.21.0.429</AssemblyVersion> <AssemblyVersion>2.22.0.405</AssemblyVersion> </AssemblyInfo> <ReturnValue> <ReturnType>Microsoft.ApplicationInsights.MetricAggregationScope</ReturnType> </ReturnValue> <MemberValue>0</MemberValue> <Docs> <summary> <para>Metric values will be aggregated ACROSS all telemetry clients that belong to the same <c>TelemetryConfiguration</c>.<br /> This is the default. It fits most use cases and is more conservative towards resources.</para> <para>Background-Info: When you use this option with the <c>.GetMetric(..)</c> extension method of a <c>TelemetryClient</c>, the <see cref="T:Microsoft.ApplicationInsights.Metrics.MetricManager" /> instance that owns the retrieved <c>Metric</c> will be attached to a <c>TelemetryConfiguration</c> instance associated with that <c>TelemetryClient</c>. Thus, the <c>MetricManager</c> will be shared across all clients of this telemetry config. As a result, the <c>Context</c>, the <c>InstrumentationKey</c> and other properties of the respective <c>TelemetryClient</c> will be ignored in favor of the <c>TelemetryConfiguration</c>-wide settings.</para> </summary> </Docs> </Member> </Members> </Type>