Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Festplatten Zugriff monitoren (https://www.delphipraxis.net/135816-festplatten-zugriff-monitoren.html)

ENatter 18. Jun 2009 10:37


Festplatten Zugriff monitoren
 
Hallo Leute!

So nachdem die Suche nichts hergab, hier mein Post. Ich möchte ein Tool schreiben, das den Festplattenzugriff misst und protokolliert. Allerdings muss ich sagen, dass ich nicht mal wüsste wie man an die Daten rankäme.

Das einzige was ich gefunden habe, war das die Daten per Performance Data Helper API abgreifbar, wobei mir natürlich völlig unklar ist wie und was man da anzapfen könnte.

Wenn es ein Komponente geben würde, die das schon könnte wärs natürlich noch besser.

Jemand eine Idee?

Fridolin Walther 18. Jun 2009 10:42

Re: Festplatten Zugriff monitoren
 
Definiere messen und protokollieren. Reicht Dir der Gesamtdurchsatz, den Du einfach periodisch abrufen möchtest? Magst Du Daten in Echtzeit haben, die dann evtl. sogar auf Prozessebene aufgeschlüsselt sind?

himitsu 18. Jun 2009 10:44

Re: Festplatten Zugriff monitoren
 
Was willst du denn loggen?

schau mal nach MSDN-Library durchsuchenReadDirectoryChangesW/Hier im Forum suchenReadDirectoryChangesW

ansonsten bleibt dir nur ein Dateisystem-Filter-Treiber
und wenn du nahezu alle Zugriffe auf die Platte erhalten willst, dann bleiben dir nur 2 Wege:
- direkt ein eigener Hardwaretreiber, für den Zugriff auf die Platte oder zumindestens einen eigenen Trauber direkt nach den vorhandenen Hardwaretreiber einzuschleusen.

ENatter 18. Jun 2009 11:24

Re: Festplatten Zugriff monitoren
 
Vielen Dank schon mal für die Antworten. Ja ich möchte den aktuellen Durchsatz, also sprich den aktuellen Schreib/Lese-Zugriff, messen und daraus dann in einem Delphi-Programm diese mitschreiben und z.B. eine Graph zeichenen (wobei das ja nicht mein Problem ist :-)

Fridolin Walther 18. Jun 2009 12:32

Re: Festplatten Zugriff monitoren
 
Ja, PDH ist da mehr oder weniger der einfachste Ansatz. Eine Demonstration wie man PDH verwendet, kannst Du hier finden: http://w-shadow.com/blog/2009/04/17/per-core-cpu-usage/.

Prinzipiell müsstest Du nur den PDH Pfad anpassen. Die Werte im \PhysicalDisk Namespace sind für Dich wahrscheinlich am ehesten interessant. Wie sich die Pfade genau zusammensetzen inkl. einer ganzen Reihe an anderen Informationen findest Du hier: http://msdn.microsoft.com/en-us/libr...83(VS.85).aspx.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:48 Uhr.

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