Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stichprobenentnahme ist eine Funktion in Application Insights. Dies ist die empfohlene Methode, um den Telemetrieverkehr, die Datenkosten und die Speicherkosten zu reduzieren und gleichzeitig eine statistisch korrekte Analyse der Anwendungsdaten zu erhalten. Sampling hilft Ihnen auch dabei, eine Drosselung Ihrer Telemetrie in Application Insights zu vermeiden. Der Samplingfilter wählt Elemente aus, die verknüpft sind, sodass Sie zwischen Elementen navigieren können, wenn Sie Diagnoseuntersuchungen durchführen.
Wenn die Metriken im Portal angezeigt werden, werden sie neu normalisiert, um die Stichproben zu berücksichtigen. Dadurch wird jeder Effekt auf die Statistik minimiert.
Hinweis
- Wenn Sie unsere OpenTelemetry-Distribution eingeführt haben und nach Konfigurationsoptionen suchen, lesen Sie Stichprobenentnahme aktivieren.
Kurze Zusammenfassung
- Es gibt drei verschiedene Arten der Stichprobenerstellung: adaptive Stichprobenerstellung, Stichprobenerstellung mit festem Prozentsatz und Erfassungs-Stichprobenerstellung.
- Die adaptive Stichprobenerstellung ist in allen aktuellen Versionen der Application Insights ASP.NET und ASP.NET Core Software Development Kits (SDKs) und in Azure Functions standardmäßig aktiviert.
- Stichprobenentnahme mit fester Häufigkeit ist in den neuesten Versionen der Application Insights SDKs für ASP.NET, ASP.NET Core, Java (sowohl Agent als auch SDK) und Python verfügbar.
- In Java sind Sampling-Überschreibungen verfügbar und nützlich, wenn Sie unterschiedliche Sampling-Raten auf ausgewählte Abhängigkeiten, Anforderungen und Zustandsprüfungen anwenden müssen. Verwenden Sie Sampling-Overrides, um einige verrauschte Abhängigkeiten auszublenden, während beispielsweise alle wichtigen Fehler bei 100 % gehalten werden. Dieses Verhalten ist eine Form der festen Abtastung, die Ihnen eine feinkörnige Kontrolle über Ihre Telemetrie gibt.
- Die Erfassungs-Stichprobenerstellung wird auf dem Application Insights-Dienstendpunkt vorgenommen. Sie wird nur angewendet, wenn keine andere Stichprobenerstellung aktiv ist. Wenn das SDK Stichproben Ihrer Telemetriedaten erstellt, ist die Erfassungs-Stichprobenerstellung deaktiviert.
- Wenn Sie im Fall von Webanwendungen benutzerdefinierte Ereignisse protokollieren und dabei sicherstellen müssen, dass eine Gruppe von Ereignissen gemeinsam beibehalten oder verworfen wird, müssen die Ereignisse den gleichen Wert für
OperationId
aufweisen. - Wenn Sie Analytics-Abfragen schreiben, sollten Sie die Stichprobenerstellung berücksichtigen. Insbesondere sollten Sie nicht einfach nur Datensätze zählen, sondern stattdessen
summarize sum(itemCount)
verwenden. - Einige Telemetrietypen, einschließlich Leistungsmetriken und benutzerdefinierten Metriken, werden immer beibehalten, unabhängig davon, ob die Stichprobenerstellung aktiviert ist.
In der folgenden Tabelle sind die für die jeweiligen SDKs und Anwendungstypen verfügbaren Arten der Stichprobenerstellung zusammengefasst:
Application Insights SDK | Adaptive Stichprobenerstellung unterstützt | Stichprobenerstellung mit festem Prozentsatz unterstützt | Erfassungs-Stichprobenerstellung unterstützt |
---|---|---|---|
ASP.NET | Ja (standardmäßig aktiviert) | Ja | Nur wenn keine andere Stichprobenerstellung aktiv ist |
ASP.NET Core | Ja (standardmäßig aktiviert) | Ja | Nur wenn keine andere Stichprobenerstellung aktiv ist |
Azure-Funktionen | Ja (standardmäßig aktiviert) | Nein | Nur wenn keine andere Stichprobenerstellung aktiv ist |
Java | Nein | Ja | Nur wenn keine andere Stichprobenerstellung aktiv ist |
JavaScript | Nein | Ja | Nur wenn keine andere Stichprobenerstellung aktiv ist |
Node.JS | Nein | Ja | Nur wenn keine andere Stichprobenerstellung aktiv ist |
Python | Nein | Ja | Nur wenn keine andere Stichprobenerstellung aktiv ist |
Alle anderen | Nein | Nein | Ja |
Hinweis
- Der Java Application Agent 3.4.0 und höher verwendet beim Senden von Telemetriedaten an Application Insights standardmäßig Sampling mit Ratenbegrenzung. Weitere Informationen finden Sie unter Sampling mit Ratenbegrenzung.
- Der Großteil der Informationen auf dieser Seite bezieht sich auf die aktuellen Versionen der Application Insights SDKs. Informationen zu älteren Versionen der SDKs finden Sie unter Ältere SDK-Versionen.
Wann sollte man Stichproben verwenden?
Im Allgemeinen benötigen Sie für die meisten kleinen und mittleren Anwendungen kein Sampling. Die nützlichsten Diagnoseinformationen und genauesten Statistiken werden durch Sammeln von Daten zu allen Benutzeraktivitäten abgerufen.
Die wichtigsten Vorteile der Probenahme sind:
- Der Application Insights-Dienst verwirft Datenpunkte, wenn Ihre App in einem kurzen Zeitintervall eine hohe Telemetrierate sendet ("Drosselung"). Das Sampling reduziert die Wahrscheinlichkeit, dass Ihre Anwendung Drosselungen erfährt.
- Um innerhalb des Kontingents an Datenpunkten zu bleiben, das für Ihren Tarif geplant ist.
- Der Netzwerk-Datenverkehr, der durch die Erfassung von Telemetriedaten verursacht wird, wird reduziert.
Funktionsweise des Samplings
Der Algorithmus für die Stichprobenentnahme entscheidet, welche Telemetriedatenelemente er beibehält oder ablegt, unabhängig davon, ob das SDK oder der Application Insights-Dienst die Stichprobenentnahme durchführt. Er folgt Regeln, um alle miteinander verbundenen Datenpunkte intakt zu halten, um sicherzustellen, dass Application Insights eine umsetzbare und zuverlässige Diagnoseerfahrung bietet, selbst mit weniger Daten. Wenn eine Stichprobe beispielsweise eine fehlgeschlagene Anforderung enthält, behält sie alle zugehörigen Telemetriedatenelemente wie Ausnahmen und Spuren bei. Auf diese Weise sehen Sie beim Anzeigen von Anforderungsdetails in Application Insights immer die Anforderung und die zugehörigen Telemetriedaten.
Die Entscheidung zur Stichprobenerstellung basiert auf der Vorgangs-ID der Anforderung, d. h. alle Telemetrieelemente, die zu einem bestimmten Vorgang gehören, werden entweder beibehalten oder gelöscht. Bei Telemetrieelementen, die nicht über einen Vorgangs-ID-Satz verfügen (z. B. Telemetrieelemente, die aus asynchronen Threads ohne HTTP-Kontext gemeldet wurden), erfasst das Sampling einfach einen Prozentsatz der Telemetrieelemente jedes Typs.
Bei der Präsentation der Telemetriedaten passt der Application Insights-Dienst die Metriken um den gleichen Samplinganteil an, der zum Zeitpunkt der Erfassung verwendet wurde, um die fehlenden Datenpunkte auszugleichen. Bei Betrachtung der Telemetriedaten in Application Insights werden folglich statistisch korrekte Annäherungen angezeigt, die den reellen Zahlen nahe kommen.
Die Genauigkeit der Annäherung hängt größtenteils vom konfigurierten Sampling-Prozentsatz ab. Außerdem erhöht sich die Genauigkeit für Anwendungen, die ein großes Volumen ähnlicher Anforderungen von vielen Benutzern verarbeiten. Für Anwendungen, die nicht mit einer erheblichen Auslastung arbeiten, ist das Sampling dagegen nicht erforderlich, da diese Anwendungen normalerweise alle ihre Telemetrie senden können, während sie innerhalb des Kontingents bleiben, ohne dass Datenverlust durch Drosselung verursacht wird.
Arten der Stichprobenerstellung
Es gibt drei verschiedene Samplingmethoden:
Die adaptive Stichprobenerstellung passt die Menge an Telemetriedaten, die vom SDK in Ihrer ASP.NET-/ASP.NET Core-App und von Azure Functions gesendet wird, automatisch an. Dies ist die Standardstichprobenentnahme bei Verwendung des ASP.NET- oder ASP.NET Core-SDKs. Adaptives Sampling ist derzeit nur für ASP.NET/ASP.NET core serverseitige Telemetrie und für Azure Functions verfügbar.
Die Stichprobenerstellung mit festem Prozentsatz reduziert die Menge an Telemetriedaten, die von Ihrem ASP.NET-, ASP.NET Core- oder Java-Server und von den Browsern Ihrer Benutzer gesendet wird. Sie legen die Rate fest. Client und Server synchronisieren ihre Stichprobenentnahme, sodass Sie in Cognitive Search zwischen den verwandten Seitenansichten und Seitenanforderungen navigieren können.
Die Erfassungs-Stichprobenerstellung erfolgt auf dem Application Insights-Dienstendpunkt. Sie verwirft einige der Telemetriedaten, die von Ihrer App empfangen werden, mit einer von Ihnen festgelegten Samplingrate. Dadurch wird der Telemetriedatenverkehr, der von Ihrer App gesendet wird, nicht reduziert, sie hilft Ihnen jedoch, ihr monatliches Kontingent beizubehalten. Der Hauptvorteil der Erfassungssampling besteht darin, dass Sie die Samplingrate festlegen können, ohne Ihre App erneut bereitzustellen. Das Stichprobensystem bei der Erfassung funktioniert einheitlich für alle Server und Clients, gilt jedoch nicht, wenn andere Arten von Stichproben ausgeführt werden.
Wichtig
Wenn adaptive oder feste Samplingmethoden für einen Telemetrietyp aktiviert sind, ist das Aufnahmesampling für diese Telemetrie deaktiviert. Telemetrietypen, die vom Sampling auf SDK-Ebene ausgeschlossen sind, unterliegen jedoch weiterhin dem Aufnahmesampling mit der im Portal festgelegten Rate.
Adaptive Stichprobenerstellung
Die adaptive Stichprobenermittlung wirkt sich auf die Menge der Telemetriedaten aus, die von Ihrer Webserver-App an den Application Insights-Dienstendpunkt gesendet werden.
Tipp
Die adaptive Stichprobenerstellung ist bei Verwendung des ASP.NET SDK oder ASP.NET Core SDK und auch für Azure Functions standardmäßig aktiviert.
Das Volumen passt sich automatisch an, um innerhalb des MaxTelemetryItemsPerSecond
-Ratenlimits zu bleiben. Wenn die Anwendung wenig Telemetrie generiert, z. B. während des Debuggings oder bei geringer Nutzung, gehen keine Elemente verloren, solange das Volumen unter MaxTelemetryItemsPerSecond
bleibt. Wenn das Telemetriedatenvolumen steigt, passt er die Rate der Stichprobenentnahme an, um das Zielvolumen zu erreichen. Diese Anpassung, die in regelmäßigen Intervallen neu berechnet wird, basiert auf dem gleitenden Durchschnitt der ausgehenden Übertragungsrate.
Um die Zielmenge zu erreichen, werden einige der generierten Telemetriedaten verworfen. Aber wie bei den anderen Methoden für die Stichprobenerstellung behält der Algorithmus zugehörige Telemetrieelemente bei. Beispielsweise können Sie bei der Untersuchung der Telemetrie in der Suche die Anforderung finden, die mit einer bestimmten Ausnahme zusammenhängt.
Metrikzahlen wie Anforderungsrate und Ausnahmerate werden angepasst, um die Stichprobenrate zu kompensieren, sodass sie ungefähre Werte im Metrik-Explorer anzeigen.
Konfigurieren der adaptiven Stichprobenerstellung für ASP.NET-Anwendungen
Hinweis
Dieser Abschnitt gilt für ASP.NET-Anwendungen, jedoch nicht für ASP.NET Core-Anwendungen. Informationen zum Konfigurieren der adaptiven Stichprobenerstellung für ASP.NET Core-Anwendungen finden Sie weiter unten in diesem Dokument.
In ApplicationInsights.config
können Sie verschiedene Parameter im AdaptiveSamplingTelemetryProcessor
-Knoten anpassen. Die folgenden Zahlen veranschaulichen die Standardwerte:
<MaxTelemetryItemsPerSecond>5</MaxTelemetryItemsPerSecond>
Der Zielprozentsatz von logischen Vorgängen, den der Adaptionsalgorithmus auf jedem einzelnen Serverhost zu erreichen versucht. Wenn Ihre Web-App auf mehreren Hosts ausgeführt wird, reduzieren Sie diesen Wert, damit Sie innerhalb des Zielprozentsatzes für den Datenverkehr im Application Insights-Portal bleiben.
<EvaluationInterval>00:00:15</EvaluationInterval>
Das Intervall, in dem die aktuelle Telemetrierate erneut ausgewertet wird. Die Auswertung wird als gleitender Durchschnitt ausgeführt. Falls Ihre Telemetrie anfällig für plötzliche Spitzen ist, sollten Sie dieses Intervall verkürzen.
<SamplingPercentageDecreaseTimeout>00:02:00</SamplingPercentageDecreaseTimeout>
Wenn sich der Prozentwert der Stichprobenentnahme ändert, bestimmt er, wie schnell wir den Prozentsatz der Stichprobenentnahme wieder reduzieren können, um weniger Daten aufzuzeichnen.
<SamplingPercentageIncreaseTimeout>00:15:00</SamplingPercentageIncreaseTimeout>
Wenn sich der Prozentwert der Stichprobenentnahme ändert, gibt er vor, wie schnell wir den Prozentsatz der Stichprobenentnahme wieder erhöhen können, um mehr Daten aufzuzeichnen.
<MinSamplingPercentage>0.1</MinSamplingPercentage>
Gibt den minimal zulässigen Wert an, der bei variierendem Stichproben-Prozentsatz festgelegt werden darf.
<MaxSamplingPercentage>100.0</MaxSamplingPercentage>
Gibt den maximal zulässigen Wert an, der bei variierendem Stichproben-Prozentsatz festgelegt werden darf.
<MovingAverageRatio>0.25</MovingAverageRatio>
Bei der Berechnung des gleitenden Durchschnitts gibt dieser Wert das Gewicht an, das dem jüngsten Wert zugewiesen werden soll. Verwenden Sie einen Wert kleiner oder gleich 1. Bei einem kleineren Wert reagiert der Algorithmus langsamer auf plötzliche Veränderungen.
<InitialSamplingPercentage>100</InitialSamplingPercentage>
Die Menge der Telemetriedaten, die bei Start der App gesammelt wird. Reduzieren Sie diesen Wert nicht, solange Sie debuggen.
<ExcludedTypes>type;type</ExcludedTypes>
Eine durch Semikolons getrennte Liste von Typen, die nicht dem Sampling unterzogen werden sollen. Anerkannte Typen sind:
Dependency
,Event
,Exception
,PageView
,Request
,Trace
. Alle Telemetriedaten der angegebenen Typen werden übertragen. Für die nicht angegebenen Typen werden Stichproben erstellt.<IncludedTypes>type;type</IncludedTypes>
Eine durch Semikolons getrennte Liste von Typen, für die Stichproben erstellt werden sollen. Anerkannte Typen sind:
Dependency
,Event
,Exception
,PageView
,Request
,Trace
. Für die angegebenen Typen werden Stichproben erstellt. Alle Telemetriedaten der anderen Typen werden immer übertragen.
Entfernen Sie zum Deaktivieren der adaptiven Stichprobenerstellung den bzw. die Knoten AdaptiveSamplingTelemetryProcessor
aus ApplicationInsights.config
.
Alternative: Konfigurieren der adaptiven Stichprobenerstellung im Code
Anstatt den Stichprobenerstellungsparameter in der .config
-Datei festzulegen, können Sie die Werte auch programmgesteuert festlegen.
Entfernen Sie alle Knoten
AdaptiveSamplingTelemetryProcessor
aus der.config
-Datei.Verwenden Sie den folgenden Codeausschnitt, um die adaptive Stichprobenerstellung zu konfigurieren:
using Microsoft.ApplicationInsights; using Microsoft.ApplicationInsights.Extensibility; using Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation; using Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel; // ... var builder = TelemetryConfiguration.Active.DefaultTelemetrySink.TelemetryProcessorChainBuilder; // For older versions of the Application Insights SDK, use the following line instead: // var builder = TelemetryConfiguration.Active.TelemetryProcessorChainBuilder; // Enable AdaptiveSampling so as to keep overall telemetry volume to 5 items per second. builder.UseAdaptiveSampling(maxTelemetryItemsPerSecond:5); // If you have other telemetry processors: builder.Use((next) => new AnotherProcessor(next)); builder.Build();
Sie können die Stichprobenhäufigkeit auch für jeden Telemetrietyp einzeln anpassen oder sogar bestimmte Typen von der Stichprobenerstellung ausschließen:
// The following configures adaptive sampling with 5 items per second, and also excludes Dependency telemetry from being subjected to sampling.
builder.UseAdaptiveSampling(maxTelemetryItemsPerSecond:5, excludedTypes: "Dependency");
Konfigurieren der adaptiven Stichprobenerstellung für ASP.NET Core-Anwendungen
ASP.NET Core-Anwendungen können im Code oder über die Datei appsettings.json
konfiguriert werden. Weitere Informationen finden Sie unter Konfiguration in ASP.NET Core.
Die adaptive Stichprobenerstellung ist standardmäßig für alle ASP.NET Core-Anwendungen aktiviert. Sie können das Probenahmeverhalten deaktivieren oder anpassen.
Deaktivieren der adaptiven Stichprobenerstellung
Die standardmäßige Stichprobenentnahmefunktion kann beim Hinzufügen des Application Insights-Diensts deaktiviert werden.
Fügen Sie ApplicationInsightsServiceOptions
hinter der WebApplication.CreateBuilder()
-Methode in der Program.cs
-Datei hinzu.
var builder = WebApplication.CreateBuilder(args);
var aiOptions = new Microsoft.ApplicationInsights.AspNetCore.Extensions.ApplicationInsightsServiceOptions();
aiOptions.EnableAdaptiveSampling = false;
builder.Services.AddApplicationInsightsTelemetry(aiOptions);
var app = builder.Build();
Mit dem Code oben wird die adaptive Stichprobenerstellung deaktiviert. Führen Sie die folgenden Schritte aus, um die Stichprobenentnahme mit weiteren Anpassungsoptionen hinzuzufügen.
Konfigurieren von Einstellungen für die Stichprobenerstellung
Verwenden Sie die folgenden Erweiterungsmethoden von TelemetryProcessorChainBuilder
zum Anpassen des Verhaltens der Stichprobenentnahme.
Wichtig
Wenn Sie diese Methode zum Konfigurieren der Stichprobenerstellung verwenden, vergewissern Sie sich, dass die Eigenschaft aiOptions.EnableAdaptiveSampling
beim Aufrufen von false
auf AddApplicationInsightsTelemetry()
festgelegt ist. Nachdem Sie diese Änderung vorgenommen haben, müssen Sie die Anweisungen im folgenden Codeblock genau befolgen, um die adaptive Stichprobenerstellung mit Ihren Anpassungen erneut zu aktivieren. Andernfalls kann es zu einer übermäßigen Datenerfassung kommen. Testen Sie nach Änderungen immer die Einstellungen für die Stichprobenerstellung, und legen Sie eine entsprechende tägliche Datenobergrenze fest, um Ihre Kosten zu kontrollieren.
using Microsoft.ApplicationInsights.AspNetCore.Extensions;
using Microsoft.ApplicationInsights.Extensibility;
var builder = WebApplication.CreateBuilder(args);
builder.Services.Configure<TelemetryConfiguration>(telemetryConfiguration =>
{
var telemetryProcessorChainBuilder = telemetryConfiguration.DefaultTelemetrySink.TelemetryProcessorChainBuilder;
// Using adaptive sampling
telemetryProcessorChainBuilder.UseAdaptiveSampling(maxTelemetryItemsPerSecond: 5);
// Alternately, the following configures adaptive sampling with 5 items per second, and also excludes DependencyTelemetry from being subject to sampling:
// telemetryProcessorChainBuilder.UseAdaptiveSampling(maxTelemetryItemsPerSecond:5, excludedTypes: "Dependency");
telemetryProcessorChainBuilder.Build();
});
builder.Services.AddApplicationInsightsTelemetry(new ApplicationInsightsServiceOptions
{
EnableAdaptiveSampling = false,
});
var app = builder.Build();
Sie können weitere Einstellungen für die Stichprobenentnahme mithilfe der SamplingPercentageEstimatorSettings-Klasse anpassen:
using Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation;
telemetryProcessorChainBuilder.UseAdaptiveSampling(new SamplingPercentageEstimatorSettings
{
MinSamplingPercentage = 0.01,
MaxSamplingPercentage = 100,
MaxTelemetryItemsPerSecond = 5
}, null, excludedTypes: "Dependency");
Konfigurieren der adaptiven Stichprobenerstellung für Azure Functions
Folgen Sie den Anweisungen auf dieser Seite, um die adaptive Stichprobenerstellung für Apps zu konfigurieren, die in Azure Functions ausgeführt werden.
Stichprobenerstellung mit festem Prozentsatz
Die Probenahme mit fester Rate reduziert den Datenverkehr, der von Ihren Webservern und Webbrowsern gesendet wird. Im Gegensatz zur adaptiven Stichprobenerstellung werden die Telemetriedaten nach einem von Ihnen festgelegten Prozentsatz verringert. Die Stichprobenerstellung mit festem Prozentsatz ist für ASP.NET-, ASP.NET Core-, Java- und Python-Anwendungen verfügbar.
Wie bei anderen Techniken behält es auch verwandte Elemente bei. Es synchronisiert auch das Client- und Server-Sampling, sodass zugehörige Elemente beibehalten werden. Wenn Sie sich beispielsweise einen Seitenaufruf in der Suche ansehen, können Sie die zugehörigen Serveranforderungen finden.
In Metrik-Explorer werden Raten wie Anzahl von Anforderungen und Ausnahmen mit einem Faktor multipliziert, um die Stichprobenrate zu kompensieren, damit sie so genau wie möglich sind.
Konfigurieren der Stichprobenerstellung mit festem Prozentsatz für ASP.NET-Anwendungen
Deaktivieren der adaptiven Stichprobenerstellung: Entfernen Sie in
ApplicationInsights.config
den KnotenAdaptiveSamplingTelemetryProcessor
, oder kommentieren Sie ihn aus.<TelemetryProcessors> <!-- Disabled adaptive sampling: <Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel"> <MaxTelemetryItemsPerSecond>5</MaxTelemetryItemsPerSecond> </Add> -->
Aktivieren Sie das Modul für die Stichprobenerstellung mit festem Prozentsatz. Fügen Sie in
ApplicationInsights.config
den folgenden Codeausschnitt hinzu:In diesem Beispiel ist SamplingPercentage 20, sodass von 20 % aller Elemente eine Stichprobe erstellt wird. Werte im Metrik-Explorer werden zum Ausgleich mit (100/20) = 5 multipliziert.
<TelemetryProcessors> <Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel"> <!-- Set a percentage close to 100/N where N is an integer. --> <!-- E.g. 50 (=100/2), 33.33 (=100/3), 25 (=100/4), 20, 1 (=100/100), 0.1 (=100/1000) --> <SamplingPercentage>20</SamplingPercentage> </Add> </TelemetryProcessors>
Anstatt den Stichprobenerstellungsparameter in der
ApplicationInsights.config
-Datei festzulegen, können Sie die Werte auch programmgesteuert festlegen:using Microsoft.ApplicationInsights.Extensibility; using Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel; // ... var builder = TelemetryConfiguration.Active.DefaultTelemetrySink.TelemetryProcessorChainBuilder; // For older versions of the Application Insights SDK, use the following line instead: // var builder = TelemetryConfiguration.Active.TelemetryProcessorChainBuilder; builder.UseSampling(10.0); // percentage // If you have other telemetry processors: builder.Use((next) => new AnotherProcessor(next)); builder.Build();
Konfigurieren der Stichprobenerstellung mit festem Prozentsatz für ASP.NET Core-Anwendungen
Deaktivieren der adaptiven Stichprobenerstellung
Änderungen können hinter der
WebApplication.CreateBuilder()
-Methode mittelsApplicationInsightsServiceOptions
vorgenommen werden:var builder = WebApplication.CreateBuilder(args); var aiOptions = new Microsoft.ApplicationInsights.AspNetCore.Extensions.ApplicationInsightsServiceOptions(); aiOptions.EnableAdaptiveSampling = false; builder.Services.AddApplicationInsightsTelemetry(aiOptions); var app = builder.Build();
Aktivieren des Moduls für die Stichprobenentnahme mit fester Häufigkeit
Änderungen können nach der
WebApplication.CreateBuilder()
-Methode vorgenommen werden.var builder = WebApplication.CreateBuilder(args); builder.Services.Configure<TelemetryConfiguration>(telemetryConfiguration => { var builder = telemetryConfiguration.DefaultTelemetrySink.TelemetryProcessorChainBuilder; // Using fixed rate sampling double fixedSamplingPercentage = 10; builder.UseSampling(fixedSamplingPercentage); builder.Build(); }); builder.Services.AddApplicationInsightsTelemetry(new ApplicationInsightsServiceOptions { EnableAdaptiveSampling = false, }); var app = builder.Build();
Konfigurieren von Sampling-Überschreibungen und Sampling mit fester Rate für Java-Anwendungen
Standardmäßig ist bei der automatischen Java-Instrumentierung und im Java SDK kein Sampling aktiviert. Derzeit werden die automatische Java-Instrumentierung, Sampling-Überschreibungen und das Sampling mit fester Rate unterstützt. Adaptives Sampling wird in Java nicht unterstützt.
Konfigurieren der automatischen Java-Instrumentierung
- Um die Außerkraftsetzung des Samplings zu konfigurieren, um die Standardsamplingrate außer Kraft zu setzen und andere Samplingraten auf ausgewählte Anforderungen und Abhängigkeiten anzuwenden, nutzen Sie den Leitfaden zur Außerkraftsetzung des Samplings.
- Verwenden Sie den Leitfaden zum Sampling mit fester Rate, um Sampling mit fester Rate zu konfigurieren, das für alle Telemetriedaten gilt.
Hinweis
Für den Prozentsatz der Stichprobe wählen Sie einen Prozentsatz, der so nah wie möglich an 100/N liegt, wobei N eine Ganzzahl ist. Andere Werte werden bei der Stichprobenerstellung gegenwärtig nicht unterstützt.
Konfigurieren der Stichprobenerstellung mit festem Prozentsatz für OpenCensus Python-Anwendungen
Instrumentieren Sie Ihre Anwendung mit der neuesten Version von OpenCensus Azure Monitor Exporters.
Hinweis
Die Stichprobenentnahme mit festem Prozentsatz ist für das Exportprogramm für Metriken nicht verfügbar. Das bedeutet, dass benutzerdefinierte Metriken die einzigen Arten von Telemetriedaten sind, bei denen eine Stichprobenentnahme NICHT konfiguriert werden kann. Das Exportprogramm für Metriken sendet alle Telemetriedaten, die es nachverfolgt.
Abtastung mit fester Rate für die Ablaufverfolgung
Sie können ein sampler
als Teil Ihrer Tracer
-Konfiguration angeben. Wenn keine explizite Stichprobe angegeben wird, wird der ProbabilitySampler
standardmäßig verwendet. Der ProbabilitySampler
würde standardmäßig eine Rate von 1/10000 verwenden, was bedeutet, dass eine von 10 000 Anforderungen an Application Insights gesendet wird. Wenn Sie eine Rate für die Stichprobenentnahme angeben möchten, lesen Sie die folgenden Details.
Stellen Sie zum Angeben der Stichprobenhäufigkeit sicher, dass über Ihren Tracer
ein Sampler mit einer Stichprobenhäufigkeit zwischen 0,0 und 1,0 (einschließlich) angegeben wird. Eine Rate für die Stichprobenentnahme von 1,0 steht für 100 %, was bedeutet, dass Ihre gesamten Anforderungen als Telemetriedaten an Application Insights gesendet werden.
tracer = Tracer(
exporter=AzureExporter(
instrumentation_key='00000000-0000-0000-0000-000000000000',
),
sampler=ProbabilitySampler(1.0),
)
Festfrequenz-Abtastung für Logdaten
Sie können die Stichprobenentnahme mit festem Prozentsatz für AzureLogHandler
konfigurieren, indem Sie das optionale Argument logging_sampling_rate
ändern. Wenn kein Argument angegeben wird, wird eine Rate für die Stichprobenentnahme von 1,0 verwendet. Eine Rate für die Stichprobenentnahme von 1,0 steht für 100 %, was bedeutet, dass Ihre gesamten Anforderungen als Telemetriedaten an Application Insights gesendet werden.
handler = AzureLogHandler(
instrumentation_key='00000000-0000-0000-0000-000000000000',
logging_sampling_rate=0.5,
)
Konfigurieren der Stichprobenerstellung mit festem Prozentsatz für Webseiten mit JavaScript
JavaScript-basierte Webseiten können für die Verwendung von Application Insights konfiguriert werden. Telemetriedaten werden von der Clientanwendung gesendet, die im Browser des Benutzers ausgeführt wird, und die Seiten können von jedem beliebigen Server gehostet werden.
Ändern Sie beim Konfigurieren Ihrer JavaScript-basierten Webseiten für Application Insights den JavaScript-Codeausschnitt, den Sie vom Application Insights-Portal erhalten.
Tipp
Bei ASP.NET-Apps mit enthaltenem JavaScript wird der Codeausschnitt normalerweise in _Layout.cshtml
eingefügt.
Fügen Sie vor dem Instrumentierungsschlüssel eine Zeile wie samplingPercentage: 10,
ein:
<script>
var appInsights = // ...
({
// Value must be 100/N where N is an integer.
// Valid examples: 50, 25, 20, 10, 5, 1, 0.1, ...
samplingPercentage: 10,
instrumentationKey: ...
});
window.appInsights = appInsights;
appInsights.trackPageView();
</script>
Für den Prozentsatz der Stichprobe wählen Sie einen Prozentsatz, der nahe bei 100/N liegt, wobei N eine Ganzzahl ist. Andere Werte werden bei der Stichprobenerstellung gegenwärtig nicht unterstützt.
Koordinieren der serverseitigen und clientseitigen Stichprobenerstellung
Das clientseitige JavaScript-SDK nimmt mit dem serverseitigen SDK an Stichproben mit fester Rate teil. Die instrumentierten Seiten senden clientseitige Telemetriedaten nur vom gleichen Benutzer, für den das serverseitige SDK die Entscheidung zum Einschließen in die Stichprobenentnahme getroffen hat. Mithilfe dieser Logik wird die Integrität der Benutzersitzungen für client- und serverseitige Anwendungen sichergestellt. So können Sie für ein bestimmtes Telemetrieelement in Application Insights nach allen anderen Telemetrieelementen für den jeweiligen Benutzer oder die jeweilige Sitzung suchen. Außerdem können Sie in Search zwischen den verwandten Seitenaufrufen und Anforderungen navigieren.
Falls Ihre client- und serverseitigen Telemetriedaten keine koordinierten Stichproben aufweisen:
- Überprüfen Sie, ob Sie die Stichprobenerstellung sowohl auf dem Server als auch auf dem Client aktiviert haben.
- Stellen Sie sicher, dass Sie auf Client und Server denselben Prozentsatz für die Stichprobenerstellung festgelegt haben.
- Stellen Sie sicher, dass die SDK-Version 2.0 oder höher ist.
Erfassungs-Stichprobenerstellung
Die Erfassungs-Stichprobenerstellung erfolgt an dem Punkt, an dem die Telemetriedaten von Ihren Webservern, Browsern und Geräten beim Application Insights-Dienstendpunkt eingehen. Diese Methode führt nicht zu einer Verringerung der Telemetriedaten, die von Ihrer App gesendet werden, sie verringert jedoch die Datenmenge, die von Application Insights verarbeitet und beibehalten (und somit in Rechnung gestellt) wird.
Verwenden Sie diese Art der Stichprobenerstellung, wenn Ihre App häufig das monatliche Kontingent überschreitet und Sie keine der SDK-basierten Formen der Stichprobenerstellung verwenden können.
Legen Sie die Samplingrate auf der Seite „Nutzung und geschätzte Kosten“ fest:
Wie bei den anderen Methoden für die Stichprobenerstellung behält der Algorithmus zugehörige Telemetrieelemente bei. Sie können beispielsweise bei der Untersuchung der Telemetriedaten in der Suche die zu einer bestimmten Ausnahme gehörende Anforderung finden. Metrikwerte wie z. B. die Anforderungs- und Ausnahmerate werden korrekt beibehalten.
Durch die Stichprobenentnahme werden bestimmte Datenpunkte verworfen, sodass sie in allen Application Insights-Features wie dem fortlaufenden Export nicht verfügbar sind.
Die Erfassungs-Stichprobenerstellung funktioniert nicht zusammen mit adaptiven Stichprobenentnahmen oder solchen mit fester Rate. Die adaptive Stichprobenerstellung wird automatisch mit dem ASP.NET-SDK, dem ASP.NET Core-SDK, in Azure App Service oder mit dem Application Insights-Agent aktiviert. Wenn der Application Insights-Dienstendpunkt Telemetriedaten empfängt und eine Rate für die Stichprobenentnahme unter 100 % erkennt (was auf aktive Stichprobenentnahme hindeutet), ignoriert er jede festgelegte Rate für die Erfassungs-Stichprobenerstellung.
Warnung
Der auf der Portalkachel angezeigte Wert gibt den Wert an, den Sie für die Stichprobenerfassung festgelegt haben. Er steht nicht für die tatsächliche Stichprobenhäufigkeit, wenn eine beliebige Art von SDK-Stichprobenerstellung (adaptiv oder mit festem Prozentsatz) ausgeführt wird.
Welche Art der Stichprobenerstellung sollte ich verwenden?
Verwenden Sie die Erfassungs-Stichprobenerstellung in folgenden Fällen:
- Sie nutzen häufig Ihr monatliches Kontingent an Telemetriedaten.
- Sie empfangen zu viele Telemetriedaten von den Webbrowsern Ihrer Benutzer.
- Sie verwenden eine SDK-Version, die keine Stichprobenentnahme unterstützt – beispielsweise ASP.NET-Versionen vor 2.0.
Verwenden Sie die Stichprobenerstellung mit festem Prozentsatz unter folgenden Bedingungen:
- Sie benötigen eine synchronisiertes Stichprobenentnahme zwischen Client und Server, um zwischen verwandten Ereignissen zu navigieren. Beispiel: Seitenansichten und HTTP-Anforderungen in Search beim Untersuchen von Ereignissen.
- Sie sind sich sicher, welcher Stichproben-Prozentsatz für Ihre App angemessen ist. Es sollte hoch genug sein, um genaue Metriken zu erhalten, aber unterhalb der Grenze liegen, die Ihr Tarifkontingent und das Drosselungslimit überschreitet.
Verwendung der adaptiven Stichprobenerstellung:
Wenn die Bedingungen für die Verwendung der anderen Stichprobenerstellungsarten nicht erfüllt sind, empfiehlt sich die Verwendung der adaptiven Stichprobenerstellung. Diese Einstellung ist im ASP.NET/ASP.NET Core SDK standardmäßig aktiviert. Der Datenverkehr wird erst ab einer bestimmten Mindestrate verringert. Daher werden bei wenig genutzte Websites wahrscheinlich gar keine Stichproben erstellt.
Erkennen, ob die Stichprobenerstellung ausgeführt wird
Verwenden Sie eine Analytics-Abfrage, um die Rate für die Stichprobenentnahme zu finden.
union requests,dependencies,pageViews,browserTimings,exceptions,traces
| where timestamp > ago(1d)
| summarize RetainedPercentage = 100/avg(itemCount) by bin(timestamp, 1h), itemType
Wenn Sie sehen, dass RetainedPercentage
für einen beliebigen Typ kleiner als 100 ist, werden für diesen Telemetrietyp Stichproben erstellt.
Wichtig
Application Insights erstellt bei keiner Methode der Stichprobenerstellung Stichproben für die Telemetrietypen „Sitzung“, „Metriken“ (einschließlich benutzerdefinierter Metriken) und „Leistungsindikatoren“. Diese Telemetrietypen sind immer von der Stichprobenerstellung ausgeschlossen, da eine Reduzierung der Genauigkeit bei ihnen nicht wünschenswert ist.
Abfragegenauigkeit von Protokolldaten und hohe Abtastraten
Wenn die Anwendung hochskaliert wird, kann sie Dutzende, Hunderte oder Tausende von Arbeitselementen pro Sekunde verarbeiten. Die Protokollierung eines Ereignisses für jedes von ihnen ist weder ressourcen- noch kosteneffektiv. Für Application Insights werden Stichproben entnommen, um sich flexibel an das wachsende Telemetrievolumen anzupassen und die Ressourcennutzung und -kosten zu kontrollieren.
Warnung
Die End-to-End-Ansichtsintegrität eines verteilten Vorgangs kann beeinträchtigt werden, wenn für eine Anwendung im verteilten Vorgang die Stichprobenentnahme aktiviert wird. Von jeder Anwendung in einem verteilten Vorgang werden unterschiedliche Entscheidungen zur Stichprobenentnahme getroffen. Daher werden Telemetriedaten für eine Vorgangs-ID möglicherweise von einer Anwendung gespeichert, während andere Anwendungen u. U festlegen, dass für die Telemetriedaten mit derselben Vorgangs-ID keine Stichprobenentnahme erfolgt.
Mit steigenden Stichprobenraten sinkt die Genauigkeit protokollbasierter Abfragen, und diese werden größer. Dies wirkt sich nur auf die Genauigkeit protokollbasierter Abfragen aus, wenn die Stichprobenentnahme aktiviert ist und die Stichprobenraten in einem höheren Bereich (~ 60 %) befinden. Die Auswirkungen variieren je nach Telemetriedatentypen, Telemetriedatenanzahl pro Vorgang und anderen Faktoren.
SDKs verwenden voraggregierte Metriken, um Probleme zu lösen, die durch die Stichprobenentnahme verursacht werden. Weitere Informationen zu diesen Metriken finden Sie unter Azure Application Insights – Azure Monitor | Microsoft-Dokumentation. Die SDKs identifizieren relevante Eigenschaften protokollierter Daten und extrahieren Statistiken vor der Stichprobenentnahme. Um den Ressourceneinsatz und die Kosten zu minimieren, werden Metriken aggregiert. Dieser Prozess führt zu einigen wenigen Metrik-Telemetriedatenelementen pro Minute und nicht zu Tausenden von Ereignis-Telemetriedatenelementen. Diese Metriken können z. B. „diese Web-App verarbeitete 25 Anforderungen“ an das MDM-Konto melden, mit einem itemCount
Wert von 100 im gesendeten telemetrischen Anforderungsdatensatz. Diese voraggregierten Metriken stellen genaue Zahlen bereit und sind auch dann zuverlässig, wenn sich die Stichprobenentnahme auf protokollbasierte Abfrageergebnisse auswirkt. Sie können sie im Bereich „Metriken“ des Application Insights-Portals anzeigen.
Häufig gestellte Fragen
Beeinflusst das Sampling die Alarmierungsgenauigkeit?
- Ja. Warnmeldungen können nur bei Stichprobendaten ausgelöst werden. Eine aggressive Filterung kann dazu führen, dass Warnungen nicht wie erwartet ausgelöst werden.
Hinweis
Stichproben werden nicht auf Metriken angewendet, aber Metriken können aus Stichprobendaten abgeleitet werden. Auf diese Weise kann das Sampling die Genauigkeit der Alarmierung indirekt beeinflussen.
Was ist das Standardverhalten für die Stichprobenerstellung im ASP.NET SDK und ASP.NET Core SDK?
- Wenn Sie eine der aktuellen Versionen des obigen SDK verwenden, ist die adaptive Stichprobenerstellung standardmäßig mit fünf Telemetriedatenelementen pro Sekunde aktiviert.
Standardmäßig fügt das System zwei
AdaptiveSamplingTelemetryProcessor
-Knoten hinzu: einer enthält denEvent
-Typ bei der Stichprobenentnahme, während der andere ihn ausschließt. Diese Konfiguration beschränkt Telemetriedaten auf fünfEvent
-Typenelemente und fünf Elemente aller anderen Typen kombiniert, wobei sichergestellt wird, dass Stichproben fürEvents
getrennt von anderen Telemetriedatentypen erstellt werden.
Verwenden Sie die Beispiele weiter oben auf dieser Seite, um das Standardverhalten zu ändern.
Können mehrmals Stichproben für Telemetrieelemente erstellt werden?
- Nein. „SamplingTelemetryProcessors“ ignorieren Elemente bei der Stichprobenbetrachtung, wenn diese bereits Teil einer Stichprobe sind. Dies gilt auch für die Erfassungs-Stichprobenerstellung, welche keine Stichproben für diejenigen Elemente erstellt, für die bereits im SDK eine Stichprobe erstellt wurde.
Weshalb erfolgt die Stichprobenerstellung nicht einfach nach dem Prinzip „X Prozent jedes Telemetrietyps erfassen“?
- Diese Methode der Stichprobenerstellung würde bei metrischen Annäherungen eine hohe Genauigkeit bieten, die für Diagnosen entscheidende Korrelation der Diagnosedaten für einzelne Benutzer, Sitzungen und Anforderungen wäre jedoch nicht möglich. Aus diesem Grund funktioniert die Stichprobenentnahme besser mit Richtlinien wie „alle Telemetriedatenelemente für X Prozent der App-Benutzer erfassen“ oder „alle Telemetriedaten für X Prozent der App-Anforderungen erfassen“. Für Telemetrieelemente, die nicht mit den Anforderungen verknüpft sind (z. B. die asynchrone Hintergrundverarbeitung), wird auf den Ansatz „X Prozent aller Elemente für jeden Telemetrietyp erfassen“ zurückgegriffen.
Kann der Prozentsatz für die Stichprobenerstellung im Verlauf der Zeit geändert werden?
- Ja, bei der adaptiven Stichprobenerstellung wird der Stichproben-Prozentsatz langsam auf Basis des aktuell beobachteten Telemetrievolumens verändert.
Wie kann ich bei einer Stichprobenentnahme mit fester Rate wissen, welcher Prozentsatz für die Stichprobenentnahme für meine App am besten funktioniert?
Eine Möglichkeit ist, mit der adaptiven Stichprobenerstellung zu beginnen, herauszufinden, bei welchem Wert sie sich einstellt (siehe die oben gestellt Frage), und dann mit diesem Wert zur Stichprobenerstellung mit festem Prozentsatz zu wechseln.
Andernfalls müssen Sie raten. Analysieren Sie Ihre aktuelle Nutzung der Telemetriedaten in Application Insights, beobachten Sie ggf. auftretende Drosselungen, und schätzen Sie den Umfang der erfassten Telemetriedaten. In Kombination mit Ihrem ausgewählten Tarif geben diese drei Faktoren Auskunft darüber, um wie viel Sie die Menge der erfassten Telemetriedaten gegebenenfalls reduzieren sollten. Allerdings kann eine Zunahme der Benutzeranzahl oder eine andere Verschiebung in der Menge der Telemetriedaten Ihre Schätzung ungültig werden lassen.
Was geschieht, wenn ich einen zu geringen Prozentsatz für die Stichprobenerstellung konfiguriere?
- Zu geringe Prozentsätze für die Stichprobenerstellung führen zu einer übermäßige Stichprobenerstellung und wirken sich negativ auf die Genauigkeit der Annäherungen aus, wenn Application Insights versucht, die Visualisierung der Daten für die reduzierte Datenmenge auszugleichen. Ihre Diagnoseerfahrung kann auch negativ betroffen sein, da einige der selten fehlschlagenden oder langsamen Anforderungen aus der Stichprobe ausgeschlossen werden können.
Was geschieht, wenn ich einen zu hohen Prozentsatz für die Stichprobenerstellung konfiguriere?
- Wenn ein zu hoher Stichprobenprozentsatz konfiguriert wird (nicht aggressiv genug), führt dies zu einer unzureichenden Reduzierung des Volumens der erfassten Telemetriedaten. Trotzdem kann es im Zusammenhang mit der Drosselung immer noch zum Verlust von Telemetriedaten kommen, und die Kosten für die Nutzung von Application Insights könnten aufgrund von Überschreitungsgebühren höher sein, als Sie geplant haben.
Was geschieht, wenn ich sowohl die Einstellungen „IncludedTypes“ als auch „ExcludedTypes“ konfiguriert habe?
- Es ist am besten, wenn Sie in Ihrer Konfiguration nicht sowohl
ExcludedTypes
als auchIncludedTypes
einstellen, um Konflikte zu vermeiden und klare Einstellungen für die Telemetrieerfassung sicherzustellen. - Telemetrietypen, die unter
ExcludedTypes
aufgelistet werden, werden ausgeschlossen, selbst wenn sie auch unter denIncludedTypes
-Einstellungen festgelegt sind. ExcludedTypes hat Vorrang vor IncludedTypes.
Auf welchen Plattformen kann ich die Stichprobenerstellung verwenden?
- Die Stichprobenentnahme bei der Erfassung kann automatisch für alle Telemetriedaten über einem bestimmten Volumen erfolgen, wenn das SDK keine Stichproben durchführt. Diese Konfiguration würde z. B. funktionieren, wenn Sie eine ältere Version des ASP.NET-SDKs oder des Java-SDKs verwenden.
- Bei Verwendung des aktuellen ASP.NET-SDKs oder des ASP.NET Core-SDKs (gehostet entweder in Azure oder auf Ihrem eigenen Server) erhalten Sie standardmäßig die adaptive Stichprobenerstellung, aber Sie können wie vorgängig beschrieben zur Stichprobenentnahme mit fester Rate wechseln. Bei Stichprobenerstellung mit festem Prozentsatz wird das Browser-SDK automatisch mit stichprobenbezogenen Ereignissen synchronisiert.
- Bei Verwendung des aktuellen Java-Agents können Sie
applicationinsights.json
konfigurieren, um die Stichprobenerstellung mit festem Prozentsatz zu aktivieren. (Für das Java SDK mussApplicationInsights.xml
konfiguriert werden.) Stichprobenerstellung ist standardmäßig deaktiviert. Bei Stichprobenerstellung mit festem Prozentsatz werden das Browser-SDK und der Server automatisch mit stichprobenbezogenen Ereignissen synchronisiert.
Es gibt einige seltene Ereignisse, die ich immer untersuchen möchte. Wie kann ich sie am Stichprobenmodul vorbeibringen?
Die beste Möglichkeit, bestimmte Ereignisse immer anzuzeigen, besteht darin, einen benutzerdefinierten TelemetryInitializer zu schreiben, der den
SamplingPercentage
auf 100 für das Telemetriedatenelement festlegt, das Sie beibehalten möchten, wie im folgenden Beispiel gezeigt. Initialisierer werden garantiert vor den Prozessoren für Telemetriedaten (einschließlich der Stichprobenverarbeitung) ausgeführt, wodurch sichergestellt wird, dass alle Stichprobenverfahren dieses Element bei jeglichen Stichprobenüberlegungen ignorieren. Benutzerdefinierte Telemetrieinitialisierer sind im ASP.NET SDK, im ASP.NET Core SDK, im JavaScript SDK und im Java SDK verfügbar. Sie können beispielsweise einen Telemetrieinitialisierer mithilfe des ASP.NET SDK konfigurieren:public class MyTelemetryInitializer : ITelemetryInitializer { public void Initialize(ITelemetry telemetry) { if(somecondition) { ((ISupportSampling)telemetry).SamplingPercentage = 100; } } }
Ältere SDK-Versionen
Die adaptive Stichprobenerstellung ist für das Application Insights SDK für ASP.NET v2.0.0-beta3 und höher sowie für das Microsoft.ApplicationInsights.AspNetCore SDK v2.2.0-beta1 und höher verfügbar und standardmäßig aktiviert.
Die Stichprobenerstellung mit festem Prozentsatz ist ein Feature im ASP.NET SDK ab Version 2.0.0 und Java SDK ab Version 2.0.1.
Vor v2.5.0-beta2 des ASP.NET-SDKs und v2.2.0-Beta3 des ASP.NET Core-SDKs waren Entscheidungen zur Stichprobenentnahme für Anwendungen, die „Benutzer“ definieren (wie die meisten Webanwendungen), vom Hash der Benutzer-ID abhängig. Bei Anwendungen, die keine Benutzer definieren (z. B. Webdienste), basierte die Entscheidung auf der Vorgangs-ID der Anforderung. Aktuelle Versionen sowohl der ASP.NET- als auch der ASP.NET Core-SDKs verwenden jetzt die Vorgangs-ID für die Entscheidungen zur Stichprobenentnahme.
Nächste Schritte
- Filtern kann eine strengere Kontrolle über die von Ihrem SDK gesendeten Daten bieten.
- Lesen Sie den Developer Network-Artikel Optimieren von Telemetrie mit Application Insights.