botanic Posted July 25, 2008 Share Posted July 25, 2008 (edited) how can i get the current disk read write? Edited July 25, 2008 by botanic Link to comment Share on other sites More sharing options...
PsaltyDS Posted July 25, 2008 Share Posted July 25, 2008 how can i get the current disk read write?If diskperf is turned on, you should be able to get stats from WMI. Use Scriptomatic to find the object you need (i.e. Win32_PerfRawData_PerfDisk_PhysicalDisk). Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
botanic Posted July 25, 2008 Author Share Posted July 25, 2008 (edited) ok i tried using this just im not getting any data returned :/ expandcollapse popupFunc _ComputerGetDisk(ByRef $aDiskInfo) Local $colItems, $objWMIService, $objItem Dim $aDiskInfo[1][21], $i = 1 $objWMIService = ObjGet("winmgmts:\\" & $cI_Compname & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PerfFormattedData_PerfDisk_LogicalDisk", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) Then For $objItem In $colItems ReDim $aDiskInfo[UBound($aDiskInfo) + 1][21] $aDiskInfo[$i][0] = $objItem.Name $aDiskInfo[$i][1] = $objItem.AvgDiskBytesPerRead $aDiskInfo[$i][2] = $objItem.AvgDiskBytesPerTransfer $aDiskInfo[$i][3] = $objItem.AvgDiskBytesPerWrite $aDiskInfo[$i][4] = $objItem.AvgDiskQueueLength $aDiskInfo[$i][5] = $objItem.AvgDiskReadQueueLength $aDiskInfo[$i][6] = $objItem.AvgDisksecPerRead $aDiskInfo[$i][7] = $objItem.AvgDisksecPerTransfer $aDiskInfo[$i][8] = $objItem.AvgDisksecPerWrite $aDiskInfo[$i][9] = $objItem.AvgDiskWriteQueueLength $aDiskInfo[$i][10] = $objItem.Caption $aDiskInfo[$i][11] = $objItem.CurrentDiskQueueLength $aDiskInfo[$i][12] = $objItem.Description $aDiskInfo[$i][13] = $objItem.DiskBytesPersec $aDiskInfo[$i][14] = $objItem.DiskReadBytesPersec $aDiskInfo[$i][15] = $objItem.DiskReadsPersec $aDiskInfo[$i][16] = $objItem.DiskTransfersPersec $aDiskInfo[$i][17] = $objItem.DiskWriteBytesPersec $aDiskInfo[$i][18] = $objItem.DiskWritesPersec $aDiskInfo[$i][19] = $objItem.FreeMegabytes $aDiskInfo[$i][20] = $objItem.Frequency_Object $aDiskInfo[$i][21] = $objItem.Frequency_PerfTime $aDiskInfo[$i][22] = $objItem.Frequency_Sys100NS $aDiskInfo[$i][23] = $objItem.Name $aDiskInfo[$i][24] = $objItem.PercentDiskReadTime $aDiskInfo[$i][25] = $objItem.PercentDiskTime $aDiskInfo[$i][26] = $objItem.PercentDiskWriteTime $aDiskInfo[$i][27] = $objItem.PercentFreeSpace $aDiskInfo[$i][28] = $objItem.PercentIdleTime $aDiskInfo[$i][29] = $objItem.SplitIOPerSec $aDiskInfo[$i][30] = $objItem.Timestamp_Object $aDiskInfo[$i][31] = $objItem.Timestamp_PerfTime $aDiskInfo[$i][32] = $objItem.Timestamp_Sys100NS $i += 1 Next $aDiskInfo[0][0] = UBound($aDiskInfo) - 1 If $aDiskInfo[0][0] < 1 Then SetError(1, 1, 0) EndIf Else SetError(1, 2, 0) EndIf EndFuncoÝ÷ Ú׬¶Ç+ZºÚ"µÍÚ[ÛYH ][ÝÐÛÛ[Ë]LÉ][ÝÂ[H ÌÍÙÚÂÐÛÛ]Ù]ÚÊ ÌÍÙÚÊBÙÐÞ ][ÝÉ][ÝË ÌÍÙÚÖÌVÌMWJ not getting any errors ;/ Edited July 25, 2008 by botanic Link to comment Share on other sites More sharing options...
PsaltyDS Posted July 25, 2008 Share Posted July 25, 2008 (edited) ok i tried using this just im not getting any data returned :/not getting any errors ;/You'll have to use a "Refresher" with time-based Perf data. Look inside my _ProcessListProperties() UDF for an example, and do some Googling on it. Edited July 25, 2008 by PsaltyDS Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
botanic Posted July 25, 2008 Author Share Posted July 25, 2008 ok i managed to get data returned in the form of a 0... and how would i get the refresher working? i just added it onto the end of compinfo.au3 expandcollapse popup#Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_outfile=..\My Documents\Profile.exe #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include "C:\Program Files\AutoIt3\Include\CompInfo.au3" Global $total, $total1, $total2 While 1 Dim $Processors _ComputerGetProcessors($Processors) $total2 = 0 For $i = 1 To $Processors[0][0] Step 1 $total2 = $total2 + $Processors[$i][21] Next Dim $OSs IniWrite("C:\Profile.ini", @MON &"/"&@MDAY&"/"& @YEAR &" "& @HOUR&":"&@MIN,"Load Percentage: ", ($total2/$Processors[0][0]) & "%" ) _ComputerGetOSs($OSs) For $i = 1 To $OSs[0][0] Step 1 $total = $total + $OSs[$i][20] Next Dim $Memory _ComputerGetMemory($Memory) For $i = 1 To $Memory[0][0] Step 1 $total1 = $total1 + $Memory[$i][2] Next $total1 = $total1/1024 $total = $total1-$total iniWrite("C:\Profile.ini", @MON &"/"&@MDAY&"/"& @YEAR &" "& @HOUR&":"&@MIN,"Memory used: ", $total&"/"&$total1 &" "& StringLeft(100*(($total)/$total1),2) & "%" ) Dim $disk _ComputerGetDisk($disk) For $i = 1 To $disk[0][0] Step 1 IniWrite("C:\Profile.ini", @MON &"/"&@MDAY&"/"& @YEAR &" "& @HOUR&":"&@MIN,$disk[$i][22]&" Average Disk Queue Length: ", $disk[$i][4] ) IniWrite("C:\Profile.ini", @MON &"/"&@MDAY&"/"& @YEAR &" "& @HOUR&":"&@MIN,$disk[$i][22]&" Current Disk Queue Length: ", $disk[$i][11] ) IniWrite("C:\Profile.ini", @MON &"/"&@MDAY&"/"& @YEAR &" "& @HOUR&":"&@MIN,$disk[$i][22]&" Percent Disk Time: ", $disk[$i][24] ) IniWrite("C:\Profile.ini", @MON &"/"&@MDAY&"/"& @YEAR &" "& @HOUR&":"&@MIN,$disk[$i][22]&" Disk Bytes Per Sec: ", $disk[$i][13] ) Next FileWrite("C:\Profile.ini",@CR) Sleep(60000) WEndoÝ÷ Ù§]yÚ'¶ayéÝ¡÷(§~®Ý«¢+ÙÕ¹} ½µÁÕÑÉѥͬ¡ åIÀÌØí¥Í%¹¼¤(%1½°ÀÌØí½±%ѵ̰ÀÌØí½©]5%MÉÙ¥°ÀÌØí½©%Ñ´(%¥´ÀÌØí¥Í%¹½lÅulÈÅt°ÀÌØí¤ôÄ($($ÀÌØí½©]5%MÉÙ¥ô=©Ð ÅÕ½ÐíÝ¥¹µµÑÌèÀäÈìÀäÈìÅÕ½ÐìµÀìÀÌØí%} ½µÁ¹µµÀìÅÕ½ÐìÀäÈíɽ½ÐÀäÈí %5XÈÅÕ½Ðì¤($ÀÌØí½±%ѵÌôÀÌØí½©]5%MÉÙ¥¹áEÕÉä ÅÕ½ÐíM1 P¨I=4]¥¸ÌÉ}AɽɵÑÑÑ}AÉ¥Í}A¡åÍ¥±¥Í¬ÅÕ½Ðì°ÅÕ½Ðí]E0ÅÕ½Ðì°ÀÌØíݵ±IÑÕɹ%µµ¥Ñ±ä¬ÀÌØíݵ±½ÉÝÉ=¹±ä¤($(%%%Í=¨ ÀÌØí½±%ѵ̤Q¡¸($%½ÈÀÌØí½©%Ñ´%¸ÀÌØí½±%ѵÌ($$%I¥´ÀÌØí¥Í%¹½mU ½Õ¹ ÀÌØí¥Í%¹¼¤¬ÅulÌÅt($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÁtôÀÌØí½©%Ñ´¹9µ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÅtôÀÌØí½©%Ñ´¹Ù¥Í åÑÍAÉI($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÉtôÀÌØí½©%Ñ´¹Ù¥Í åÑÍAÉQɹÍÈ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÍtôÀÌØí½©%Ñ´¹Ù¥Í åÑÍAÉ]É¥Ñ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÑtôÀÌØí½©%Ñ´¹Ù¥ÍEÕÕ1¹Ñ ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÕtôÀÌØí½©%Ñ´¹Ù¥ÍIEÕÕ1¹Ñ ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÙtôÀÌØí½©%Ñ´¹Ù¥ÍÍAÉI($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÝtôÀÌØí½©%Ñ´¹Ù¥ÍÍAÉQɹÍÈ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulátôÀÌØí½©%Ñ´¹Ù¥ÍÍAÉ]É¥Ñ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulåtôÀÌØí½©%Ñ´¹Ù¥Í]É¥ÑEÕÕ1¹Ñ ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÄÁtôÀÌØí½©%Ñ´¹ ÁÑ¥½¸($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÄÅtôÀÌØí½©%Ñ´¹ ÕÉɹѥÍEÕÕ1¹Ñ ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÄÉtôÀÌØí½©%Ñ´¹ÍÉ¥ÁÑ¥½¸($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÄÍtôÀÌØí½©%Ñ´¹¥Í åÑÍAÉÍ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÄÑtôÀÌØí½©%Ñ´¹¥ÍI åÑÍAÉÍ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÄÕtôÀÌØí½©%Ñ´¹¥ÍIÍAÉÍ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÄÙtôÀÌØí½©%Ñ´¹¥ÍQɹÍÉÍAÉÍ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÄÝtôÀÌØí½©%Ñ´¹¥Í]É¥Ñ åÑÍAÉÍ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÄátôÀÌØí½©%Ñ´¹¥Í]É¥ÑÍAÉÍ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÄåtôÀÌØí½©%Ñ´¹ÉÅÕ¹å}=©Ð($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÈÁtôÀÌØí½©%Ñ´¹ÉÅÕ¹å}AÉQ¥µ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÈÅtôÀÌØí½©%Ñ´¹ÉÅÕ¹å}MåÌÄÀÁ9L($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÈÉtôÀÌØí½©%Ñ´¹9µ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÈÍtôÀÌØí½©%Ñ´¹AɹѥÍIQ¥µ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÈÑtôÀÌØí½©%Ñ´¹AɹѥÍQ¥µ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÈÕtôÀÌØí½©%Ñ´¹AɹѥÍ]É¥ÑQ¥µ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÈÙtôÀÌØí½©%Ñ´¹AɹÑ%±Q¥µ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÈÝtôÀÌØí½©%Ñ´¹MÁ±¥Ñ%=AÉM($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÈátôÀÌØí½©%Ñ´¹Q¥µÍѵÁ}=©Ð($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÈåtôÀÌØí½©%Ñ´¹Q¥µÍѵÁ}AÉQ¥µ($$$ÀÌØí¥Í%¹½lÀÌØí¥ulÌÁtôÀÌØí½©%Ñ´¹Q¥µÍѵÁ}MåÌÄÀÁ9L($$$$$ÀÌØí¤¬ôÄ($%9áÐ($$ÀÌØí¥Í%¹½lÁulÁtôU ½Õ¹ ÀÌØí¥Í%¹¼¤´Ä($%%ÀÌØí¥Í%¹½lÁulÁt±ÐìÄQ¡¸($$%MÑÉÉ½È Ä°Ä°À¤($%¹%(%±Í($%MÑÉÉ½È Ä°È°À¤(%¹%)¹Õ¹ Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now