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

PerformanceCounterCategory クラス

パフォーマンス カウンタカテゴリ定義するパフォーマンス オブジェクト表します

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

Public NotInheritable Class
 PerformanceCounterCategory
Dim instance As PerformanceCounterCategory
public sealed class PerformanceCounterCategory
public ref class PerformanceCounterCategory
 sealed
public final class PerformanceCounterCategory
public final class PerformanceCounterCategory
解説解説
メモメモ

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

メモ重要 :

パフォーマンス カウンタ作成または削除する場合、名前付ミューテックス使用して基になるコード同期する必要があります。高度な特権付与されアプリケーションが名前付ミューテックスロックしている場合パフォーマンス カウンタ作成または削除しようとしても、ロック解除されるまでアプリケーション応答しません。この問題回避するために、信頼関係のないコードには UnmanagedCode アクセス許可付与しないでくださいまた、UnmanagedCode アクセス許可使用すると、他のアクセス許可バイパスできる可能性もあるため、信頼度の高いコードにだけこのアクセス許可付与する必要があります

PerformanceCounterCategory インスタンスの CategoryName プロパティは、パフォーマンス ビューワ アプリケーションの [カウンタ追加] ダイアログ ボックスの [パフォーマンス オブジェクト] ボックス表示されます。

PerformanceCounterCategory クラスには、コンピュータ上のカウンタおよびカテゴリやり取りするいくつかのメソッドありますCreate メソッド使用すると、カスタム カテゴリを定義できますDelete メソッド使用すると、コンピュータからカテゴリ削除できます。GetCategories メソッド使用すると、カテゴリの一覧を表示できます。ReadCategory を使用すると、単一カテゴリ関連付けられているすべてのカウンタインスタンスデータ取得できます

パフォーマンス カウンタは、アプリケーションに関するパフォーマンス データ発行しますカテゴリには、物理的なコンポーネント (プロセッサディスクメモリなど) とシステム オブジェクト (プロセススレッドなど) が含まれます。同じパフォーマンス オブジェクト関連するシステム カウンタは、共通のフォーカスを指すカテゴリグループ化されますPerformanceCounter クラスインスタンス作成するときは、まずコンポーネントやり取りするカテゴリ指示し次にカテゴリからカウンタ選択します

たとえば、Windows カウンタ カテゴリ1 つに、Memory カテゴリあります。このカテゴリにあるシステム カウンタは、利用できるバイト数やキャッシュされているバイト数などメモリデータ追跡しますアプリケーションキャッシュされているバイト操作する場合は、PerformanceCounter コンポーネントインスタンス作成し、そのインスタンスMemory カテゴリ接続し、このカテゴリから適切なカウンタ (この例では Cached Bytes) を選択します

システム利用できるカウンタ カテゴリ多数ありますが、頻繁にやり取りするカテゴリは、CacheMemoryObjects、PhysicalDisk、ProcessProcessorServerSystem、および Thread です。

使用例使用例

PerformanceCounter および PerformanceCounterCategoryローカル コンピュータまたは別のコンピュータ存在するかどうか判断するコード例次に示します。この例では、これらのオブジェクトローカル コンピュータ存在しない場合必要に応じて作成しますExists メソッド使用してPerformanceCounterCategory存在するかどうか判断しますPerformanceCounterCategory存在せずカウンタ名が指定されていない場合、またはコンピュータリモート マシンである場合終了します

PerformanceCounter 名が指定されている場合、この例では CounterExists メソッド使用して結果表示しますPerformanceCounter存在しない場合ユーザーは、PerformanceCounterCategory削除し新しPerformanceCounter再作成できます。この処理が行われなかった場合は、Delete メソッドによってカテゴリ削除されます。

要求に応じて、この例では Create メソッド使用して新しPerformanceCounterCategory および PerformanceCounter作成しますインスタンス名が指定されている場合は、InstanceExists メソッド使用して結果表示します

Imports System
Imports System.Diagnostics
Imports Microsoft.VisualBasic

Module PerfCounterCatCreateExistMod

    Sub Main(ByVal args() As
 String)
        Dim categoryName As String
 = ""
        Dim counterName As String
 = ""
        Dim instanceName As String
 = ""
        Dim machineName As String
 = ""
        Dim categoryHelp As String
 = ""
        Dim counterHelp As String
 = ""
        Dim objectExists As Boolean
 = False
        Dim pcc As PerformanceCounterCategory
        Dim createCategory As Boolean
 = False

        ' Copy the supplied arguments into the local variables.
        Try
            categoryName = args(0)
            counterName = args(1)
            instanceName = args(2)
            machineName = IIf(args(3) = ".", "",
 args(3))
            categoryHelp = args(4)
            counterHelp = args(5)
        Catch ex As Exception
            ' Ignore the exception from non-supplied arguments.
        End Try

        ' Verify that the category name is not blank.
        If categoryName.Length = 0 Then
            Console.WriteLine("Category name cannot be blank.")
            Return
        End If

        ' Check whether the specified category exists.
        If machineName.Length = 0 Then
            objectExists = _
                PerformanceCounterCategory.Exists(categoryName)

        Else
            ' Handle the exception that is thrown if the computer 
            ' cannot be found.
            Try
                objectExists = PerformanceCounterCategory.Exists( _
                    categoryName, machineName)
            Catch ex As Exception
                Console.WriteLine("Error checking for existence
 of " & _
                    "category ""{0}""
 on computer ""{1}"":"
 & vbCrLf & _
                    ex.Message, categoryName, machineName)
                Return
            End Try
        End If

        ' Tell the user whether the specified category exists.
        Console.WriteLine("Category ""{0}""
 " & _
            IIf(objectExists, "exists on ", "does
 not exist on ") & _
            IIf(machineName.Length > 0, _
                "computer ""{1}"".",
 "this computer."), _
            categoryName, machineName)

        ' If no counter name is given, the program cannot continue.
        If counterName.Length = 0 Then
            Return
        End If

        ' A category can only be created on the local computer.
        If Not objectExists Then
            If machineName.Length > 0 Then
                Return
            Else
                createCategory = True
            End If
        Else
            ' Check whether the specified counter exists.
            If machineName.Length = 0 Then
                objectExists = PerformanceCounterCategory.CounterExists( _
                    counterName, categoryName)
            Else
                objectExists = PerformanceCounterCategory.CounterExists( _
                    counterName, categoryName, machineName)
            End If

            ' Tell the user whether the counter exists.
            Console.WriteLine("Counter ""{0}""
 " & _
                IIf(objectExists, "exists", "does
 not exist") & _
                " in category ""{1}""
 on " & _
                IIf(machineName.Length > 0, _
                    "computer ""{2}"".",
 "this computer."), _
                counterName, categoryName, machineName)

            ' If the counter does not exist, consider creating it.
            If Not objectExists Then

                ' If this is a remote computer, 
                ' exit because the category cannot be created.
                If machineName.Length > 0 Then
                    Return
                Else
                    ' Ask whether the user wants to recreate the category.
                    Console.Write("Do you want to delete and recreate
 " & _
                        "category ""{0}""
 with your new counter? [Y/N]: ", _
                        categoryName)
                    Dim userReply As String
 = Console.ReadLine()

                    ' If yes, delete the category so it can be recreated
 later.
                    If userReply.Trim.ToUpper.Chars(0) = "Y"
 Then
                        PerformanceCounterCategory.Delete(categoryName)
                        createCategory = True
                    Else
                        Return
                    End If
                End If
            End If
        End If

        ' Create the category if it was deleted or it never existed.
        If createCategory Then
            pcc = PerformanceCounterCategory.Create( _
                categoryName, categoryHelp, counterName, counterHelp)

            Console.WriteLine( _
                "Category ""{0}""
 with counter ""{1}""
 created.", _
                pcc.CategoryName, counterName)

        ElseIf instanceName.Length > 0 Then

            ' If an instance name was given, check whether it exists.
            If machineName.Length = 0 Then
                objectExists = PerformanceCounterCategory.InstanceExists( _
                    instanceName, categoryName)
            Else
                objectExists = PerformanceCounterCategory.InstanceExists( _
                    instanceName, categoryName, machineName)
            End If

            ' Tell the user whether the instance exists.
            Console.WriteLine("Instance ""{0}""
 " & _
                IIf(objectExists, "exists", "does
 not exist") & _
                " in category ""{1}""
 on " & _
                IIf(machineName.Length > 0, _
                    "computer ""{2}"".",
 "this computer."), _
                instanceName, categoryName, machineName)
        End If
    End Sub
End Module
継承階層継承階層
System.Object
  System.Diagnostics.PerformanceCounterCategory
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PerformanceCounterCategory メンバ
System.Diagnostics 名前空間
PerformanceCounter クラス
CounterCreationDataCollection クラス
CounterSample 構造体

PerformanceCounterCategory コンストラクタ ()

PerformanceCounterCategory クラス新しインスタンス初期化し、CategoryName プロパティを空のままにし、MachineName プロパティローカル コンピュータ設定します

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

Dim instance As New PerformanceCounterCategory
public PerformanceCounterCategory ()
public:
PerformanceCounterCategory ()
public PerformanceCounterCategory ()
public function PerformanceCounterCategory
 ()
解説解説
使用例使用例

PerformanceCounterCategory 名およびコンピュータ名をコマンド ラインから受け取コード例次に示します。この例では、指定されパラメータの数に適したコンストラクタ オーバーロード使用してPerformanceCounterCategory作成しプロパティ表示します

Sub Main(ByVal args() As
 String)
    Dim categoryName As String
 = ""
    Dim machineName As String
 = ""
    Dim pcc As PerformanceCounterCategory

    ' Copy the supplied arguments into the local variables.
    Try
        categoryName = args(0)
        machineName = IIf(args(1) = ".", "",
 args(1))
    Catch ex As Exception
        ' Ignore the exception from non-supplied arguments.
    End Try

    ' Create a PerformanceCounterCategory object using 
    ' the appropriate constructor.
    If categoryName.Length = 0 Then
        pcc = New PerformanceCounterCategory
    ElseIf machineName.Length = 0 Then
        pcc = New PerformanceCounterCategory(categoryName)
    Else
        pcc = New PerformanceCounterCategory(categoryName, machineName)
    End If

    ' Display the properties of the PerformanceCounterCategory object.
    Try
        Console.WriteLine("  Category:  {0}", pcc.CategoryName)
        Console.WriteLine("  Computer:  {0}", pcc.MachineName)
        Console.WriteLine("  Help text: {0}", pcc.CategoryHelp)
    Catch ex As Exception
        Console.WriteLine("Error getting the properties of the
 " & _
            "PerformanceCounterCategory object:")
        Console.WriteLine(ex.Message)
    End Try
End Sub
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PerformanceCounterCategory クラス
PerformanceCounterCategory メンバ
System.Diagnostics 名前空間
CategoryName
MachineName
PerformanceCounter クラス

PerformanceCounterCategory コンストラクタ (String)

PerformanceCounterCategory クラス新しインスタンス初期化し、CategoryName プロパティ指定した値に設定し、MachineName プロパティローカル コンピュータ設定します

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

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

Dim instance As New PerformanceCounterCategory(categoryName)
public PerformanceCounterCategory (
    string categoryName
)
public:
PerformanceCounterCategory (
    String^ categoryName
)
public PerformanceCounterCategory (
    String categoryName
)
public function PerformanceCounterCategory
 (
    categoryName : String
)

パラメータ

categoryName

この PerformanceCounterCategory インスタンス関連付けるパフォーマンス カウンタ カテゴリまたはパフォーマンス オブジェクトの名前。

例外例外
例外種類条件

ArgumentException

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

ArgumentNullException

categoryNamenull 参照 (Visual Basic では Nothing) です。

使用例使用例

PerformanceCounterCategory 名およびコンピュータ名をコマンド ラインから受け取コード例次に示します。この例では、指定されパラメータの数に適したコンストラクタ オーバーロード使用してPerformanceCounterCategory作成しプロパティ表示します

Sub Main(ByVal args() As
 String)
    Dim categoryName As String
 = ""
    Dim machineName As String
 = ""
    Dim pcc As PerformanceCounterCategory

    ' Copy the supplied arguments into the local variables.
    Try
        categoryName = args(0)
        machineName = IIf(args(1) = ".", "",
 args(1))
    Catch ex As Exception
        ' Ignore the exception from non-supplied arguments.
    End Try

    ' Create a PerformanceCounterCategory object using 
    ' the appropriate constructor.
    If categoryName.Length = 0 Then
        pcc = New PerformanceCounterCategory
    ElseIf machineName.Length = 0 Then
        pcc = New PerformanceCounterCategory(categoryName)
    Else
        pcc = New PerformanceCounterCategory(categoryName, machineName)
    End If

    ' Display the properties of the PerformanceCounterCategory object.
    Try
        Console.WriteLine("  Category:  {0}", pcc.CategoryName)
        Console.WriteLine("  Computer:  {0}", pcc.MachineName)
        Console.WriteLine("  Help text: {0}", pcc.CategoryHelp)
    Catch ex As Exception
        Console.WriteLine("Error getting the properties of the
 " & _
            "PerformanceCounterCategory object:")
        Console.WriteLine(ex.Message)
    End Try
End Sub
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PerformanceCounterCategory クラス
PerformanceCounterCategory メンバ
System.Diagnostics 名前空間
CategoryName
MachineName
PerformanceCounter クラス

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

PerformanceCounterCategory クラス新しインスタンス初期化し、CategoryName プロパティと MachineName プロパティ指定した値に設定します

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

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

Dim instance As New PerformanceCounterCategory(categoryName,
 machineName)
public PerformanceCounterCategory (
    string categoryName,
    string machineName
)
public:
PerformanceCounterCategory (
    String^ categoryName, 
    String^ machineName
)
public PerformanceCounterCategory (
    String categoryName, 
    String machineName
)
public function PerformanceCounterCategory
 (
    categoryName : String, 
    machineName : String
)

パラメータ

categoryName

この PerformanceCounterCategory インスタンス関連付けるパフォーマンス カウンタ カテゴリまたはパフォーマンス オブジェクトの名前。

machineName

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

例外例外
例外種類条件

ArgumentException

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

または

machineName 構文無効です。

ArgumentNullException

categoryNamenull 参照 (Visual Basic では Nothing) です。

使用例使用例

PerformanceCounterCategory 名およびコンピュータ名をコマンド ラインから受け取コード例次に示します。この例では、指定されパラメータの数に適したコンストラクタ オーバーロード使用してPerformanceCounterCategory作成しプロパティ表示します

Sub Main(ByVal args() As
 String)
    Dim categoryName As String
 = ""
    Dim machineName As String
 = ""
    Dim pcc As PerformanceCounterCategory

    ' Copy the supplied arguments into the local variables.
    Try
        categoryName = args(0)
        machineName = IIf(args(1) = ".", "",
 args(1))
    Catch ex As Exception
        ' Ignore the exception from non-supplied arguments.
    End Try

    ' Create a PerformanceCounterCategory object using 
    ' the appropriate constructor.
    If categoryName.Length = 0 Then
        pcc = New PerformanceCounterCategory
    ElseIf machineName.Length = 0 Then
        pcc = New PerformanceCounterCategory(categoryName)
    Else
        pcc = New PerformanceCounterCategory(categoryName, machineName)
    End If

    ' Display the properties of the PerformanceCounterCategory object.
    Try
        Console.WriteLine("  Category:  {0}", pcc.CategoryName)
        Console.WriteLine("  Computer:  {0}", pcc.MachineName)
        Console.WriteLine("  Help text: {0}", pcc.CategoryHelp)
    Catch ex As Exception
        Console.WriteLine("Error getting the properties of the
 " & _
            "PerformanceCounterCategory object:")
        Console.WriteLine(ex.Message)
    End Try
End Sub
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PerformanceCounterCategory クラス
PerformanceCounterCategory メンバ
System.Diagnostics 名前空間
CategoryName
MachineName
PerformanceCounter クラス

PerformanceCounterCategory コンストラクタ

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

名前 説明
PerformanceCounterCategory () PerformanceCounterCategory クラス新しインスタンス初期化し、CategoryName プロパティを空のままにし、MachineName プロパティローカル コンピュータ設定します
PerformanceCounterCategory (String) PerformanceCounterCategory クラス新しインスタンス初期化しCategoryName プロパティ指定した値に設定しMachineName プロパティローカル コンピュータ設定します
PerformanceCounterCategory (String, String) PerformanceCounterCategory クラス新しインスタンス初期化しCategoryName プロパティMachineName プロパティ指定した値に設定します
参照参照

関連項目

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

PerformanceCounterCategory プロパティ


PerformanceCounterCategory メソッド


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

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド CounterExists オーバーロードされます指定したカウンタ特定のカテゴリ登録されているかどうか判断します
パブリック メソッド Create オーバーロードされますカスタム パフォーマンス カウンタ カテゴリ1 つ上のカウンタシステム登録します
パブリック メソッド Delete カテゴリとそれに関連付けられているカウンタローカル コンピュータから削除します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド Exists オーバーロードされますカテゴリシステム登録されているかどうか判断します
パブリック メソッド GetCategories オーバーロードされますコンピュータ登録されているパフォーマンス カウンタ カテゴリの一覧を取得します
パブリック メソッド GetCounters オーバーロードされます。 このパフォーマンス カウンタ カテゴリカウンタの一覧を取得します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetInstanceNames このカテゴリ関連付けられたパフォーマンス オブジェクト インスタンスの一覧を取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド InstanceExists オーバーロードされますカテゴリ指定したパフォーマンス オブジェクト インスタンス含まれているかどうか判断します
パブリック メソッド ReadCategory このパフォーマンス カウンタ カテゴリ関連付けられたすべてのカウンタパフォーマンス オブジェクト インスタンスデータ読み取ります。
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

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

PerformanceCounterCategory メンバ

パフォーマンス カウンタカテゴリ定義するパフォーマンス オブジェクト表します

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


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド PerformanceCounterCategory オーバーロードされます。 PerformanceCounterCategory クラス新しインスタンス初期化します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド CounterExists オーバーロードされます指定したカウンタ特定のカテゴリ登録されているかどうか判断します
パブリック メソッド Create オーバーロードされますカスタム パフォーマンス カウンタ カテゴリ1 つ上のカウンタシステム登録します
パブリック メソッド Delete カテゴリとそれに関連付けられているカウンタローカル コンピュータから削除します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド Exists オーバーロードされますカテゴリシステム登録されているかどうか判断します
パブリック メソッド GetCategories オーバーロードされますコンピュータ登録されているパフォーマンス カウンタ カテゴリの一覧を取得します
パブリック メソッド GetCounters オーバーロードされます。 このパフォーマンス カウンタ カテゴリカウンタの一覧を取得します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetInstanceNames このカテゴリ関連付けられたパフォーマンス オブジェクト インスタンスの一覧を取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド InstanceExists オーバーロードされますカテゴリ指定したパフォーマンス オブジェクト インスタンス含まれているかどうか判断します
パブリック メソッド ReadCategory このパフォーマンス カウンタ カテゴリ関連付けられたすべてのカウンタパフォーマンス オブジェクト インスタンスデータ読み取ります。
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

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



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「PerformanceCounterCategory」の関連用語

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

   

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



PerformanceCounterCategoryのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS