NSDPerformance メンバ

コンピュータのパフォーマンス取得を行います。


●コンストラクタ

名前 説明
NSDPerformance NSDPerformanceを初期化します。

●メソッドの一覧

名前 引数 戻り値 説明
Dispose なし なし リソースを解放します。
GetCategoryList ( String ) PerformanceCounterCategory()型 カテゴリのリストを取得します。
GetInstanceList ( String , String ) String()型 コンピュータ名、カテゴリ名を指定してインスタンスのリストを取得します。
( PerformanceCounterCategory ) String()型 インスタンスのリストを取得します。
GetCounterList ( PerformanceCounterCategory , String ) PerformanceCounter()型 カウンターリストを取得します。
GetSetingCounterList なし ArrayList型 登録されているカウンターリストを取得します。
AddCounter ( String , String , String , String ) Boolean型 カウンターリストに各名前を指定しカウンターを追加します。
( PerformanceCounter ) Boolean型 カウンターリストにカウンターを追加します。
DeleteCounter ( String , String , String , String ) Boolean型 追加されているカウンターを各名前を指定して削除します。
( PerformanceCounter ) Boolean型 追加されているカウンターを削除します。
FoundCounter ( String , String , String , String ) Boolean型 カウンターが登録されているか各名前を指定して確認します。
( PerformanceCounter ) Boolean型 カウンターが登録されているかを確認します。
LoadCounterList ( String , NSDPerformanceFileStyle , [Boolean] , [Encoding] , [Boolean] ) Boolean型 登録データを読み込みます。
SaveCounterList ( String , NSDPerformanceFileStyle , [Boolean] , [Encoding] ) Boolean型 登録データを書き込みます。

●定数の一覧

名前:NSDPerformanceFileStyle (ファイルスタイル)
名前 内容
XML XML形式。
CSV CSV形式。

●NSDPerformanceコンストラクタの説明

構文:Public Sub New()

使用法:Dim Cls_Performance As New NSDWinEnd.NSDPerformance

引数:なし。

使用例:

Public Class Form1
    Dim Cls_Performance As New NSDWinEnd.NSDPerformance
        :
End Class

●NSDPerformanceメソッドの説明

名前:Dispose

構文:Public Sub Dispose()

機能:NSDPerformanceクラスのオブジェクトで使用されている全てのリソースを解放します。

※終了時に必ず呼び出します。

引数:なし。

戻り値:なし。

使用例:

Public Class Form1
    Dim Cls_P As New NSDWinEnd.NSDPerformance

    Private Sub Form1_FormClosing( sender As Object, _
                                   e As System.Windows.Forms.FormClosingEventArgs _
                                 ) Handles Me.FormClosing
        Try
            Cls_P.Dispose()
        Catch ex As Exception
        End Try
    End Sub
End Class

 

名前:GetCategoryList

構文:Public Function GetCategoryList(ComputerName ) As PerformanceCounterCategory()

機能:カテゴリのリストを取得します。

引数:

 

名前 引数渡しの方法 説明
ComputerName String 値渡し(ByVal) カテゴリのリストを取得するコンピュータ名を渡します。
※ローカルコンピュータの場合は、Nothingを渡します。

戻り値:System.Diagnostics.PerformanceCounterCategory()

戻り値の説明:

カテゴリのリストを戻します。

使用例:

Public Class Form1
    Dim Cls_P As New NSDWinEnd.NSDPerformance

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs _
                             ) Handles Button1.Click
        Try
            ' カテゴリのリストを取得します.
            Dim Cls_PCC As System.Diagnostics.PerformanceCounterCategory() = _
                                Cls_P.GetCategoryList()
            With Me.ListBox1
                .Items.Clear
                For Each OnePCC As System.Diagnostics.PerformanceCounterCategory In Cls_PCC
                    .Items.Add(OnePCC)
                Next
            End With
                :
        Finally
        End Try
    End Sub

    Private Sub Form1_FormClosing( sender As Object, _
                                   e As System.Windows.Forms.FormClosingEventArgs _
                                 ) Handles Me.FormClosing
        Try
            Cls_P.Dispose()
        Finally
        End Try
    End Sub
End Class

 

名前:GetInstanceList

インスタンスのリストを取得します。

@コンピュータ名、カテゴリ名を指定してインスタンスのリストを取得します。

構文:Public Function GetInstanceList( ComputerName , CategoryName ) As String()

引数:

 

名前 引数渡しの方法 説明
ComputerName String 値渡し(ByVal) カテゴリのリストを取得するコンピュータ名を渡します。
※ローカルコンピュータの場合は、Nothingを渡します。
CategoryName String 値渡し(ByVal) カテゴリ名を渡します。

戻り値:String()

戻り値の説明:

インスタンス名のリストを戻します。

使用例:

Public Class Form1
    Dim Cls_P As New NSDWinEnd.NSDPerformance

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs _
                             ) Handles Button1.Click
        Try
            ' Processorのインスタンスリストを取得します.
            Dim Str_Instance() As String = Cls_P.GetInstanceList(Nothing, "Processor")
            For Each Str_OneInstance As String In Str_Instance
                MsgBox(Str_OneInstance)
            Next
                :
        Finally
        End Try
    End Sub

    Private Sub Form1_FormClosing( sender As Object, _
                                   e As System.Windows.Forms.FormClosingEventArgs _
                                 ) Handles Me.FormClosing
        Try
            Cls_P.Dispose()
        Finally
        End Try
    End Sub
End Class

 

Aインスタンスのリストを取得します。

構文:Public Function GetInstanceList( PerformanceCounterCategory ) As String()

引数:

 

名前 引数渡しの方法 説明
PerformanceCounterCategory System.Diagnostics.PerformanceCounterCategory 値渡し(ByVal) カテゴリを渡します。

戻り値:String()

戻り値の説明:

インスタンス名のリストを戻します。

使用例:

Public Class Form1
    Dim Cls_P As New NSDWinEnd.NSDPerformance

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs _
                             ) Handles Button1.Click
        Try
            ' カテゴリのリストを取得します.
            Dim Cls_PCC As System.Diagnostics.PerformanceCounterCategory() = _
                                Cls_P.GetCategoryList()
            For Each OnePCC As System.Diagnostics.PerformanceCounterCategory In Cls_PCC
                Dim Str_Instance() As String = Cls_P.GetInstanceList(OnePCC)
                For Each Str_OneInstance As String In Str_Instance
                    MsgBox(Str_OneInstance)
                Next
            Next
                :
        Finally
        End Try
    End Sub

    Private Sub Form1_FormClosing( sender As Object, _
                                   e As System.Windows.Forms.FormClosingEventArgs _
                                 ) Handles Me.FormClosing
        Try
            Cls_P.Dispose()
        Finally
        End Try
    End Sub
End Class

 

名前:GetCounterList

構文:Public Function GetCounterList( PerformanceCounterCategory , InstanceName ) As PerformanceCounter()

機能:カウンターリストを取得します。

引数:

 

名前 引数渡しの方法 説明
PerformanceCounterCategory System.Diagnostics.PerformanceCounterCategory 値渡し(ByVal) カテゴリを渡します。
InstanceName String 値渡し(ByVal) インスタンス名を渡します。

戻り値:System.Diagnostics.PerformanceCounter()

戻り値の説明:

カウンターリストを戻します。

使用例:

Public Class Form1
    Dim Cls_P As New NSDWinEnd.NSDPerformance

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs _
                             ) Handles Button1.Click
        Try
            ' カテゴリのリストを取得します.
            Dim Cls_PCC As System.Diagnostics.PerformanceCounterCategory() = _
                                Cls_P.GetCategoryList()
            For Each OnePCC As System.Diagnostics.PerformanceCounterCategory In Cls_PCC
                Dim Str_Instance() As String = Cls_P.GetInstanceList(OnePCC)
                For Each Str_OneInstance As String In Str_Instance
                    Dim Cls_PC AS System.Diagnostics.PerformanceCounter() = _
                                        Cls_P.GetCounterList(OnePCC, Str_OneInstance)
                    :
                Next
            Next
                :
        Finally
        End Try
    End Sub

    Private Sub Form1_FormClosing( sender As Object, _
                                   e As System.Windows.Forms.FormClosingEventArgs _
                                 ) Handles Me.FormClosing
        Try
            Cls_P.Dispose()
        Finally
        End Try
    End Sub
End Class

 

名前:GetSetingCounterList

構文:Public Function GetSetingCounterList() As ArrayList

機能:登録されているカウンターリストを取得します。

引数:なし。

戻り値:System.Collections.ArrayList

戻り値の説明:

System.Diagnostics.PerformanceCounterのリストを返します。

使用例:

Public Class Form1
    Dim Cls_P As New NSDWinEnd.NSDPerformance

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs _
                             ) Handles Button1.Click
        Try
            Dim Cls_PCList As System.Collections.ArrayList = Cls_P.GetSetingCounterList()
            With Me.ListView1
                .Items.Clear
                For Each OnePc As System.Diagnostics.PerformanceCounter In Cls_PCList
                    Dim Cls_LI As System.Windows.Forms.ListViewItem = .Items.Add(OnePc.CategoryName)

                    Cls_LI.SubItems.Add(OnePc.InstanceName)
                    Cls_LI.SubItems.Add(OnePc.CounterName)
                    Cls_LI.SubItems.Add(OnePc.MachineName)
                    Cls_LI.SubItems.Add(OnePc.NextValue)
                    Cls_LI.Tag = OnePc
                Next
            End With
                :
        Finally
        End Try
    End Sub

    Private Sub Form1_FormClosing( sender As Object, _
                                   e As System.Windows.Forms.FormClosingEventArgs _
                                 ) Handles Me.FormClosing
        Try
            Cls_P.Dispose()
        Finally
        End Try
    End Sub
End Class

 

名前:AddCounter

機能:カウンターを追加します。

@カウンターリストに各名前を指定しカウンターを追加します。

構文:Public Function AddCounter( ComputerName , CategoryName , CounterName , InstanceName ) As Boolean

引数:

 

名前 引数渡しの方法 説明
ComputerName String 値渡し(ByVal) コンピュータ名を渡します。
※ローカルコンピュータの場合は、Nothingを渡します。
CategoryName String 値渡し(ByVal) カテゴリ名を渡します。
CounterName String 値渡し(ByVal) カウンター名を渡します。
InstanceName String 値渡し(ByVal) インスタンス名を渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗、エラー発生

使用例:

Public Class Form1
    Dim Cls_P As New NSDWinEnd.NSDPerformance

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs _
                             ) Handles Button1.Click
        Try
                :
            Cls_P.AddCounter( Nothing, "Processor", "% Processor Time", "_Total")
                :
        Finally
        End Try
    End Sub

    Private Sub Form1_FormClosing( sender As Object, _
                                   e As System.Windows.Forms.FormClosingEventArgs _
                                 ) Handles Me.FormClosing
        Try
            Cls_P.Dispose()
        Finally
        End Try
    End Sub
End Class

 

Aカウンターリストにカウンターを追加します。

構文:Public Function AddCounter( PerformanceCounter ) As Boolean

引数:

 

名前 引数渡しの方法 説明
PerformanceCounter System.Diagnostics.PerformanceCounter 値渡し(ByVal) PerformanceCounterを渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗、エラー発生

使用例:

Public Class Form1
    Dim Cls_P As New NSDWinEnd.NSDPerformance

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs _
                             ) Handles Button1.Click
        Try
                :
            ' カテゴリのリストを取得します.
            Dim Cls_PCC As System.Diagnostics.PerformanceCounterCategory() = _
                                Cls_P.GetCategoryList()
            For Each OnePCC As System.Diagnostics.PerformanceCounterCategory In Cls_PCC
                Dim Str_Instance() As String = Cls_P.GetInstanceList(OnePCC)
                For Each Str_OneInstance As String In Str_Instance
                    Dim Cls_PC AS System.Diagnostics.PerformanceCounter() = _
                                        Cls_P.GetCounterList(OnePCC, Str_OneInstance)
                    For Each Cls_OnePC As System.Diagnostics.PerformanceCounter In Cls_PC
                        :
                        Cls_P.AddCounter(Cls_OnePC)
                        :
                    Next
                Next
            Next
                :
        Finally
        End Try
    End Sub

    Private Sub Form1_FormClosing( sender As Object, _
                                   e As System.Windows.Forms.FormClosingEventArgs _
                                 ) Handles Me.FormClosing
        Try
            Cls_P.Dispose()
        Finally
        End Try
    End Sub
End Class

 

名前:DeleteCounter

機能:追加されているカウンターを削除します。

@追加されているカウンターを各名前を指定して削除します。

構文:Public Function DeleteCounter( ComputerName , CategoryName , CounterName , InstanceName ) As Boolean

引数:

 

名前 引数渡しの方法 説明
ComputerName String 値渡し(ByVal) コンピュータ名を渡します。
※ローカルコンピュータの場合は、Nothingを渡します。
CategoryName String 値渡し(ByVal) カテゴリ名を渡します。
CounterName String 値渡し(ByVal) カウンター名を渡します。
InstanceName String 値渡し(ByVal) インスタンス名を渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗、エラー発生

使用例:

Public Class Form1
    Dim Cls_P As New NSDWinEnd.NSDPerformance

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs _
                             ) Handles Button1.Click
        Try
                :
            Cls_P.DeleteCounter( Nothing, "Processor", "% Processor Time", "_Total")
                :
        Finally
        End Try
    End Sub

    Private Sub Form1_FormClosing( sender As Object, _
                                   e As System.Windows.Forms.FormClosingEventArgs _
                                 ) Handles Me.FormClosing
        Try
            Cls_P.Dispose()
        Finally
        End Try
    End Sub
End Class

 

A追加されているカウンターを削除します。

構文:Public Function DeleteCounter( PerformanceCounter ) As Boolean

引数:

 

名前 引数渡しの方法 説明
PerformanceCounter System.Diagnostics.PerformanceCounter 値渡し(ByVal) PerformanceCounterを渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗、エラー発生

使用例:

Public Class Form1
    Dim Cls_P As New NSDWinEnd.NSDPerformance

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs _
                             ) Handles Button1.Click
        Try
                :
            Dim Cls_PCList As System.Collections.ArrayList = Cls_P.GetSetingCounterList
            For Each OnePc As System.Diagnostics.PerformanceCounter In Cls_PCList
                Cls_P.DeleteCounter(OnePc)
            Next
                :
        Finally
        End Try
    End Sub

    Private Sub Form1_FormClosing( sender As Object, _
                                   e As System.Windows.Forms.FormClosingEventArgs _
                                 ) Handles Me.FormClosing
        Try
            Cls_P.Dispose()
        Finally
        End Try
    End Sub
End Class

 

名前:FoundCounter

機能:カウンターが登録されているかを確認します。

@カウンターが登録されているか各名前を指定して確認します。

構文:Public Function FoundCounter( ComputerName , CategoryName , CounterName , InstanceName ) As Boolean

引数:

 

名前 引数渡しの方法 説明
ComputerName String 値渡し(ByVal) コンピュータ名を渡します。
※ローカルコンピュータの場合は、Nothingを渡します。
CategoryName String 値渡し(ByVal) カテゴリ名を渡します。
CounterName String 値渡し(ByVal) カウンター名を渡します。
InstanceName String 値渡し(ByVal) インスタンス名を渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗、エラー発生

使用例:

Public Class Form1
    Dim Cls_P As New NSDWinEnd.NSDPerformance

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs _
                             ) Handles Button1.Click
        Try
                :
            If Cls_P.FoundCounter( Nothing, "Processor", "% Processor Time", "_Total") Then
                :
            End If
                :
        Finally
        End Try
    End Sub

    Private Sub Form1_FormClosing( sender As Object, _
                                   e As System.Windows.Forms.FormClosingEventArgs _
                                 ) Handles Me.FormClosing
        Try
            Cls_P.Dispose()
        Finally
        End Try
    End Sub
End Class

 

Aカウンターが登録されているかを確認します。

構文:Public Function FoundCounter( PerformanceCounter ) As Boolean

引数:

 

名前 引数渡しの方法 説明
PerformanceCounter System.Diagnostics.PerformanceCounter 値渡し(ByVal) PerformanceCounterを渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗、エラー発生

使用例:

Public Class Form1
    Dim Cls_P As New NSDWinEnd.NSDPerformance

    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs _
                             ) Handles Button1.Click
        Try
                :
            ' カテゴリのリストを取得します.
            Dim Cls_PCC As System.Diagnostics.PerformanceCounterCategory() = _
                                Cls_P.GetCategoryList()
            For Each OnePCC As System.Diagnostics.PerformanceCounterCategory In Cls_PCC
                Dim Str_Instance() As String = Cls_P.GetInstanceList(OnePCC)
                For Each Str_OneInstance As String In Str_Instance
                    Dim Cls_PC AS System.Diagnostics.PerformanceCounter() = _
                                        Cls_P.GetCounterList(OnePCC, Str_OneInstance)
                    For Each Cls_OnePC As System.Diagnostics.PerformanceCounter In Cls_PC
                        :
                        If Not Cls_P.FoundCounter(Cls_OnePC) Then
                            Cls_P.AddCounter(Cls_OnePC)
                        End If
                        :
                    Next
                Next
            Next
                :
        Finally
        End Try
    End Sub

    Private Sub Form1_FormClosing( sender As Object, _
                                   e As System.Windows.Forms.FormClosingEventArgs _
                                 ) Handles Me.FormClosing
        Try
            Cls_P.Dispose()
        Finally
        End Try
    End Sub
End Class

 

名前:LoadCounterList

構文:Public Function LoadCounterList( FileName , PFS , [CSVTitle] , [Encoding] , [DataClear] ) As Boolean

機能:登録データを読み込みます。

引数:

名前 引数渡しの方法 説明
FileName String 値渡し(ByVal) ファイル名のフルパス名を渡します。
※ファイルはSaveCounterListメソッドで作成されたファイルです。
PFS NSDPerformanceFileStyle 値渡し(ByVal) ファイルの形式を渡します。
[CSVTitle] Boolean 値渡し(ByVal) CSVファイル形式の場合、タイトル行の有無を渡します。(既定値:True)
[Encoding] System.Text.Encoding 値渡し(ByVal) CSVファイルのエンコード種類を渡します。(既定値:Nothing = システムのデフォルトコードページを使用します。)
[DataClear] Boolean 値渡し(ByVal) 読み込み時に登録データを初期化して読み込むか、追加読込を行うかを渡します。
True :初期化して読み込みます。(既定値)
False:追加読込します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗、エラー発生

使用例:

Public Class Form1
    Dim Cls_P As New NSDWinEnd.NSDPerformance

    ' 登録データを読み込みます.
    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs _
                             ) Handles Button1.Click
        Try
                :
            Cls_P.LoadCounterList("C:\Data\PerformanceData.xml", _
                            NSDWinEnd.NSDPerformance.NSDPerformanceFileStyle.xml)
                :
        Finally
        End Try
    End Sub

    Private Sub Form1_FormClosing( sender As Object, _
                                   e As System.Windows.Forms.FormClosingEventArgs _
                                 ) Handles Me.FormClosing
        Try
            Cls_P.Dispose()
        Finally
        End Try
    End Sub
End Class

 

名前:SaveCounterList

構文:Public Function SaveCounterList( FileName , PFS , [CSVTitle] , [Encoding] ) As Boolean

機能:登録データを書き込みます。

引数:

名前 引数渡しの方法 説明
FileName String 値渡し(ByVal) ファイル名のフルパス名を渡します。
PFS NSDPerformanceFileStyle 値渡し(ByVal) ファイルの形式を渡します。
[CSVTitle] Boolean 値渡し(ByVal) CSVファイル形式の場合、タイトル行の有無を渡します。(既定値:True)
[Encoding] System.Text.Encoding 値渡し(ByVal) CSVファイルのエンコード種類を渡します。(既定値:Nothing = システムのデフォルトコードページを使用します。)

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗、エラー発生

使用例:

Public Class Form1
    Dim Cls_P As New NSDWinEnd.NSDPerformance

    ' 登録データを書き込みます.
    Private Sub Button1_Click( ByVal sender As System.Object, _
                               ByVal e As System.EventArgs _
                             ) Handles Button1.Click
        Try
                :
            Cls_P.SaveCounterList("C:\Data\PerformanceData.xml", _
                            NSDWinEnd.NSDPerformance.NSDPerformanceFileStyle.xml)
                :
        Finally
        End Try
    End Sub

    Private Sub Form1_FormClosing( sender As Object, _
                                   e As System.Windows.Forms.FormClosingEventArgs _
                                 ) Handles Me.FormClosing
        Try
            Cls_P.Dispose()
        Finally
        End Try
    End Sub
End Class

Copyright (C) 2010-2012 Nihon System Developer Corp. All Rights Reserved.