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.
Hinweis
Dies ist nicht die neueste Version dieses Artikels. Informationen zum aktuellen Release finden Sie in der .NET 9-Version dieses Artikels.
Warnung
Diese Version von ASP.NET Core wird nicht mehr unterstützt. Weitere Informationen finden Sie in der .NET- und .NET Core-Supportrichtlinie. Informationen zum aktuellen Release finden Sie in der .NET 9-Version dieses Artikels.
Von Bedeutung
Diese Informationen beziehen sich auf ein Vorabversionsprodukt, das vor der kommerziellen Freigabe möglicherweise noch wesentlichen Änderungen unterliegt. Microsoft gibt keine Garantie, weder ausdrücklich noch impliziert, hinsichtlich der hier bereitgestellten Informationen.
Informationen zum aktuellen Release finden Sie in der .NET 9-Version dieses Artikels.
Blazor ist für eine hohe Leistung in den realistischsten Anwendungs-UI-Szenarien optimiert. Die beste Leistung hängt jedoch davon ab, dass Entwickler die richtigen Muster und Features übernehmen.
Hinweis
Die Codebeispiele im Artikelknoten übernehmen nullable Referenztypen (NRTs) und die statische Analyse des Nullzustands des .NET-Compilers, die in ASP.NET Core ab .NET 6 oder höher unterstützt werden.
AOT-Kompilierung (Ahead-of-Time)
Die AOT-Kompilierung (Ahead-of-Time) kompiliert den .NET-Code einer Blazor App direkt zur direkten Ausführung durch den Browser in native WebAssembly. AOT-kompilierte Apps führen zu größeren Apps, die länger zum Herunterladen benötigen, aber AOT-kompilierte Apps bieten in der Regel eine bessere Laufzeitleistung, insbesondere für Apps, die CPU-intensive Aufgaben ausführen. Weitere Informationen finden Sie unter ASP.NET Core Blazor WebAssembly-Buildtools und AOT-Kompilierung (Ahead-of-Time).
Metriken und Nachverfolgung
Mithilfe von Metriken und Ablaufverfolgungsfunktionen können Sie die App-Leistung überwachen und diagnostizieren, Benutzerinteraktionen nachverfolgen und komponentenverhalten in Produktionsumgebungen verstehen.
Konfiguration
Um Blazor Metriken und Tracing in Ihrer App zu aktivieren, konfigurieren Sie OpenTelemetry mit den folgenden Zählern und Aktivitätsquellen in der Datei Program
der App, in der die Dienste registriert werden:
builder.Services.ConfigureOpenTelemetryMeterProvider(meterProvider =>
{
meterProvider.AddMeter("Microsoft.AspNetCore.Components");
meterProvider.AddMeter("Microsoft.AspNetCore.Components.Lifecycle");
meterProvider.AddMeter("Microsoft.AspNetCore.Components.Server.Circuits");
});
builder.Services.ConfigureOpenTelemetryTracerProvider(tracerProvider =>
{
tracerProvider.AddSource("Microsoft.AspNetCore.Components");
});
Leistungsmesser
Weitere Informationen zu den folgenden Leistungszählern finden Sie unter ASP.NET integrierten Core-Metriken.
Microsoft.AspNetCore.Components
Meter:
-
aspnetcore.components.navigation
: Verfolgt die Gesamtanzahl der Routenänderungen in der App. -
aspnetcore.components.event_handler
: Misst die Dauer der Verarbeitung von Browser-Ereignissen, einschließlich der Geschäftslogik.
Microsoft.AspNetCore.Components.Lifecycle
Meter:
-
aspnetcore.components.update_parameters
: Misst die Dauer der Verarbeitung von Komponentenparametern, einschließlich der Geschäftslogik. -
aspnetcore.components.render_diff
: Verfolgt die Dauer des Renderns von Batches.
Microsoft.AspNetCore.Components.Server.Circuits
Meter:
In serverseitigen Blazor Apps gehören zu den zusätzlichen Circuit-spezifischen Metriken:
-
aspnetcore.components.circuit.active
: Zeigt die Anzahl der aktiven Schaltkreise an, die sich derzeit im Arbeitsspeicher befinden. -
aspnetcore.components.circuit.connected
: Verfolgt die Anzahl der mit Clients verbundenen Schaltkreise. -
aspnetcore.components.circuit.duration
: Misst die Dauer der Circuit-Lebensdauer und liefert die Gesamtzahl der Circuits.
Blazor Tracing
Weitere Informationen zu den folgenden Tracing-Aktivitäten finden Sie unter Integrierte Metriken für ASP.NET Core.
Die neuen Funktionen für die Aktivitätsablaufverfolgung verwenden die Microsoft.AspNetCore.Components
Aktivitätsquelle und stellen drei Haupttypen von Ablaufverfolgungsaktivitäten bereit: Schaltkreislebenszyklus, Navigation und Ereignisbehandlung.
Ablaufverfolgung des Lebenszyklus von Schaltkreisen:
Microsoft.AspNetCore.Components.CircuitStart
: Protokolliert die Initialisierung des Schaltkreises im Format Circuit {circuitId}
.
- Etikett:
aspnetcore.components.circuit.id
- Link: HTTP-Aktivität
Navigations-Tracing:
Microsoft.AspNetCore.Components.RouteChange
: Verfolgt Routenänderungen mit dem Format Route {route} -> {componentType}
.
- Schilder
aspnetcore.components.circuit.id
aspnetcore.components.route
aspnetcore.components.type
- Verknüpfungen
- HTTP-Ablaufverfolgung
- Circuit-Trace
Tracing der Ereignisbehandlung:
Microsoft.AspNetCore.Components.HandleEvent
: Tracing der Ereignisbehandlung mit dem Format Event {attributeName} -> {componentType}.{methodName}
.
- Schilder
aspnetcore.components.attribute.name
aspnetcore.components.circuit.id
aspnetcore.components.method
aspnetcore.components.type
error.type
- Verknüpfungen
- HTTP-Ablaufverfolgung
- Circuit-Trace
- Router Tracing