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>