Was ist die Geschichte von Leistungsindikatoren für .NET-Core?
Unter Windows, ist man in der Lage zu Lesen .NET-Leistungsindikatoren mit den folgenden:
- Performance Monitor
- C# mit
PerformanceCounter
- WMI und Abfragen .NET Verwandte Klassen
Angesichts der jüngsten Veröffentlichung .NET Core und die Tatsache, dass diese app läuft auch unter Linux, wie kann man den Zugriff auf .NET Verwandte Statistiken, die derzeit auf Windows?
- Ich glaube, es ist open source, so können Sie die Suche auf GitHub.
- es ist ein "Sind perf verfügbaren Indikatoren?" - Frage: github.com/aspnet/Home/issues/1319
- Es gibt nichts hindert Sie daran, dass die Nutzung von Windows-spezifischen Funktionen, wenn Sie auf Windows läuft. Sicher, die Abfrage von Leistungsindikatoren wird nicht funktionieren, wenn Sie ein Deployment auf Linux, aber wenn Sie nicht die Bereitstellung auf Linux, das ist unwichtig. Cross-Plattform ist groß, aber die Flexibilität ist sogar noch besser. Das weglassen von Funktionen zu erreichen, um eine ideale cross-Plattform-system nicht wirklich voran. Sie könnten den code selbst schreiben. Vielleicht wird jemand schreiben, ein Modul für Linux, die Windows-style-perf Counter.
- targeting nur Windows ist keine option, da muss ich auch cover Linux. Schreiben Sie den code selbst ist ein
costly
option, wenn man bedenkt, dass es erfordertC
- und/oderC++
Kompetenzen sind daher gefragt, diese Frage zu klären, ob es irgendeinen plan von Microsoft, um eine ähnliche Methode, das zu erreichen, was wir schon tun können, auf Windows. - Sie können auch abonnieren, um dieses Problem zu umgehen: github.com/dotnet/corefx/issues/9376, die kann oder kann nicht implementieren die performance-Counter-Infrastruktur für desktop-Kompatibilität, es ist gekennzeichnet als ein feature.
- Redhat trägt, ich würde gerne sehen, einige Verwendung von Leistungsindikatoren für Linux
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leistungsindikatoren sind nicht in Linux so nicht im NET Core. Erstellen Sie ein anderes "Voll-NET-basierte Hilfsprogramm" zu entlarven Leistungsindikatoren als service "NETTO-Core-Anwendung"
In der Windows Compatibility Pack für .NET Core wird Unterstützung für die Leistungsindikatoren
https://www.nuget.org/packages/Microsoft.Windows.Compatibility
https://blogs.msdn.microsoft.com/dotnet/2017/11/16/announcing-the-windows-compatibility-pack-for-net-core/
Natürlich, es ist nur ein Windows-feature.
Dieses Paket ist genau äquivalent .NET Framework Leistungsindikatoren und kann verwendet werden .NET-Core-apps unter Windows:
https://www.nuget.org/packages/System.Diagnostics.PerformanceCounter/