CounterSample コンストラクタ (Int64, Int64, Int64, Int64, Int64, Int64, PerformanceCounterType, Int64)
アセンブリ: System (system.dll 内)

Public Sub New ( _ rawValue As Long, _ baseValue As Long, _ counterFrequency As Long, _ systemFrequency As Long, _ timeStamp As Long, _ timeStamp100nSec As Long, _ counterType As PerformanceCounterType, _ counterTimeStamp As Long _ )
Dim rawValue As Long Dim baseValue As Long Dim counterFrequency As Long Dim systemFrequency As Long Dim timeStamp As Long Dim timeStamp100nSec As Long Dim counterType As PerformanceCounterType Dim counterTimeStamp As Long Dim instance As New CounterSample(rawValue, baseValue, counterFrequency, systemFrequency, timeStamp, timeStamp100nSec, counterType, counterTimeStamp)
public CounterSample ( long rawValue, long baseValue, long counterFrequency, long systemFrequency, long timeStamp, long timeStamp100nSec, PerformanceCounterType counterType, long counterTimeStamp )
public: CounterSample ( long long rawValue, long long baseValue, long long counterFrequency, long long systemFrequency, long long timeStamp, long long timeStamp100nSec, PerformanceCounterType counterType, long long counterTimeStamp )
public CounterSample ( long rawValue, long baseValue, long counterFrequency, long systemFrequency, long timeStamp, long timeStamp100nSec, PerformanceCounterType counterType, long counterTimeStamp )
public function CounterSample ( rawValue : long, baseValue : long, counterFrequency : long, systemFrequency : long, timeStamp : long, timeStamp100nSec : long, counterType : PerformanceCounterType, counterTimeStamp : long )
- rawValue
パフォーマンス カウンタのサンプルに関連付けられている数値。


Dim myPerformanceCounter1 As New PerformanceCounter("Processor", _ "% Processor Time", "0") Dim myCounterSample1 As New CounterSample(10&, 20&, 30&, 40&, 50&, 60&, _ PerformanceCounterType.AverageCount64) Console.WriteLine("CounterTimeStamp = " & myCounterSample1.CounterTimeStamp) Console.WriteLine("BaseValue = " & myCounterSample1.BaseValue) Console.WriteLine("RawValue = " & myCounterSample1.RawValue) Console.WriteLine("CounterFrequency = " & myCounterSample1.CounterFrequency) Console.WriteLine("SystemFrequency = " & myCounterSample1.SystemFrequency) Console.WriteLine("TimeStamp = " & myCounterSample1.TimeStamp) Console.WriteLine("TimeStamp100nSec = " & myCounterSample1.TimeStamp100nSec) Console.WriteLine("CounterType = " & myCounterSample1.CounterType.ToString) ' Hold the results of sample. myCounterSample1 = myPerformanceCounter1.NextSample() Console.WriteLine("BaseValue = " & myCounterSample1.BaseValue) Console.WriteLine("RawValue = " & myCounterSample1.RawValue) Console.WriteLine("CounterFrequency = " & myCounterSample1.CounterFrequency) Console.WriteLine("SystemFrequency = " & myCounterSample1.SystemFrequency) Console.WriteLine("TimeStamp = " & myCounterSample1.TimeStamp) Console.WriteLine("TimeStamp100nSec = " & myCounterSample1.TimeStamp100nSec) Console.WriteLine("CounterType = " & myCounterSample1.CounterType.ToString) <br /><span space="preserve">...</span><br /> Dim myPerformanceCounter2 As New PerformanceCounter("Processor", _ "% Processor Time", "0") Dim myCounterSample2 As New CounterSample(10&, 20&, 30&, 40&, 50&, 60&, _ PerformanceCounterType.AverageCount64, 300) Console.WriteLine("CounterTimeStamp = " & myCounterSample2.CounterTimeStamp) Console.WriteLine("BaseValue = " & myCounterSample2.BaseValue) Console.WriteLine("RawValue = " & myCounterSample2.RawValue) Console.WriteLine("CounterFrequency = " & myCounterSample2.CounterFrequency) Console.WriteLine("SystemFrequency = " & myCounterSample2.SystemFrequency) Console.WriteLine("TimeStamp = " & myCounterSample2.TimeStamp) Console.WriteLine("TimeStamp100nSec = " & myCounterSample2.TimeStamp100nSec) Console.WriteLine("CounterType = " & myCounterSample2.CounterType.ToString) Console.WriteLine("CounterTimeStamp = " & myCounterSample2.CounterTimeStamp) ' Hold the results of sample. myCounterSample2 = myPerformanceCounter2.NextSample() Console.WriteLine("BaseValue = " & myCounterSample2.BaseValue) Console.WriteLine("RawValue = " & myCounterSample2.RawValue) Console.WriteLine("CounterFrequency = " & myCounterSample2.CounterFrequency) Console.WriteLine("SystemFrequency = " & myCounterSample2.SystemFrequency) Console.WriteLine("TimeStamp = " & myCounterSample2.TimeStamp) Console.WriteLine("TimeStamp100nSec = " & myCounterSample2.TimeStamp100nSec) Console.WriteLine("CounterType = " & myCounterSample2.CounterType.ToString) Console.WriteLine("CounterTimeStamp = " & myCounterSample2.CounterTimeStamp)
PerformanceCounter myPerformanceCounter1 = new PerformanceCounter ("Processor","% Processor Time", "0"); CounterSample myCounterSample1 = new CounterSample(10L, 20L, 30L, 40L, 50L, 60L, PerformanceCounterType.AverageCount64); Console.WriteLine("CounterTimeStamp = "+myCounterSample1.CounterTimeStamp); Console.WriteLine("BaseValue = "+myCounterSample1.BaseValue); Console.WriteLine("RawValue = "+myCounterSample1.RawValue); Console.WriteLine("CounterFrequency = "+myCounterSample1.CounterFrequency); Console.WriteLine("SystemFrequency = "+myCounterSample1.SystemFrequency); Console.WriteLine("TimeStamp = "+myCounterSample1.TimeStamp); Console.WriteLine("TimeStamp100nSec = "+myCounterSample1.TimeStamp100nSec); Console.WriteLine("CounterType = "+myCounterSample1.CounterType); // Hold the results of sample. myCounterSample1 = myPerformanceCounter1.NextSample(); Console.WriteLine("BaseValue = "+myCounterSample1.BaseValue); Console.WriteLine("RawValue = "+myCounterSample1.RawValue); Console.WriteLine("CounterFrequency = "+myCounterSample1.CounterFrequency); Console.WriteLine("SystemFrequency = "+myCounterSample1.SystemFrequency); Console.WriteLine("TimeStamp = "+myCounterSample1.TimeStamp); Console.WriteLine("TimeStamp100nSec = "+myCounterSample1.TimeStamp100nSec); Console.WriteLine("CounterType = "+myCounterSample1.CounterType); <br /><span space="preserve">...</span><br /> PerformanceCounter myPerformanceCounter2 = new PerformanceCounter ("Processor","% Processor Time", "0"); CounterSample myCounterSample2 = new CounterSample(10L, 20L, 30L, 40L, 50L, 60L, PerformanceCounterType.AverageCount64, 300); Console.WriteLine("CounterTimeStamp = "+myCounterSample2.CounterTimeStamp); Console.WriteLine("BaseValue = "+myCounterSample2.BaseValue); Console.WriteLine("RawValue = "+myCounterSample2.RawValue); Console.WriteLine("CounterFrequency = "+myCounterSample2.CounterFrequency); Console.WriteLine("SystemFrequency = "+myCounterSample2.SystemFrequency); Console.WriteLine("TimeStamp = "+myCounterSample2.TimeStamp); Console.WriteLine("TimeStamp100nSec = "+myCounterSample2.TimeStamp100nSec); Console.WriteLine("CounterType = "+myCounterSample2.CounterType); Console.WriteLine("CounterTimeStamp = "+myCounterSample2.CounterTimeStamp); // Hold the results of sample. myCounterSample2 = myPerformanceCounter2.NextSample(); Console.WriteLine("BaseValue = "+myCounterSample2.BaseValue); Console.WriteLine("RawValue = "+myCounterSample2.RawValue); Console.WriteLine("CounterFrequency = "+myCounterSample2.CounterFrequency); Console.WriteLine("SystemFrequency = "+myCounterSample2.SystemFrequency); Console.WriteLine("TimeStamp = "+myCounterSample2.TimeStamp); Console.WriteLine("TimeStamp100nSec = "+myCounterSample2.TimeStamp100nSec); Console.WriteLine("CounterType = "+myCounterSample2.CounterType); Console.WriteLine("CounterTimeStamp = "+myCounterSample2.CounterTimeStamp);
PerformanceCounter^ myPerformanceCounter1 = gcnew PerformanceCounter( "Processor","% Processor Time","0" ); CounterSample myCounterSample1( 10L, 20L, 30L, 40L, 50L, 60L, PerformanceCounterType::AverageCount64 ); Console::WriteLine( "CounterTimeStamp = {0}", myCounterSample1.CounterTimeStamp ); Console::WriteLine( "BaseValue = {0}", myCounterSample1.BaseValue ); Console::WriteLine( "RawValue = {0}", myCounterSample1.RawValue ); Console::WriteLine( "CounterFrequency = {0}", myCounterSample1.CounterFrequency ); Console::WriteLine( "SystemFrequency = {0}", myCounterSample1.SystemFrequency ); Console::WriteLine( "TimeStamp = {0}", myCounterSample1.TimeStamp ); Console::WriteLine( "TimeStamp100nSec = {0}", myCounterSample1.TimeStamp100nSec ); Console::WriteLine( "CounterType = {0}", myCounterSample1.CounterType ); // Hold the results of sample. myCounterSample1 = myPerformanceCounter1->NextSample(); Console::WriteLine( "BaseValue = {0}", myCounterSample1.BaseValue ); Console::WriteLine( "RawValue = {0}", myCounterSample1.RawValue ); Console::WriteLine( "CounterFrequency = {0}", myCounterSample1.CounterFrequency ); Console::WriteLine( "SystemFrequency = {0}", myCounterSample1.SystemFrequency ); Console::WriteLine( "TimeStamp = {0}", myCounterSample1.TimeStamp ); Console::WriteLine( "TimeStamp100nSec = {0}", myCounterSample1.TimeStamp100nSec ); Console::WriteLine( "CounterType = {0}", myCounterSample1.CounterType ); <br /><span space="preserve">...</span><br /> PerformanceCounter^ myPerformanceCounter2 = gcnew PerformanceCounter( "Processor","% Processor Time","0" ); CounterSample myCounterSample2( 10L, 20L, 30L, 40L, 50L, 60L, PerformanceCounterType::AverageCount64,300); Console::WriteLine( "CounterTimeStamp = {0}", myCounterSample2.CounterTimeStamp ); Console::WriteLine( "BaseValue = {0}", myCounterSample2.BaseValue ); Console::WriteLine( "RawValue = {0}", myCounterSample2.RawValue ); Console::WriteLine( "CounterFrequency = {0}", myCounterSample2.CounterFrequency ); Console::WriteLine( "SystemFrequency = {0}", myCounterSample2.SystemFrequency ); Console::WriteLine( "TimeStamp = {0}", myCounterSample2.TimeStamp ); Console::WriteLine( "TimeStamp100nSec = {0}", myCounterSample2.TimeStamp100nSec ); Console::WriteLine( "CounterType = {0}", myCounterSample2.CounterType ); Console::WriteLine( "CounterTimeStamp = {0}", myCounterSample2.CounterTimeStamp ); // Hold the results of sample. myCounterSample2 = myPerformanceCounter2->NextSample(); Console::WriteLine( "BaseValue = {0}", myCounterSample2.BaseValue ); Console::WriteLine( "RawValue = {0}", myCounterSample2.RawValue ); Console::WriteLine( "CounterFrequency = {0}", myCounterSample2.CounterFrequency ); Console::WriteLine( "SystemFrequency = {0}", myCounterSample2.SystemFrequency ); Console::WriteLine( "TimeStamp = {0}", myCounterSample2.TimeStamp ); Console::WriteLine( "TimeStamp100nSec = {0}", myCounterSample2.TimeStamp100nSec ); Console::WriteLine( "CounterType = {0}", myCounterSample2.CounterType ); Console::WriteLine( "CounterTimeStamp = {0}", myCounterSample2.CounterTimeStamp );
PerformanceCounter myPerformanceCounter1 = new PerformanceCounter( "Processor", "% Processor Time", "0"); CounterSample myCounterSample1 = new CounterSample(10L, 20L, 30L, 40L, 50L, 60L, PerformanceCounterType.AverageCount64); Console.WriteLine("CounterTimeStamp = " + myCounterSample1.get_CounterTimeStamp()); Console.WriteLine("BaseValue = " + myCounterSample1.get_BaseValue()); Console.WriteLine("RawValue = " + myCounterSample1.get_RawValue()); Console.WriteLine("CounterFrequency = " + myCounterSample1.get_CounterFrequency()); Console.WriteLine("SystemFrequency = " + myCounterSample1.get_SystemFrequency()); Console.WriteLine("TimeStamp = " + myCounterSample1.get_TimeStamp()); Console.WriteLine("TimeStamp100nSec = " + myCounterSample1.get_TimeStamp100nSec()); Console.WriteLine("CounterType = " + myCounterSample1.get_CounterType()); // Hold the results of sample. myCounterSample1 = myPerformanceCounter1.NextSample(); Console.WriteLine("BaseValue = " + myCounterSample1.get_BaseValue()); Console.WriteLine("RawValue = " + myCounterSample1.get_RawValue()); Console.WriteLine("CounterFrequency = " + myCounterSample1.get_CounterFrequency()); Console.WriteLine("SystemFrequency = " + myCounterSample1.get_SystemFrequency()); Console.WriteLine("TimeStamp = " + myCounterSample1.get_TimeStamp()); Console.WriteLine("TimeStamp100nSec = " + myCounterSample1.get_TimeStamp100nSec()); Console.WriteLine("CounterType = " + myCounterSample1.get_CounterType()); <br /><span space="preserve">...</span><br /> PerformanceCounter myPerformanceCounter2 = new PerformanceCounter( "Processor", "% Processor Time", "0"); CounterSample myCounterSample2 = new CounterSample(10L, 20L, 30L, 40L, 50L, 60L, PerformanceCounterType.AverageCount64, 300); Console.WriteLine("CounterTimeStamp = " + myCounterSample2.get_CounterTimeStamp()); Console.WriteLine("BaseValue = " + myCounterSample2.get_BaseValue()); Console.WriteLine("RawValue = " + myCounterSample2.get_RawValue()); Console.WriteLine("CounterFrequency = " + myCounterSample2.get_CounterFrequency()); Console.WriteLine("SystemFrequency = " + myCounterSample2.get_SystemFrequency()); Console.WriteLine("TimeStamp = " + myCounterSample2.get_TimeStamp()); Console.WriteLine("TimeStamp100nSec = " + myCounterSample2.get_TimeStamp100nSec()); Console.WriteLine("CounterType = " + myCounterSample2.get_CounterType()); Console.WriteLine("CounterTimeStamp = " + myCounterSample2.get_CounterTimeStamp()); // Hold the results of sample. myCounterSample2 = myPerformanceCounter2.NextSample(); Console.WriteLine("BaseValue = " + myCounterSample2.get_BaseValue()); Console.WriteLine("RawValue = " + myCounterSample2.get_RawValue()); Console.WriteLine("CounterFrequency = " + myCounterSample2.get_CounterFrequency()); Console.WriteLine("SystemFrequency = " + myCounterSample2.get_SystemFrequency()); Console.WriteLine("TimeStamp = " + myCounterSample2.get_TimeStamp()); Console.WriteLine("TimeStamp100nSec = " + myCounterSample2.get_TimeStamp100nSec()); Console.WriteLine("CounterType = " + myCounterSample2.get_CounterType()); Console.WriteLine("CounterTimeStamp = " + myCounterSample2.get_CounterTimeStamp());

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CounterSample コンストラクタ

名前 | 説明 |
---|---|
CounterSample (Int64, Int64, Int64, Int64, Int64, Int64, PerformanceCounterType) | CounterSample 構造体の新しいインスタンスを初期化し、CounterTimeStamp プロパティをゼロ (0) に設定します。 |
CounterSample (Int64, Int64, Int64, Int64, Int64, Int64, PerformanceCounterType, Int64) | CounterSample 構造体の新しいインスタンスを初期化し、CounterTimeStamp プロパティを渡された値に設定します。 |

CounterSample コンストラクタ (Int64, Int64, Int64, Int64, Int64, Int64, PerformanceCounterType)
アセンブリ: System (system.dll 内)

Public Sub New ( _ rawValue As Long, _ baseValue As Long, _ counterFrequency As Long, _ systemFrequency As Long, _ timeStamp As Long, _ timeStamp100nSec As Long, _ counterType As PerformanceCounterType _ )
Dim rawValue As Long Dim baseValue As Long Dim counterFrequency As Long Dim systemFrequency As Long Dim timeStamp As Long Dim timeStamp100nSec As Long Dim counterType As PerformanceCounterType Dim instance As New CounterSample(rawValue, baseValue, counterFrequency, systemFrequency, timeStamp, timeStamp100nSec, counterType)
public CounterSample ( long rawValue, long baseValue, long counterFrequency, long systemFrequency, long timeStamp, long timeStamp100nSec, PerformanceCounterType counterType )
public: CounterSample ( long long rawValue, long long baseValue, long long counterFrequency, long long systemFrequency, long long timeStamp, long long timeStamp100nSec, PerformanceCounterType counterType )
public CounterSample ( long rawValue, long baseValue, long counterFrequency, long systemFrequency, long timeStamp, long timeStamp100nSec, PerformanceCounterType counterType )
public function CounterSample ( rawValue : long, baseValue : long, counterFrequency : long, systemFrequency : long, timeStamp : long, timeStamp100nSec : long, counterType : PerformanceCounterType )
- rawValue
パフォーマンス カウンタのサンプルに関連付けられている数値。


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CounterSample フィールド
CounterSample プロパティ

名前 | 説明 | |
---|---|---|
![]() | BaseValue | カウンタの省略可能な生のベース値を取得します。 |
![]() | CounterFrequency | 生のカウンタの頻度を取得します。 |
![]() | CounterTimeStamp | カウンタのタイム スタンプを取得します。 |
![]() | CounterType | パフォーマンス カウンタ タイプを取得します。 |
![]() | RawValue | カウンタの生の値を取得します。 |
![]() | SystemFrequency | 生のシステムの頻度を取得します。 |
![]() | TimeStamp | 生のタイム スタンプを取得します。 |
![]() | TimeStamp100nSec | 信頼性の高い生のタイム スタンプを取得します。 |

CounterSample メソッド

名前 | 説明 | |
---|---|---|
![]() | Calculate | オーバーロードされます。 指定したカウンタ サンプル データを使用して、パフォーマンス データを計算します。 |
![]() | Equals | オーバーロードされます。 2 つのカウンタ サンプルが等しいかどうかを示します。 |
![]() | GetHashCode | オーバーライドされます。 現在のカウンタ サンプルのハッシュ コードを取得します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | op_Equality | 2 つの CounterSample 構造体が等しいかどうかを示す値を返します。 |
![]() | op_Inequality | 2 つの CounterSample 構造体が等しくないかどうかを示す値を返します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | このインスタンスの完全修飾型名を返します。 ( ValueType から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

CounterSample メンバ
パフォーマンス カウンタ用の生データを保持する構造体を定義します。
CounterSample データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | BaseValue | カウンタの省略可能な生のベース値を取得します。 |
![]() | CounterFrequency | 生のカウンタの頻度を取得します。 |
![]() | CounterTimeStamp | カウンタのタイム スタンプを取得します。 |
![]() | CounterType | パフォーマンス カウンタ タイプを取得します。 |
![]() | RawValue | カウンタの生の値を取得します。 |
![]() | SystemFrequency | 生のシステムの頻度を取得します。 |
![]() | TimeStamp | 生のタイム スタンプを取得します。 |
![]() | TimeStamp100nSec | 信頼性の高い生のタイム スタンプを取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Calculate | オーバーロードされます。 指定したカウンタ サンプル データを使用して、パフォーマンス データを計算します。 |
![]() | Equals | オーバーロードされます。 2 つのカウンタ サンプルが等しいかどうかを示します。 |
![]() | GetHashCode | オーバーライドされます。 現在のカウンタ サンプルのハッシュ コードを取得します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | op_Equality | 2 つの CounterSample 構造体が等しいかどうかを示す値を返します。 |
![]() | op_Inequality | 2 つの CounterSample 構造体が等しくないかどうかを示す値を返します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | このインスタンスの完全修飾型名を返します。 (ValueType から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

CounterSample 構造体
アセンブリ: System (system.dll 内)


Imports System Imports System.Collections Imports System.Collections.Specialized Imports System.Diagnostics _ Public Class App Private Shared PC As PerformanceCounter Private Shared BPC As PerformanceCounter Public Shared Sub Main() Dim samplesList As New ArrayList() SetupCategory() CreateCounters() CollectSamples(samplesList) CalculateResults(samplesList) End Sub 'Main Private Shared Function SetupCategory() As Boolean If Not PerformanceCounterCategory.Exists("AverageCounter64SampleCategory") Then Dim CCDC As New CounterCreationDataCollection() ' Add the counter. Dim averageCount64 As New CounterCreationData() averageCount64.CounterType = PerformanceCounterType.AverageCount64 averageCount64.CounterName = "AverageCounter64Sample" CCDC.Add(averageCount64) ' Add the base counter. Dim averageCount64Base As New CounterCreationData() averageCount64Base.CounterType = PerformanceCounterType.AverageBase averageCount64Base.CounterName = "AverageCounter64SampleBase" CCDC.Add(averageCount64Base) ' Create the category. PerformanceCounterCategory.Create("AverageCounter64SampleCategory", "Demonstrates usage of the AverageCounter64 performance counter type.", CCDC) Return True Else Console.WriteLine("Category exists - AverageCounter64SampleCategory") Return False End If End Function 'SetupCategory Private Shared Sub CreateCounters() ' Create the counters. PC = New PerformanceCounter("AverageCounter64SampleCategory", "AverageCounter64Sample", False) BPC = New PerformanceCounter("AverageCounter64SampleCategory", "AverageCounter64SampleBase", False) PC.RawValue = 0 BPC.RawValue = 0 End Sub 'CreateCounters Private Shared Sub CollectSamples(samplesList As ArrayList) Dim r As New Random(DateTime.Now.Millisecond) ' Loop for the samples. Dim j As Integer For j = 0 To 99 Dim value As Integer = r.Next(1, 10) Console.Write((j + " = " + value)) PC.IncrementBy(value) BPC.Increment() If j Mod 10 = 9 Then OutputSample(PC.NextSample()) samplesList.Add(PC.NextSample()) Else Console.WriteLine() End If System.Threading.Thread.Sleep(50) Next j End Sub 'CollectSamples Private Shared Sub CalculateResults(samplesList As ArrayList) Dim i As Integer For i = 0 To (samplesList.Count - 1) - 1 ' Output the sample. OutputSample(CType(samplesList(i), CounterSample)) OutputSample(CType(samplesList((i + 1)), CounterSample)) ' Use .NET to calculate the counter value. Console.WriteLine((".NET computed counter value = " + CounterSampleCalculator.ComputeCounterValue(CType(samplesList(i), CounterSample), CType(samplesList((i + 1)), CounterSample)))) ' Calculate the counter value manually. Console.WriteLine(("My computed counter value = " + MyComputeCounterValue(CType(samplesList(i), CounterSample), CType(samplesList((i + 1)), CounterSample)))) Next i End Sub 'CalculateResults '++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++ ' Description - This counter type shows how many items are processed, on average, ' during an operation. Counters of this type display a ratio of the items ' processed (such as bytes sent) to the number of operations completed. The ' ratio is calculated by comparing the number of items processed during the ' last interval to the number of operations completed during the last interval. ' Generic type - Average ' Formula - (N1 - N0) / (D1 - D0), where the numerator (N) represents the number ' of items processed during the last sample interval and the denominator (D) ' represents the number of operations completed during the last two sample ' intervals. ' Average (Nx - N0) / (Dx - D0) ' Example PhysicalDisk\ Avg. Disk Bytes/Transfer '++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++ Private Shared Function MyComputeCounterValue(s0 As CounterSample, s1 As CounterSample) As [Single] Dim numerator As [Single] = CType(s1.RawValue, [Single]) - CType(s0.RawValue, [Single]) Dim denomenator As [Single] = CType(s1.BaseValue, [Single]) - CType(s0.BaseValue, [Single]) Dim counterValue As [Single] = numerator / denomenator Return counterValue End Function 'MyComputeCounterValue ' Output information about the counter sample. Private Shared Sub OutputSample(s As CounterSample) Console.WriteLine(ControlChars.Lf + ControlChars.Cr + "+++++++++++") Console.WriteLine("Sample values - " + ControlChars.Lf + ControlChars.Cr) Console.WriteLine((" BaseValue = " + s.BaseValue)) Console.WriteLine((" CounterFrequency = " + s.CounterFrequency)) Console.WriteLine((" CounterTimeStamp = " + s.CounterTimeStamp)) Console.WriteLine((" CounterType = " + s.CounterType)) Console.WriteLine((" RawValue = " + s.RawValue)) Console.WriteLine((" SystemFrequency = " + s.SystemFrequency)) Console.WriteLine((" TimeStamp = " + s.TimeStamp)) Console.WriteLine((" TimeStamp100nSec = " + s.TimeStamp100nSec)) Console.WriteLine("++++++++++++++++++++++") End Sub 'OutputSample End Class 'App
using System; using System.Collections; using System.Collections.Specialized; using System.Diagnostics; public class App { private static PerformanceCounter PC; private static PerformanceCounter BPC; public static void Main() { ArrayList samplesList = new ArrayList(); SetupCategory(); CreateCounters(); CollectSamples(samplesList); CalculateResults(samplesList); } private static bool SetupCategory() { if ( !PerformanceCounterCategory.Exists("AverageCounter64SampleCategory") ) { CounterCreationDataCollection CCDC = new CounterCreationDataCollection(); // Add the counter. CounterCreationData averageCount64 = new CounterCreationData(); averageCount64.CounterType = PerformanceCounterType.AverageCount64; averageCount64.CounterName = "AverageCounter64Sample"; CCDC.Add(averageCount64); // Add the base counter. CounterCreationData averageCount64Base = new CounterCreationData(); averageCount64Base.CounterType = PerformanceCounterType.AverageBase; averageCount64Base.CounterName = "AverageCounter64SampleBase"; CCDC.Add(averageCount64Base); // Create the category. PerformanceCounterCategory.Create("AverageCounter64SampleCategory" , "Demonstrates usage of the AverageCounter64 performance counter type.", CCDC); return(true); } else { Console.WriteLine("Category exists - AverageCounter64SampleCategory"); return(false); } } private static void CreateCounters() { // Create the counters. PC = new PerformanceCounter("AverageCounter64SampleCategory", "AverageCounter64Sample", false); BPC = new PerformanceCounter("AverageCounter64SampleCategory", "AverageCounter64SampleBase", false); PC.RawValue=0; BPC.RawValue=0; } private static void CollectSamples(ArrayList samplesList) { Random r = new Random( DateTime.Now.Millisecond ); // Loop for the samples. for (int j = 0; j < 100; j++) { int value = r.Next(1, 10); Console.Write(j + " = " + value); PC.IncrementBy(value); BPC.Increment(); if ((j % 10) == 9) { OutputSample(PC.NextSample()); samplesList.Add( PC.NextSample() ); } else Console.WriteLine(); System.Threading.Thread.Sleep(50); } } private static void CalculateResults(ArrayList samplesList) { for(int i = 0; i < (samplesList.Count - 1); i++) { // Output the sample. OutputSample( (CounterSample)samplesList[i] ); OutputSample( (CounterSample)samplesList[i+1] ); // Use .NET to calculate the counter value. Console.WriteLine(".NET computed counter value = " + CounterSampleCalculator.ComputeCounterValue((CounterSample)samplesList[i] , (CounterSample)samplesList[i+1]) ); // Calculate the counter value manually. Console.WriteLine("My computed counter value = " + MyComputeCounterValue((CounterSample)samplesList[i], (CounterSample)samplesList[i+1]) ); } } //++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++ // Description - This counter type shows how many items are processed, on average, // during an operation. Counters of this type display a ratio of the items // processed (such as bytes sent) to the number of operations completed. The // ratio is calculated by comparing the number of items processed during the // last interval to the number of operations completed during the last interval. // Generic type - Average // Formula - (N1 - N0) / (D1 - D0), where the numerator (N) represents the number // of items processed during the last sample interval and the denominator (D) // represents the number of operations completed during the last two sample // intervals. // Average (Nx - N0) / (Dx - D0) // Example PhysicalDisk\ Avg. Disk Bytes/Transfer //++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++ private static Single MyComputeCounterValue(CounterSample s0, CounterSample s1) { Single numerator = (Single)s1.RawValue - (Single)s0.RawValue; Single denomenator = (Single)s1.BaseValue - (Single)s0.BaseValue; Single counterValue = numerator / denomenator; return(counterValue); } // Output information about the counter sample. private static void OutputSample(CounterSample s) { Console.WriteLine("\r\n+++++++++++"); Console.WriteLine("Sample values - \r\n"); Console.WriteLine(" BaseValue = " + s.BaseValue); Console.WriteLine(" CounterFrequency = " + s.CounterFrequency); Console.WriteLine(" CounterTimeStamp = " + s.CounterTimeStamp); Console.WriteLine(" CounterType = " + s.CounterType); Console.WriteLine(" RawValue = " + s.RawValue); Console.WriteLine(" SystemFrequency = " + s.SystemFrequency); Console.WriteLine(" TimeStamp = " + s.TimeStamp); Console.WriteLine(" TimeStamp100nSec = " + s.TimeStamp100nSec); Console.WriteLine("++++++++++++++++++++++"); } }
#using <System.dll> using namespace System; using namespace System::Collections; using namespace System::Collections::Specialized; using namespace System::Diagnostics; // Output information about the counter sample. void OutputSample( CounterSample s ) { Console::WriteLine( "\r\n+++++++++++" ); Console::WriteLine( "Sample values - \r\n" ); Console::WriteLine( " BaseValue = {0}", s.BaseValue ); Console::WriteLine( " CounterFrequency = {0}", s.CounterFrequency ); Console::WriteLine( " CounterTimeStamp = {0}", s.CounterTimeStamp ); Console::WriteLine( " CounterType = {0}", s.CounterType ); Console::WriteLine( " RawValue = {0}", s.RawValue ); Console::WriteLine( " SystemFrequency = {0}", s.SystemFrequency ); Console::WriteLine( " TimeStamp = {0}", s.TimeStamp ); Console::WriteLine( " TimeStamp100nSec = {0}", s.TimeStamp100nSec ); Console::WriteLine( "++++++++++++++++++++++" ); } //++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++ // Description - This counter type shows how many items are processed, on average, // during an operation. Counters of this type display a ratio of the items // processed (such as bytes sent) to the number of operations completed. The // ratio is calculated by comparing the number of items processed during the // last interval to the number of operations completed during the last interval. // Generic type - Average // Formula - (N1 - N0) / (D1 - D0), where the numerator (N) represents the number // of items processed during the last sample interval and the denominator (D) // represents the number of operations completed during the last two sample // intervals. // Average (Nx - N0) / (Dx - D0) // Example PhysicalDisk\ Avg. Disk Bytes/Transfer //++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++ float MyComputeCounterValue( CounterSample s0, CounterSample s1 ) { float numerator = (float)s1.RawValue - (float)s0.RawValue; float denomenator = (float)s1.BaseValue - (float)s0.BaseValue; float counterValue = numerator / denomenator; return counterValue; } bool SetupCategory() { if ( !PerformanceCounterCategory::Exists( "AverageCounter64SampleCategory" ) ) { CounterCreationDataCollection^ CCDC = gcnew CounterCreationDataCollection; // Add the counter. CounterCreationData^ averageCount64 = gcnew CounterCreationData; averageCount64->CounterType = PerformanceCounterType::AverageCount64; averageCount64->CounterName = "AverageCounter64Sample"; CCDC->Add( averageCount64 ); // Add the base counter. CounterCreationData^ averageCount64Base = gcnew CounterCreationData; averageCount64Base->CounterType = PerformanceCounterType::AverageBase; averageCount64Base->CounterName = "AverageCounter64SampleBase"; CCDC->Add( averageCount64Base ); // Create the category. PerformanceCounterCategory::Create( "AverageCounter64SampleCategory", "Demonstrates usage of the AverageCounter64 performance counter type.", CCDC ); return (true); } else { Console::WriteLine( "Category exists - AverageCounter64SampleCategory" ); return (false); } } void CreateCounters( PerformanceCounter^% PC, PerformanceCounter^% BPC ) { // Create the counters. PC = gcnew PerformanceCounter( "AverageCounter64SampleCategory","AverageCounter64Sample",false ); BPC = gcnew PerformanceCounter( "AverageCounter64SampleCategory","AverageCounter64SampleBase",false ); PC->RawValue = 0; BPC->RawValue = 0; } void CollectSamples( ArrayList^ samplesList, PerformanceCounter^ PC, PerformanceCounter^ BPC ) { Random^ r = gcnew Random( DateTime::Now.Millisecond ); // Loop for the samples. for ( int j = 0; j < 100; j++ ) { int value = r->Next( 1, 10 ); Console::Write( "{0} = {1}", j, value ); PC->IncrementBy( value ); BPC->Increment(); if ( (j % 10) == 9 ) { OutputSample( PC->NextSample() ); samplesList->Add( PC->NextSample() ); } else Console::WriteLine(); System::Threading::Thread::Sleep( 50 ); } } void CalculateResults( ArrayList^ samplesList ) { for ( int i = 0; i < (samplesList->Count - 1); i++ ) { // Output the sample. OutputSample( *safe_cast<CounterSample^>(samplesList[ i ]) ); OutputSample( *safe_cast<CounterSample^>(samplesList[ i + 1 ]) ); // Use .NET to calculate the counter value. Console::WriteLine( ".NET computed counter value = {0}", CounterSampleCalculator::ComputeCounterValue( *safe_cast<CounterSample^>(samplesList[ i ]), *safe_cast<CounterSample^>(samplesList[ i + 1 ]) ) ); // Calculate the counter value manually. Console::WriteLine( "My computed counter value = {0}", MyComputeCounterValue( *safe_cast<CounterSample^>(samplesList[ i ]), *safe_cast<CounterSample^>(samplesList[ i + 1 ]) ) ); } } int main() { ArrayList^ samplesList = gcnew ArrayList; PerformanceCounter^ PC; PerformanceCounter^ BPC; SetupCategory(); CreateCounters( PC, BPC ); CollectSamples( samplesList, PC, BPC ); CalculateResults( samplesList ); }
import System.*; import System.Collections.*; import System.Collections.Specialized.*; import System.Diagnostics.*; public class App { private static PerformanceCounter pc; private static PerformanceCounter bpc; public static void main(String[] args) { ArrayList samplesList = new ArrayList(); SetupCategory(); CreateCounters(); CollectSamples(samplesList); CalculateResults(samplesList); } //main private static boolean SetupCategory() { if (!(PerformanceCounterCategory.Exists( "AverageCounter64SampleCategory"))) { CounterCreationDataCollection ccdc = new CounterCreationDataCollection(); // Add the counter. CounterCreationData averageCount64 = new CounterCreationData(); averageCount64. set_CounterType(PerformanceCounterType.AverageCount64); averageCount64.set_CounterName("AverageCounter64Sample"); ccdc.Add(averageCount64); // Add the base counter. CounterCreationData averageCount64Base = new CounterCreationData(); averageCount64Base.set_CounterType(PerformanceCounterType. AverageBase); averageCount64Base.set_CounterName("AverageCounter64SampleBase"); ccdc.Add(averageCount64Base); // Create the category. PerformanceCounterCategory.Create("AverageCounter64SampleCategory" , "Demonstrates usage of the AverageCounter64 performance " + "counter type.", ccdc); return true; } else { Console.WriteLine("Category exists - AverageCounter64SampleCategory"); return false; } } //SetupCategory private static void CreateCounters() { // Create the counters. pc = new PerformanceCounter("AverageCounter64SampleCategory" , "AverageCounter64Sample", false); bpc = new PerformanceCounter("AverageCounter64SampleCategory" , "AverageCounter64SampleBase", false); pc.set_RawValue(0); bpc.set_RawValue(0); } //CreateCounters private static void CollectSamples(ArrayList samplesList) { Random r = new Random(DateTime.get_Now().get_Millisecond()); // Loop for the samples. for (int j = 0; j < 100; j++) { int value = r.Next(1, 10); Console.Write(j + " = " + value); pc.IncrementBy(value); bpc.Increment(); if (j % 10 == 9) { OutputSample(pc.NextSample()); samplesList.Add(pc.NextSample()); } else { Console.WriteLine(); } System.Threading.Thread.Sleep(50); } } //CollectSamples private static void CalculateResults(ArrayList samplesList) { for (int i = 0; i < samplesList.get_Count() - 1; i++) { // Output the sample. OutputSample((CounterSample)samplesList.get_Item(i)); OutputSample((CounterSample)samplesList.get_Item(i + 1)); // Use.NET to calculate the counter value. Console.WriteLine(".NET computed counter value = " + CounterSampleCalculator.ComputeCounterValue((CounterSample) samplesList.get_Item(i), (CounterSample)samplesList.get_Item(i + 1))); // Calculate the counter value manually. Console.WriteLine("My computed counter value = " + MyComputeCounterValue((CounterSample)samplesList.get_Item(i), (CounterSample)samplesList.get_Item(i + 1))); } } //CalculateResults //++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++ //++++++++ // Description - This counter type shows how many items are processed, // on average,during an operation.Counters of this type display a // ratio of the items processed (such as bytes sent) to the number // of operations completed. The ratio is calculated by comparing // the number of items processed during the last interval to the // number of operations completed during the last interval. // Generic type - Average // Formula - (N1 - N0) / (D1 - D0), where the numerator (N) // represents the number of items processed during the last sample // interval and the denominator (D) represents the number of // operations completed during the last two sample // intervals. // Average (Nx - N0) / (Dx - D0) // Example PhysicalDisk\ Avg. Disk Bytes/Transfer //++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++ //++++++++ private static float MyComputeCounterValue(CounterSample s0, CounterSample s1) { float numerator = (float)s1.get_RawValue() - (float)s0.get_RawValue(); float denomenator = (float)s1.get_BaseValue() - (float)s0. get_BaseValue(); float counterValue = numerator / denomenator; return counterValue; } //MyComputeCounterValue // Output information about the counter sample. private static void OutputSample(CounterSample s) { Console.WriteLine("\r\n+++++++++++"); Console.WriteLine("Sample values - \r\n"); Console.WriteLine(" BaseValue = " + s.get_BaseValue()); Console.WriteLine(" CounterFrequency = " + s.get_CounterFrequency()); Console.WriteLine(" CounterTimeStamp = " + s.get_CounterTimeStamp()); Console.WriteLine(" CounterType = " + s.get_CounterType()); Console.WriteLine(" RawValue = " + s.get_RawValue()); Console.WriteLine(" SystemFrequency = " + s.get_SystemFrequency()); Console.WriteLine(" TimeStamp = " + s.get_TimeStamp()); Console.WriteLine(" TimeStamp100nSec = " + s.get_TimeStamp100nSec()); Console.WriteLine("++++++++++++++++++++++"); } //OutputSample } //App


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- CounterSampleのページへのリンク