performancecounterとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework用語 > performancecounterの意味・解説 

PerformanceCounter イベント


パブリック イベントパブリック イベント

参照参照

関連項目

PerformanceCounter クラス
System.Diagnostics 名前空間
PerformanceCounterType
CounterCreationData クラス
CounterCreationDataCollection クラス
CounterSample 構造体
CounterSampleCalculator クラス

PerformanceCounter クラス

Windows NT パフォーマンス カウンタ コンポーネントを表します。

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

Public NotInheritable Class
 PerformanceCounter
    Inherits Component
    Implements ISupportInitialize
Dim instance As PerformanceCounter
public sealed class PerformanceCounter : Component,
 ISupportInitialize
public ref class PerformanceCounter sealed
 : public Component, ISupportInitialize
public final class PerformanceCounter extends
 Component implements ISupportInitialize
public final class PerformanceCounter extends
 Component implements ISupportInitialize
解説解説
メモメモ

このクラスに適用される HostProtectionAttribute 属性の Resources プロパティの値は、Synchronization または SharedState です。HostProtectionAttribute は、デスクトップ アプリケーション (一般的には、アイコンをダブルクリック、コマンドを入力、またはブラウザに URL を入力して起動するアプリケーション) には影響しません。詳細については、HostProtectionAttribute クラスのトピックまたは「SQL Server プログラミングとホスト保護属性」を参照してください。

PerformanceCounter コンポーネントを使用して、既存の定義済みカウンタまたはカスタム カウンタを読み取ることも、パフォーマンス データをカスタム カウンタに発行する (書き込む) こともできます。

メモ重要 :

   NET Framework Version 1.0 および 1.1 では、このクラスは直接の呼び出し元に完全な信頼を要求します。Version 2.0 では、このクラスは PerformanceCounterPermission に特定のアクションを要求します。PerformanceCounterPermission で信頼度の低いコードを許可しないようにすることをお勧めします。読み取りおよび書き込みのパフォーマンス カウンタの機能により、コードでは、実行プロセスの列挙やプロセスの情報の取得などのアクションを実行できます。

カウンタは、パフォーマンス データを収集する機構です。すべてのカウンタの名前がレジストリに格納され、各カウンタはシステム機能の特定の領域に関連します。例には、プロセッサのビジー時間、メモリの使用状況、ネットワーク接続で受信したバイト数などが含まれます。

各カウンタは、名前と場所で一意に識別されます。ファイル パスが、ドライブ名、ディレクトリ名、1 つ以上のサブディレクトリ名、およびファイル名で構成されるように、カウンタ情報も、コンピュータ名、カテゴリ名、カテゴリ インスタンス名、カウンタ名の 4 つの要素で構成されます。

カウンタ情報には、カウンタがデータを測定する対象のカテゴリまたはパフォーマンス オブジェクトを含める必要があります。コンピュータのカテゴリには、プロセッサ、ディスク、メモリなどの物理コンポーネントが含まれます。プロセスやスレッドなどのシステム カテゴリもあります。各カテゴリはコンピュータ内の機能要素に関連し、それぞれに標準カウンタのセットが割り当てられます。これらのオブジェクトは、Windows 2000 システム モニタの [カウンタの追加] ダイアログ ボックスの [パフォーマンス オブジェクト] ボックスの一覧に表示されます。カウンタ パスにはこれらを含める必要があります。パフォーマンス データは、関連するカテゴリによってグループ化されます。

場合によっては、同じカテゴリの複数のコピーが存在します。たとえば、複数のプロセスとスレッドが同時に実行されることがあります。また、複数のプロセッサが搭載されているコンピュータもあります。カテゴリのコピーをカテゴリ インスタンスと呼びます。インスタンスごとに、標準カウンタのセットが割り当てられます。1 つのカテゴリに複数のインスタンスがある場合は、カウンタ情報でインスタンスを明確化する必要があります。

必要な計算を実行するために初期値または前の値が必要な場合、このようなカウンタのパフォーマンス データを取得するには、NextValue メソッドを 2 回呼び出して、返された情報をアプリケーションの要件に応じて使用します。

Windows 98, Windows Millennium Edition プラットフォームメモ : パフォーマンス カウンタは、Windows 98 または Windows Millennium Edition (Me) ではサポートされていません。

使用例使用例
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
継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
      System.Diagnostics.PerformanceCounter
スレッド セーフスレッド セーフ

この型は、マルチスレッド操作に対して安全です。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PerformanceCounter メンバ
System.Diagnostics 名前空間
PerformanceCounterType
CounterCreationData クラス
CounterCreationDataCollection クラス
CounterSample 構造体
CounterSampleCalculator クラス

PerformanceCounter コンストラクタ ()

システム パフォーマンス カウンタにもカスタム パフォーマンス カウンタにも関連付けずに、PerformanceCounter クラスの新しい読み取り専用インスタンスを初期化します。

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

Dim instance As New PerformanceCounter
public PerformanceCounter ()
public:
PerformanceCounter ()
public PerformanceCounter ()
public function PerformanceCounter ()
例外例外
解説解説

このコンストラクタのオーバーロードによって、CategoryName、CounterName、InstanceName の各プロパティが空の文字列 ("") に設定され、MachineName プロパティがローカル コンピュータ ("") に設定されます。

このコンストラクタは、パフォーマンス カウンタを初期化しないため、このインスタンスはローカル コンピュータの既存のカウンタには関連付けられません。特定のパフォーマンス カウンタを指すようにするには、CategoryName プロパティと CounterName プロパティを設定し、必要に応じて InstanceName プロパティと MachineName プロパティを設定します。この後で、他のプロパティを読み取るか、カウンタから読み取ります。パフォーマンス カウンタに書き込むには、ReadOnly プロパティを false に設定します。

メモメモ

このメンバに適用される HostProtectionAttribute 属性の Resources プロパティの値は、Synchronization または SharedState です。HostProtectionAttribute は、デスクトップ アプリケーション (一般的には、アイコンをダブルクリック、コマンドを入力、またはブラウザに URL を入力して起動するアプリケーション) には影響しません。詳細については、HostProtectionAttribute クラスのトピックまたは「SQL Server プログラミングとホスト保護属性」を参照してください。

使用例使用例
Dim PC As New PerformanceCounter()
PC.CategoryName = "Process"
PC.CounterName = "Private Bytes"
PC.InstanceName = "Explorer"
MessageBox.Show(PC.NextValue().ToString())
PerformanceCounter PC=new PerformanceCounter();
PC.CategoryName="Process";
PC.CounterName="Private Bytes";
PC.InstanceName="Explorer";
MessageBox.Show(PC.NextValue().ToString());
PerformanceCounter^ PC = gcnew PerformanceCounter;
PC->CategoryName = "Process";
PC->CounterName = "Private Bytes";
PC->InstanceName = "Explorer";
MessageBox::Show( PC->NextValue().ToString() );
PerformanceCounter pc = new PerformanceCounter();
pc.set_CategoryName("Process");
pc.set_CounterName("Private Bytes");
pc.set_InstanceName("Explorer");
MessageBox.Show(((Single)pc.NextValue()).ToString());
.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PerformanceCounter クラス
PerformanceCounter メンバ
System.Diagnostics 名前空間

PerformanceCounter コンストラクタ (String, String, Boolean)

PerformanceCounter クラスの新しい読み取り専用インスタンスまたは読み取り/書き込み可能インスタンスを初期化し、ローカル コンピュータの指定したシステム パフォーマンス カウンタまたはカスタム パフォーマンス カウンタに関連付けます。このコンストラクタを使用するには、カテゴリに含まれるインスタンスが 1 つだけである必要があります。

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    categoryName As String, _
    counterName As String, _
    readOnly As Boolean
 _
)
Dim categoryName As String
Dim counterName As String
Dim readOnly As Boolean

Dim instance As New PerformanceCounter(categoryName,
 counterName, readOnly)
public PerformanceCounter (
    string categoryName,
    string counterName,
    bool readOnly
)
public:
PerformanceCounter (
    String^ categoryName, 
    String^ counterName, 
    bool readOnly
)
public PerformanceCounter (
    String categoryName, 
    String counterName, 
    boolean readOnly
)
public function PerformanceCounter (
    categoryName : String, 
    counterName : String, 
    readOnly : boolean
)

パラメータ

categoryName

このパフォーマンス カウンタが関連付けられているパフォーマンス カウンタ カテゴリ (パフォーマンス オブジェクト) の名前。

counterName

パフォーマンス カウンタの名前。

readOnly

カウンタに (カウンタ自身が読み取り/書き込み可能であっても) 読み取り専用モードでアクセスする場合は true。読み取り/書き込みモードでアクセスする場合は false。

例外例外
例外の種類条件

InvalidOperationException

categoryName が空の文字列 ("") です。

または

counterName が空の文字列 ("") です。

または

指定されたカテゴリが存在しません。(readOnly が true の場合)。

または

指定されたカテゴリは、.NET Framework カスタム カテゴリではありません (readOnly が false の場合)。

または

指定されたカテゴリは複数インスタンスとしてマークされているため、インスタンス名を使用してパフォーマンス カウンタを作成する必要があります。

ArgumentNullException

categoryName パラメータまたは counterName パラメータが null 参照 (Visual Basic では Nothing) です。

Win32Exception

システム API へのアクセス中にエラーが発生しました。

PlatformNotSupportedException

プラットフォームが Windows 98 または Windows Millennium Edition (Me) です。パフォーマンス カウンタはサポートされません。

解説解説

パラメータ文字列では大文字と小文字が区別されません。

このオーバーロードを使用して、1 つのパフォーマンス カウンタ カテゴリ インスタンスが含まれるカテゴリに属するローカル コンピュータの読み取り専用カウンタまたは読み取り/書き込みカウンタにアクセスします。このコンストラクタを使用して、この PerformanceCounter インスタンスで複数のインスタンスが含まれるカテゴリを指そうとすると、例外がスローされます。

このコンストラクタのオーバーロードによって、CategoryName、CounterName、ReadOnly の各プロパティが渡された値に設定され、MachineName プロパティがローカル コンピュータ "." に設定され、InstanceName プロパティが空の文字列 (".") に設定されます。

このコンストラクタは、パフォーマンス カウンタを初期化し、インスタンスをローカル コンピュータの既存のカウンタ (システム カウンタまたはカスタム カウンタ) に関連付けます。CategoryName プロパティと CounterName プロパティに渡す値は、ローカル コンピュータの既存のパフォーマンス カウンタを指す必要があります。指しているパフォーマンス カウンタ インスタンスが無効の場合は、コンストラクタを呼び出すと例外がスローされます。

メモメモ

このオーバーロードを使用するとシステム カウンタに接続できますが、システム カウンタに書き込むことはできません。そのため、システム カウンタに接続するときに readOnly を false に設定すると、例外がスローされます。

使用例使用例
PC = New PerformanceCounter("AverageCounter64SampleCategory",
 "AverageCounter64Sample", False)
PC = new PerformanceCounter("AverageCounter64SampleCategory",
 
    "AverageCounter64Sample", 
    false);

PC = gcnew PerformanceCounter( "AverageCounter64SampleCategory","AverageCounter64Sample",false
 );
pc = new PerformanceCounter("AverageCounter64SampleCategory"
,
    "AverageCounter64Sample", false);
.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PerformanceCounter クラス
PerformanceCounter メンバ
System.Diagnostics 名前空間

PerformanceCounter コンストラクタ (String, String, String, Boolean)

PerformanceCounter クラスの新しい読み取り専用インスタンスまたは読み書き可能なインスタンスを初期化し、ローカル コンピュータの指定したシステム パフォーマンス カウンタまたはカスタム パフォーマンス カウンタ、およびカテゴリ インスタンスに関連付けます。

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    categoryName As String, _
    counterName As String, _
    instanceName As String, _
    readOnly As Boolean
 _
)
Dim categoryName As String
Dim counterName As String
Dim instanceName As String
Dim readOnly As Boolean

Dim instance As New PerformanceCounter(categoryName,
 counterName, instanceName, readOnly)
public PerformanceCounter (
    string categoryName,
    string counterName,
    string instanceName,
    bool readOnly
)
public:
PerformanceCounter (
    String^ categoryName, 
    String^ counterName, 
    String^ instanceName, 
    bool readOnly
)
public PerformanceCounter (
    String categoryName, 
    String counterName, 
    String instanceName, 
    boolean readOnly
)
public function PerformanceCounter (
    categoryName : String, 
    counterName : String, 
    instanceName : String, 
    readOnly : boolean
)

パラメータ

categoryName

このパフォーマンス カウンタが関連付けられているパフォーマンス カウンタ カテゴリ (パフォーマンス オブジェクト) の名前。

counterName

パフォーマンス カウンタの名前。

instanceName

パフォーマンス カウンタ カテゴリ インスタンスの名前。カテゴリに含まれるインスタンスが 1 つだけの場合は空の文字列 ("")。

readOnly

読み取り専用モードでカウンタにアクセスする場合は true。読み書き可能モードでアクセスする場合は false。

例外例外
例外の種類条件

InvalidOperationException

categoryName が空の文字列 ("") です。

または

counterName が空の文字列 ("") です。

または

要求した読み取り/書き込みアクセス許可の設定は、このカウンタでは無効です。

または

指定されたカテゴリが存在しません。(readOnly が true の場合)。

または

指定されたカテゴリは、.NET Framework カスタム カテゴリではありません (readOnly が false の場合)。

または

指定されたカテゴリは複数インスタンスとしてマークされているため、インスタンス名を使用してパフォーマンス カウンタを作成する必要があります。

または

instanceName が 127 文字を超えています。

ArgumentNullException

categoryName パラメータまたは counterName パラメータが null 参照 (Visual Basic では Nothing) です。

Win32Exception

システム API へのアクセス中にエラーが発生しました。

PlatformNotSupportedException

プラットフォームが Windows 98 または Windows Millennium Edition (Me) です。パフォーマンス カウンタはサポートされません。

解説解説

パラメータ文字列では大文字と小文字が区別されません。

このオーバーロードを使用して、読み取り専用モードまたは読み書き可能モードでパフォーマンス カウンタにアクセスします。

このコンストラクタのオーバーロードによって、CategoryName、CounterName、InstanceName の各プロパティが渡された値に設定され、MachineName プロパティがローカル コンピュータ "." に設定されます。

このコンストラクタは、パフォーマンス カウンタを初期化し、インスタンスをローカル コンピュータの既存のカウンタ (システム カウンタまたはカスタム カウンタ) に関連付けます。CategoryName、CounterName、InstanceName の各プロパティに渡す値は、ローカル コンピュータの既存のパフォーマンス カウンタを指す必要があります。指しているパフォーマンス カウンタ インスタンスが、いずれか一方でも無効の場合は、コンストラクタを呼び出すと例外がスローされます。

メモメモ

このオーバーロードを使用するとシステム カウンタに接続できますが、システム カウンタに書き込むことはできません。そのため、システム カウンタに接続するときに readOnly を false に設定すると、例外がスローされます。

パフォーマンス カテゴリ インスタンスを作成するには、PerformanceCounter コンストラクタで instanceName を指定します。instanceName で指定されたカテゴリ インスタンスが既に存在する場合、新しいオブジェクトは既存のカテゴリ インスタンスを参照します。

.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PerformanceCounter クラス
PerformanceCounter メンバ
System.Diagnostics 名前空間

PerformanceCounter コンストラクタ (String, String, String, String)

PerformanceCounter クラスの新しい読み取り専用インスタンスを初期化し、指定したコンピュータの指定したシステム パフォーマンス カウンタまたはカスタム パフォーマンス カウンタ、およびカテゴリ インスタンスに関連付けます。

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    categoryName As String, _
    counterName As String, _
    instanceName As String, _
    machineName As String _
)
Dim categoryName As String
Dim counterName As String
Dim instanceName As String
Dim machineName As String

Dim instance As New PerformanceCounter(categoryName,
 counterName, instanceName, machineName)
public PerformanceCounter (
    string categoryName,
    string counterName,
    string instanceName,
    string machineName
)
public:
PerformanceCounter (
    String^ categoryName, 
    String^ counterName, 
    String^ instanceName, 
    String^ machineName
)
public PerformanceCounter (
    String categoryName, 
    String counterName, 
    String instanceName, 
    String machineName
)
public function PerformanceCounter (
    categoryName : String, 
    counterName : String, 
    instanceName : String, 
    machineName : String
)

パラメータ

categoryName

このパフォーマンス カウンタが関連付けられているパフォーマンス カウンタ カテゴリ (パフォーマンス オブジェクト) の名前。

counterName

パフォーマンス カウンタの名前。

instanceName

パフォーマンス カウンタ カテゴリ インスタンスの名前。カテゴリに含まれるインスタンスが 1 つだけの場合は空の文字列 ("")。

machineName

パフォーマンス カウンタと、それに関連付けられているカテゴリが存在するコンピュータ。

例外例外
例外の種類条件

InvalidOperationException

categoryName が空の文字列 ("") です。

または

counterName が空の文字列 ("") です。

または

要求した読み取り/書き込みアクセス許可の設定は、このカウンタでは無効です。

または

指定したコンピュータ上にカウンタが存在しません。

または

指定されたカテゴリは複数インスタンスとしてマークされているため、インスタンス名を使用してパフォーマンス カウンタを作成する必要があります。

または

instanceName が 127 文字を超えています。

ArgumentException

machineName パラメータが有効ではありません。

ArgumentNullException

categoryName パラメータまたは counterName パラメータが null 参照 (Visual Basic では Nothing) です。

Win32Exception

システム API へのアクセス中にエラーが発生しました。

PlatformNotSupportedException

プラットフォームが Windows 98 または Windows Millennium Edition (Me) です。パフォーマンス カウンタはサポートされません。

解説解説

パラメータ文字列では大文字と小文字が区別されません。

このコンストラクタのオーバーロードは、CategoryName、CounterName、InstanceName、MachineName の各プロパティに、渡された値を設定します。

このコンストラクタは、パフォーマンス カウンタを初期化し、インスタンスを指定したコンピュータの既存のカウンタ (システム カウンタまたはカスタム カウンタ) に関連付けます。CategoryName、CounterName、InstanceName、MachineName の各プロパティに渡す値は、既存のパフォーマンス カウンタを指す必要があります。指しているパフォーマンス カウンタ インスタンスが無効の場合は、コンストラクタを呼び出すと例外がスローされます。このオーバーロードは、読み取り専用カウンタまたは読み取り/書き込み可能カウンタにアクセスできますが、アクセス モードは読み取り専用です。このオーバーロードを使用して作成された PerformanceCounter インスタンスは、カウンタ自身が読み取り/書き込み可能でも、カウンタに書き込むことができません。

メモメモ

リモート パフォーマンス カウンタには書き込むことができません。リモート コンピュータに接続する PerformanceCounter クラスの読み取り/書き込みインスタンスを指定できるオーバーロードはありません。

パフォーマンス カテゴリ インスタンスを作成するには、PerformanceCounter コンストラクタで instanceName を指定します。instanceName で指定されたカテゴリ インスタンスが既に存在する場合、新しいオブジェクトは既存のカテゴリ インスタンスを参照します。

.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PerformanceCounter クラス
PerformanceCounter メンバ
System.Diagnostics 名前空間

PerformanceCounter コンストラクタ

PerformanceCounter クラスの新しいインスタンスを初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
PerformanceCounter () システム パフォーマンス カウンタにもカスタム パフォーマンス カウンタにも関連付けずに、PerformanceCounter クラスの新しい読み取り専用インスタンスを初期化します。
PerformanceCounter (String, String) PerformanceCounter クラスの新しい読み取り専用インスタンスを初期化し、ローカル コンピュータの指定したシステム パフォーマンス カウンタまたはカスタム パフォーマンス カウンタに関連付けます。このコンストラクタを使用するには、カテゴリに含まれるインスタンスが 1 つだけである必要があります。
PerformanceCounter (String, String, Boolean) PerformanceCounter クラスの新しい読み取り専用インスタンスまたは読み取り/書き込み可能インスタンスを初期化し、ローカル コンピュータの指定したシステム パフォーマンス カウンタまたはカスタム パフォーマンス カウンタに関連付けます。このコンストラクタを使用するには、カテゴリに含まれるインスタンスが 1 つだけである必要があります。
PerformanceCounter (String, String, String) PerformanceCounter クラスの新しい読み取り専用インスタンスを初期化し、ローカル コンピュータの指定したシステム パフォーマンス カウンタまたはカスタム パフォーマンス カウンタ、およびカテゴリ インスタンスに関連付けます。
PerformanceCounter (String, String, String, Boolean) PerformanceCounter クラスの新しい読み取り専用インスタンスまたは読み書き可能なインスタンスを初期化し、ローカル コンピュータの指定したシステム パフォーマンス カウンタまたはカスタム パフォーマンス カウンタ、およびカテゴリ インスタンスに関連付けます。
PerformanceCounter (String, String, String, String) PerformanceCounter クラスの新しい読み取り専用インスタンスを初期化し、指定したコンピュータの指定したシステム パフォーマンス カウンタまたはカスタム パフォーマンス カウンタ、およびカテゴリ インスタンスに関連付けます。
参照参照

関連項目

PerformanceCounter クラス
PerformanceCounter メンバ
System.Diagnostics 名前空間

PerformanceCounter コンストラクタ (String, String, String)

PerformanceCounter クラスの新しい読み取り専用インスタンスを初期化し、ローカル コンピュータの指定したシステム パフォーマンス カウンタまたはカスタム パフォーマンス カウンタ、およびカテゴリ インスタンスに関連付けます。

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    categoryName As String, _
    counterName As String, _
    instanceName As String _
)
Dim categoryName As String
Dim counterName As String
Dim instanceName As String

Dim instance As New PerformanceCounter(categoryName,
 counterName, instanceName)
public PerformanceCounter (
    string categoryName,
    string counterName,
    string instanceName
)
public:
PerformanceCounter (
    String^ categoryName, 
    String^ counterName, 
    String^ instanceName
)
public PerformanceCounter (
    String categoryName, 
    String counterName, 
    String instanceName
)
public function PerformanceCounter (
    categoryName : String, 
    counterName : String, 
    instanceName : String
)

パラメータ

categoryName

このパフォーマンス カウンタが関連付けられているパフォーマンス カウンタ カテゴリ (パフォーマンス オブジェクト) の名前。

counterName

パフォーマンス カウンタの名前。

instanceName

パフォーマンス カウンタ カテゴリ インスタンスの名前。カテゴリに含まれるインスタンスが 1 つだけの場合は空の文字列 ("")。

例外例外
例外の種類条件

InvalidOperationException

categoryName が空の文字列 ("") です。

または

counterName が空の文字列 ("") です。

または

指定されたカテゴリが有効ではありません。

または

指定されたカテゴリは複数インスタンスとしてマークされているため、インスタンス名を使用してパフォーマンス カウンタを作成する必要があります。

または

instanceName が 127 文字を超えています。

ArgumentNullException

categoryName パラメータまたは counterName パラメータが null 参照 (Visual Basic では Nothing) です。

Win32Exception

システム API へのアクセス中にエラーが発生しました。

PlatformNotSupportedException

プラットフォームが Windows 98 または Windows Millennium Edition (Me) です。パフォーマンス カウンタはサポートされません。

解説解説

パラメータ文字列では大文字と小文字が区別されません。

このコンストラクタのオーバーロードによって、CategoryName、CounterName、InstanceName の各プロパティが渡された値に設定され、MachineName プロパティがローカル コンピュータ "." に設定されます。

このコンストラクタは、パフォーマンス カウンタを初期化し、インスタンスをローカル コンピュータの既存のカウンタ (システム カウンタまたはカスタム カウンタ) に関連付けます。CategoryName、CounterName、InstanceName の各プロパティに渡す値は、ローカル コンピュータの既存のパフォーマンス カウンタを指す必要があります。指しているパフォーマンス カウンタ インスタンスが無効の場合は、コンストラクタを呼び出すと例外がスローされます。

このオーバーロードは、読み取り専用カウンタまたは読み取り/書き込み可能カウンタにアクセスできますが、アクセス モードは読み取り専用です。このオーバーロードを使用して作成された PerformanceCounter インスタンスは、カウンタ自身が読み取り/書き込み可能でも、カウンタに書き込むことができません。

パフォーマンス カテゴリ インスタンスを作成するには、PerformanceCounter コンストラクタで instanceName を指定します。instanceName で指定されたカテゴリ インスタンスが既に存在する場合、新しいオブジェクトは既存のカテゴリ インスタンスを参照します。

.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PerformanceCounter クラス
PerformanceCounter メンバ
System.Diagnostics 名前空間

PerformanceCounter コンストラクタ (String, String)

PerformanceCounter クラスの新しい読み取り専用インスタンスを初期化し、ローカル コンピュータの指定したシステム パフォーマンス カウンタまたはカスタム パフォーマンス カウンタに関連付けます。このコンストラクタを使用するには、カテゴリに含まれるインスタンスが 1 つだけである必要があります。

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    categoryName As String, _
    counterName As String _
)
Dim categoryName As String
Dim counterName As String

Dim instance As New PerformanceCounter(categoryName,
 counterName)
public PerformanceCounter (
    string categoryName,
    string counterName
)
public:
PerformanceCounter (
    String^ categoryName, 
    String^ counterName
)
public PerformanceCounter (
    String categoryName, 
    String counterName
)
public function PerformanceCounter (
    categoryName : String, 
    counterName : String
)

パラメータ

categoryName

このパフォーマンス カウンタが関連付けられているパフォーマンス カウンタ カテゴリ (パフォーマンス オブジェクト) の名前。

counterName

パフォーマンス カウンタの名前。

例外例外
例外の種類条件

InvalidOperationException

categoryName が空の文字列 ("") です。

または

counterName が空の文字列 ("") です。

または

指定されたカテゴリが存在しません。

または

指定されたカテゴリは複数インスタンスとしてマークされているため、インスタンス名を使用してパフォーマンス カウンタを作成する必要があります。

ArgumentNullException

categoryName パラメータまたは counterName パラメータが null 参照 (Visual Basic では Nothing) です。

Win32Exception

システム API へのアクセス中にエラーが発生しました。

PlatformNotSupportedException

プラットフォームが Windows 98 または Windows Millennium Edition (Me) です。パフォーマンス カウンタはサポートされません。

解説解説

パラメータ文字列では大文字と小文字が区別されません。

このオーバーロードを使用して、1 つのパフォーマンス カウンタ カテゴリ インスタンスが含まれるカテゴリに属するローカル コンピュータのカウンタにアクセスします。このコンストラクタを使用して、この PerformanceCounter インスタンスで複数のインスタンスが含まれるカテゴリを指そうとすると、例外がスローされます。このオーバーロードは、読み取り専用カウンタまたは読み取り/書き込み可能カウンタにアクセスできますが、アクセス モードは読み取り専用です。このオーバーロードを使用して作成された PerformanceCounter インスタンスは、カウンタ自身が読み取り/書き込み可能でも、カウンタに書き込むことができません。

このコンストラクタのオーバーロードによって、CategoryName プロパティと CounterName プロパティが渡された値に設定され、MachineName プロパティがローカル コンピュータ "." に設定され、InstanceName プロパティが空の文字列 (".") に設定されます。

このコンストラクタは、パフォーマンス カウンタを初期化し、インスタンスをローカル コンピュータの既存のカウンタ (システム カウンタまたはカスタム カウンタ) に関連付けます。CategoryName プロパティと CounterName プロパティに渡す値は、ローカル コンピュータの既存のパフォーマンス カウンタを指す必要があります。

.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PerformanceCounter クラス
PerformanceCounter メンバ
System.Diagnostics 名前空間

PerformanceCounter フィールド


パブリック フィールドパブリック フィールド

  名前 説明
パブリック フィールド DefaultFileMappingSize  
参照参照

関連項目

PerformanceCounter クラス
System.Diagnostics 名前空間
PerformanceCounterType
CounterCreationData クラス
CounterCreationDataCollection クラス
CounterSample 構造体
CounterSampleCalculator クラス

PerformanceCounter プロパティ


パブリック プロパティパブリック プロパティ

参照参照

関連項目

PerformanceCounter クラス
System.Diagnostics 名前空間
PerformanceCounterType
CounterCreationData クラス
CounterCreationDataCollection クラス
CounterSample 構造体
CounterSampleCalculator クラス

PerformanceCounter メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド BeginInit フォームまたは別のコンポーネントで使用する PerformanceCounter インスタンスの初期化を開始します。初期化は実行時に発生します。
パブリック メソッド Close パフォーマンス カウンタを閉じ、このパフォーマンス カウンタ インスタンスで割り当てられたすべてのリソースを解放します。
パブリック メソッド CloseSharedResources カウンタによって割り当てられた共有状態のパフォーマンス カウンタ ライブラリを解放します。
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド Decrement 有効な分割不可能な操作を通じて、関連付けられたパフォーマンス カウンタを 1 ずつデクリメントします。
パブリック メソッド Dispose  Component によって使用されているすべてのリソースを解放します。 ( Component から継承されます。)
パブリック メソッド EndInit フォームまたは別のコンポーネントで使用する PerformanceCounter インスタンスの初期化を終了します。初期化は実行時に発生します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド Increment 有効な分割不可能な操作を通じて、関連付けられたパフォーマンス カウンタを 1 ずつインクリメントします。
パブリック メソッド IncrementBy 有効な分割不可能な操作を通じて、関連付けられたパフォーマンス カウンタの値を指定した量ずつインクリメントまたはデクリメントします。
パブリック メソッド InitializeLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド NextSample カウンタ サンプルを取得し、生の、つまり計算されない値を返します。
パブリック メソッド NextValue カウンタ サンプルを取得し、計算される値を返します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド RemoveInstance PerformanceCounter オブジェクトの InstanceName プロパティで指定されたカテゴリ インスタンスを削除します。
パブリック メソッド ToString  Component の名前を格納している String を返します (存在する場合)。このメソッドはオーバーライドできません。 ( Component から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

PerformanceCounter クラス
System.Diagnostics 名前空間
PerformanceCounterType
CounterCreationData クラス
CounterCreationDataCollection クラス
CounterSample 構造体
CounterSampleCalculator クラス

PerformanceCounter メンバ

Windows NT パフォーマンス カウンタ コンポーネントを表します。

PerformanceCounter データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド PerformanceCounter オーバーロードされます。 PerformanceCounter クラスの新しいインスタンスを初期化します。
パブリック フィールドパブリック フィールド
  名前 説明
パブリック フィールド DefaultFileMappingSize  
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド BeginInit フォームまたは別のコンポーネントで使用する PerformanceCounter インスタンスの初期化を開始します。初期化は実行時に発生します。
パブリック メソッド Close パフォーマンス カウンタを閉じ、このパフォーマンス カウンタ インスタンスで割り当てられたすべてのリソースを解放します。
パブリック メソッド CloseSharedResources カウンタによって割り当てられた共有状態のパフォーマンス カウンタ ライブラリを解放します。
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッド Decrement 有効な分割不可能な操作を通じて、関連付けられたパフォーマンス カウンタを 1 ずつデクリメントします。
パブリック メソッド Dispose  Component によって使用されているすべてのリソースを解放します。 (Component から継承されます。)
パブリック メソッド EndInit フォームまたは別のコンポーネントで使用する PerformanceCounter インスタンスの初期化を終了します。初期化は実行時に発生します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド Increment 有効な分割不可能な操作を通じて、関連付けられたパフォーマンス カウンタを 1 ずつインクリメントします。
パブリック メソッド IncrementBy 有効な分割不可能な操作を通じて、関連付けられたパフォーマンス カウンタの値を指定した量ずつインクリメントまたはデクリメントします。
パブリック メソッド InitializeLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド NextSample カウンタ サンプルを取得し、生の、つまり計算されない値を返します。
パブリック メソッド NextValue カウンタ サンプルを取得し、計算される値を返します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド RemoveInstance PerformanceCounter オブジェクトの InstanceName プロパティで指定されたカテゴリ インスタンスを削除します。
パブリック メソッド ToString  Component の名前を格納している String を返します (存在する場合)。このメソッドはオーバーライドできません。 (Component から継承されます。)
プロテクト メソッドプロテクト メソッド
パブリック イベントパブリック イベント
参照参照

関連項目

PerformanceCounter クラス
System.Diagnostics 名前空間
PerformanceCounterType
CounterCreationData クラス
CounterCreationDataCollection クラス
CounterSample 構造体
CounterSampleCalculator クラス


英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「performancecounter」の関連用語

performancecounterのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



performancecounterのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS