Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Performance Counter und die Sprachabhängigkeit :-( (https://www.delphipraxis.net/154966-performance-counter-und-die-sprachabhaengigkeit.html)

moelski 3. Okt 2010 19:37

Performance Counter und die Sprachabhängigkeit :-(
 
Moin !

Ich habe hier einen Blog eintrag gefunden der eine ganz nette Sache beschreibt. Und zwar das Auslesen der CPU Last pro Core.
http://w-shadow.com/blog/2009/04/17/per-core-cpu-usage/

Funktioniert super - solange man ein englisches System nutzt. :?
Denn die Performance Counter werden - zumindest in dem Code - als String gesucht. Und das scheint sprachabhängig zu sein.

Delphi-Quellcode:
    status := PdhExpandWildCardPath(
      nil,                                 //search the local computer
      PWideChar('\Processor(*/*#*)\% Processor Time'), //we want CPU usage counters for all CPUs/cores
      pPaths,                              //user-allocated buffer; currently null
      dwSize,                              //buffer size
      0) ;                                 //no flags
Das geht nur auf einem englischen System und auf einem deutschen muss es so aussehen:
Delphi-Quellcode:
    status := PdhExpandWildCardPath(
      nil,                                 //search the local computer
      PWideChar('\Prozessor(*/*#*)\Prozessorzeit (%)'), //we want CPU usage counters for all CPUs/cores
      pPaths,                              //user-allocated buffer; currently null
      dwSize,                              //buffer size
      0) ;                                 //no flags
Das ist natürlich enorm unschön und unflexibel.

Kann man die Performance Counter auch sprachunabhängig abfragen?

Zacherl 4. Okt 2010 03:08

AW: Performance Counter und die Sprachabhängigkeit :-(
 
Schau dir mal diese Unit an:
http://www.aldyn.ru/products/cpu_usage/index.html

Damit müsste es gehen denke ich.

himitsu 4. Okt 2010 07:45

AW: Performance Counter und die Sprachabhängigkeit :-(
 
In HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib hab ich einmal einen Unterschlüssel in lokaler Spracher und dann auch noch einen englischen Unterschlüssel. (Win XP ... wo anders hab'sch jetzt auf die Schnelle nicht gesucht)

Eventuell auch mal in die WMI-Klasse Win32_PerfRawData_PerfOS_Processor reinschauen.

moelski 4. Okt 2010 07:53

AW: Performance Counter und die Sprachabhängigkeit :-(
 
Moin !

Heute morgen mit meinem Kollegen gesprochen. Und der hatte eine Idee :)

Man kann sich einen Index holen der immer gleich ist:
PdhLookupPerfIndexByName

Und den Index kann man auch zurück übersetzen in einen String:
PdhLookupPerfNameByIndexA

Ich werde damit mal testen. Berichte wenn ich was brauchbares erzeugt habe :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz