--- a/Win32OperatingSystem.st Tue Oct 23 15:58:32 2007 +0200
+++ b/Win32OperatingSystem.st Tue Oct 23 16:42:08 2007 +0200
@@ -10507,26 +10507,33 @@
self processor interruptsPerSecond.
self processor interruptsPerSecondFromLast.
+ self process getCounterNameIndexArray.
+ self process processUsage.
+ self process processUsageFromLast.
+ self process runningProcesses.
+ self process runningProcessNameList.
+
+ self network getCounterNameIndexArray.
+ self network kBytesReceivedPerSecond.
+ self network kBytesReceivedPerSecondFromLast.
+ self network kBytesSentPerSecond.
+ self network kBytesSentPerSecondFromLast.
+
+ self memory getCounterNameIndexArray.
+ self memory availableMBytes.
+ self memory availableKBytes.
+
self diskIO getCounterNameIndexArray.
self diskIO diskSpaceFreeInMegaByte.
self diskIO diskQueueLength.
self diskIO diskTransfersPerSecond.
+ self diskIO diskTransfersPerSecondFromlast.
self diskIO diskReadsPerSecond.
+ self diskIO diskReadsPerSecondFromLast.
self diskIO diskWritesPerSecond.
+ self diskIO diskWritesPerSecondFromLast.
self diskIO diskBytesPerSecond.
-
- self process getCounterNameIndexArray.
- self process processUsage.
- self process runningProcesses.
- self process runningProcessNameList.
-
- self memory getCounterNameIndexArray.
- self memory availableMBytes.
- self memory availableKBytes.
-
- self network getCounterNameIndexArray.
- self network kBytesReceivedPerSecond.
- self network kBytesSentPerSecond.
+ self diskIO diskBytesPerSecondFromLast.
"
! !
@@ -11058,6 +11065,24 @@
!Win32OperatingSystem::PerformanceData::Abstract methodsFor:'queries - timed'!
+getPerSecondFromLast:aSelector
+ |cachedResult return|
+
+ cachedResult := self cachedResults at:aSelector ifAbsent:nil.
+ cachedResult notNil ifTrue:[
+ |currentResult|
+
+ currentResult := self perform:aSelector.
+ return := self getPerSecondViaResult1:cachedResult result2:currentResult.
+
+ self cachedResults at:aSelector put:currentResult.
+ ] ifFalse:[
+ self cachedResults at:aSelector put:(self perform:aSelector).
+ ].
+
+ ^ return
+!
+
getPerSecondViaPerformBlock:performBlock
|result1 result2 runTimeInNS runTimeInS values1 values2 globalResult|
@@ -11116,6 +11141,24 @@
^ globalResult
!
+getUsageFromLast:aSelector
+ |cachedResult return|
+
+ cachedResult := self cachedResults at:aSelector ifAbsent:nil.
+ cachedResult notNil ifTrue:[
+ |currentResult|
+
+ currentResult := self perform:aSelector.
+ return := self getUsageViaResult1:cachedResult result2:currentResult.
+
+ self cachedResults at:aSelector put:currentResult.
+ ] ifFalse:[
+ self cachedResults at:aSelector put:(self perform:aSelector).
+ ].
+
+ ^ return
+!
+
getUsageViaPerformBlock:performBlock
|result1 result2 deltaTIn100Ns value1 value2 globalResult|
@@ -11338,6 +11381,14 @@
"
!
+diskBytesBasic
+ ^ self getBasicValuesByCounter:218 timed:true
+
+ "
+ self current diskBytesBasic
+ "
+!
+
diskBytesPerSecond
^ self getPerSecondViaPerformBlock:[self diskBytes]
@@ -11346,6 +11397,14 @@
"
!
+diskBytesPerSecondFromLast
+ ^ self getPerSecondFromLast:#diskBytesBasic
+
+ "
+ self current diskBytesPerSecondFromLast
+ "
+!
+
diskQueueLength
^ self getValuesByCounter:198
@@ -11362,6 +11421,14 @@
"
!
+diskReadBasic
+ ^ self getBasicValuesByCounter:214 timed:true
+
+ "
+ self current diskReadBasic
+ "
+!
+
diskReadsPerSecond
^ self getPerSecondViaPerformBlock:[self diskRead]
@@ -11370,6 +11437,14 @@
"
!
+diskReadsPerSecondFromLast
+ ^ self getPerSecondFromLast:#diskReadBasic
+
+ "
+ self current diskReadsPerSecondFromLast
+ "
+!
+
diskSpaceFreeInMegaByte
^ self getValuesByCounter:408
@@ -11386,6 +11461,14 @@
"
!
+diskTransfersBasic
+ ^ self getBasicValuesByCounter:212 timed:true
+
+ "
+ self current diskTransfersBasic
+ "
+!
+
diskTransfersPerSecond
^ self getPerSecondViaPerformBlock:[self diskTransfers]
@@ -11394,6 +11477,14 @@
"
!
+diskTransfersPerSecondFromlast
+ ^ self getPerSecondFromLast:#diskTransfersBasic
+
+ "
+ self current diskTransfersPerSecondFromlast
+ "
+!
+
diskWrite
^ self getValuesByCounter:216 timed:true
@@ -11402,12 +11493,28 @@
"
!
+diskWriteBasic
+ ^ self getBasicValuesByCounter:216 timed:true
+
+ "
+ self current diskWriteBasic
+ "
+!
+
diskWritesPerSecond
^ self getPerSecondViaPerformBlock:[self diskWrite]
"
self current diskWritesPerSecond
"
+!
+
+diskWritesPerSecondFromLast
+ ^ self getPerSecondFromLast:#diskWriteBasic
+
+ "
+ self current diskWritesPerSecondFromLast
+ "
! !
!Win32OperatingSystem::PerformanceData::Global class methodsFor:'accessing'!
@@ -11529,6 +11636,14 @@
"
!
+bytesReceivedBasic
+ ^ self getBasicValuesByCounter:264 timed:true
+
+ "
+ self current bytesReceivedBasic
+ "
+!
+
bytesReceivedPerSecond
^ self getPerSecondViaPerformBlock:[self bytesReceived]
@@ -11537,6 +11652,14 @@
"
!
+bytesReceivedPerSecondFromlast
+ ^ self getPerSecondFromLast:#bytesReceivedBasic
+
+ "
+ self current bytesReceivedPerSecondFromlast
+ "
+!
+
bytesSent
^ self getValuesByCounter:506 timed:true
@@ -11545,6 +11668,14 @@
"
!
+bytesSentBasic
+ ^ self getBasicValuesByCounter:506 timed:true
+
+ "
+ self current bytesSentBasic
+ "
+!
+
bytesSentPerSecond
^ self getPerSecondViaPerformBlock:[self bytesSent]
@@ -11553,6 +11684,14 @@
"
!
+bytesSentPerSecondFromlast
+ ^ self getPerSecondFromLast:#bytesSentBasic
+
+ "
+ self current bytesSentPerSecondFromlast
+ "
+!
+
kBytesReceivedPerSecond
|modifiedDictionary|
@@ -11569,6 +11708,25 @@
"
!
+kBytesReceivedPerSecondFromLast
+ |return modifiedDictionary|
+
+ return := self bytesReceivedPerSecondFromlast.
+ return isNil ifTrue:[^ nil].
+
+ modifiedDictionary := Dictionary new.
+
+ return keysAndValuesDo:[:key :value|
+ modifiedDictionary at:key put:(value / 1024).
+ ].
+
+ ^ modifiedDictionary
+
+ "
+ self current kBytesReceivedPerSecondFromLast
+ "
+!
+
kBytesSentPerSecond
|modifiedDictionary|
@@ -11583,6 +11741,25 @@
"
self current kBytesSentPerSecond
"
+!
+
+kBytesSentPerSecondFromLast
+ |return modifiedDictionary|
+
+ return := self bytesSentPerSecondFromlast.
+ return isNil ifTrue:[^ nil].
+
+ modifiedDictionary := Dictionary new.
+
+ return keysAndValuesDo:[:key :value|
+ modifiedDictionary at:key put:(value / 1024).
+ ].
+
+ ^ modifiedDictionary
+
+ "
+ self current kBytesSentPerSecondFromLast
+ "
! !
!Win32OperatingSystem::PerformanceData::Process class methodsFor:'accessing'!
@@ -11616,6 +11793,14 @@
"
!
+processTimeBasic
+ ^ self getBasicValuesByCounter:6 timed:true
+
+ "
+ self current processTimeBasic
+ "
+!
+
processUsage
|modifiedDictionary|
@@ -11632,6 +11817,25 @@
"
!
+processUsageFromLast
+ |return modifiedDictionary|
+
+ return := self getUsageFromLast:#processTimeBasic.
+ return isNil ifTrue:[^ nil].
+
+ modifiedDictionary := Dictionary new.
+
+ return keysAndValuesDo:[:key :value|
+ modifiedDictionary at:key put:(100 - value).
+ ].
+
+ ^ modifiedDictionary
+
+ "
+ self current processUsageFromLast
+ "
+!
+
runningProcessNameList
"_Total ~ pseudo process; Idle ~ pseudo process represents the free resources"
^ (self data objectArray first at:#Instances) collect:[:el|el at:#Name]
@@ -11685,7 +11889,7 @@
^ self getBasicValuesByCounter:148 timed:true
"
- self current interruptsBasic
+ self current interruptsBasic
"
!
@@ -11698,21 +11902,7 @@
!
interruptsPerSecondFromLast
- |cachedResult return|
-
- cachedResult := self cachedResults at:#interruptsPerSecondFromLast ifAbsent:nil.
- cachedResult notNil ifTrue:[
- |currentResult|
-
- currentResult := self interruptsBasic.
- return := self getPerSecondViaResult1:cachedResult result2:currentResult.
-
- self cachedResults at:#interruptsPerSecondFromLast put:currentResult.
- ] ifFalse:[
- self cachedResults at:#interruptsPerSecondFromLast put:self interruptsBasic.
- ].
-
- ^ return
+ ^ self getPerSecondFromLast:#interruptsBasic
"
self current interruptsPerSecondFromLast
@@ -11744,24 +11934,10 @@
!
processorUsageFromLast
- |cachedResult return|
-
- cachedResult := self cachedResults at:#processorUsageFromLast ifAbsent:nil.
- cachedResult notNil ifTrue:[
- |currentResult|
-
- currentResult := self processorTimeBasic.
- return := self getUsageViaResult1:cachedResult result2:currentResult.
-
- self cachedResults at:#processorUsageFromLast put:currentResult.
- ] ifFalse:[
- self cachedResults at:#processorUsageFromLast put:self processorTimeBasic.
- ].
-
- ^ return
-
- "
- self current processorUsageFromLast
+ ^ self getUsageFromLast:#processorTimeBasic
+
+ "
+ self current processorUsageFromLast
"
! !
@@ -14682,7 +14858,7 @@
!Win32OperatingSystem class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.317 2007-10-23 13:58:32 sr Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.318 2007-10-23 14:42:08 sr Exp $'
! !
Win32OperatingSystem initialize!