Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Rozhraní Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitor a související rozhraní API jsou zastaralá počínaje rozhraním .NET 9. Tato rozhraní API budou odebrána v budoucí verzi. Funkce monitorování prostředků byla nahrazena efektivnějším přístupem založeným na metrikách pomocí pozorovatelných nástrojů.
Následující rozhraní API jsou označena zastaralá. Použití těchto rozhraní API generuje upozornění EXTOBS0001 v době kompilace.
- IResourceMonitor
- ResourceMonitoringOptions.CollectionWindow
- ResourceMonitoringOptions.SamplingInterval
- ResourceMonitoringBuilderExtensions
- ResourceUtilization
- IResourceMonitorBuilder
- IResourceUtilizationPublisher
- ISnapshotProvider
- Snapshot
- SystemResources
- ResourceMonitoringServiceCollectionExtensions.AddResourceMonitoring(IServiceCollection, Action<IResourceMonitorBuilder>)
Alternativní řešení
Místo použití IResourceMonitor přejděte k používání metrik pro monitorování prostředků za použití pozorovatelných nástrojů. Přístup založený na metrikách poskytuje stejné informace o využití prostředků (procesor, paměť), ale lépe se integruje s moderními systémy pozorovatelnosti, jako je OpenTelemetry.
Příklad migrace
Starý přístup pomocí IResourceMonitor:
services.AddResourceMonitoring();
// Inject and use IResourceMonitor
public class MyService
{
private readonly IResourceMonitor _resourceMonitor;
public MyService(IResourceMonitor resourceMonitor)
{
_resourceMonitor = resourceMonitor;
}
public void CheckResources()
{
var utilization = _resourceMonitor.GetUtilization(TimeSpan.FromSeconds(1));
Console.WriteLine($"CPU: {utilization.CpuUsedPercentage}%");
Console.WriteLine($"Memory: {utilization.MemoryUsedPercentage}%");
}
}
Nový přístup s využitím metrik:
services.AddResourceMonitoring();
// Configure metrics collection.
services.AddOpenTelemetry()
.WithMetrics(builder =>
{
builder.AddMeter("Microsoft.Extensions.Diagnostics.ResourceMonitoring");
builder.AddConsoleExporter();
});
Metriky monitorování prostředků se publikují automaticky a dají se využívat libovolným kanálem metrik kompatibilním s OpenTelemetry. Další informace najdete v metrikáchMicrosoft.Extensions.Diagnostics.ResourceMonitoring.
Potlačte upozornění
Pokud musíte použít zastaralá rozhraní API, můžete potlačit upozornění v kódu nebo v souboru projektu.
Chcete-li potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, které chcete zakázat a znovu povolit upozornění.
// Disable the warning.
#pragma warning disable EXTOBS0001
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore EXTOBS0001
Pokud chcete potlačit všechna EXTOBS0001 upozornění v projektu, přidejte <NoWarn> do souboru projektu vlastnost.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);EXTOBS0001</NoWarn>
</PropertyGroup>
</Project>
Další informace naleznete v tématu Potlačení upozornění.