共用方式為


HOW TO:設定 PerformanceCounter 元件執行個體

更新:2007 年 11 月

您必須為建立的 PerformanceCounter 元件設定各種屬性。這些屬性將決定與元件互動的計數器。必須設定的屬性包括:

  • CategoryName,用於決定將與元件互動的效能物件。Windows 中的所有效能計數器都是按分類群組,例如 Memory、Processes 和 Processor。

  • CounterName,用於識別指定之分類中會與元件互動的計數器。

  • InstanceName,用於確認將與元件互動的分類執行個體。請注意,許多分類中不含執行個體。因此,這個屬性可能為空白。這表示單一執行個體計數器。

    注意事項:

    如果 Category 已設定為某個未經使用者定義的分類,您必須從現有的計數器和執行個體中選擇。您只能在自訂分類中建立新的計數器和執行個體。例如,您無法在 Memory 分類中建立新的計數器,但如果您建立一個稱為 Order 的新分類,您可以在該分類中定義任何所需的計數器和執行個體。

  • MachineName,用於確認您希望與元件互動之效能計數器的伺服器為常駐。您可以將此屬性設定為 "." 表示本機電腦,或維持空白將其設定為預設值。

  • ReadOnly,用於判斷是否可寫入您建立的任何自訂計數器。在預設情況下,您設定要與現有 Windows 計數器配合使用的任何 PerformanceCounter 元件執行個體都是以唯讀模式運作,而且不允許變更這些計數器中的值。但是,當您將元件執行個體設定為配合自訂計數器使用時,可以選擇要接受在唯讀模式下運作的預設值,或是將屬性值重設為 false 以允許寫入值。

    注意事項:

    只能在本機電腦中寫入計數器。如果想要讀取計數器值,可以選取您可存取的任何電腦。

若要設定 PerformanceCounter 元件執行個體

  1. 建立 PerformanceCounter 元件的執行個體。如需詳細資訊,請參閱 HOW TO:建立 PerformanceCounter 元件執行個體

  2. 設定下列屬性來指示您的元件應與其互動的計數器。

    屬性

    設定值

    MachineName

    您可存取的伺服器。

    CategoryName

    存在於伺服器中的任何分類。

    CounterName

    所選取分類中的任何計數器。

  3. 如果互動的計數器具有數個執行個體,請將其中一個適當的執行個體設定為 InstanceName 屬性的值。

  4. 如果您使用自訂計數器並需要寫入權限,請將 ReadOnly 屬性設定為 false。

    注意事項:

    您可以在 [屬性] 視窗中、程式碼內,或是使用特殊型式的建構函式,來指定 PerformanceCounter 元件執行個體的這些屬性。

    下列範例顯示如何以程式設計方式設定這些值來連接到本機伺服程式中稱為 "aborted transactions" 的現有 Windows 效能計數器。

    ' Connect to an existing Windows counter and category
    Dim abortedTransactions As New PerformanceCounter()
    abortedTransactions.CategoryName = _
       "distributed transaction coordinator"
    abortedTransactions.CounterName = "aborted transactions"
    abortedTransactions.MachineName = "."
    ' Connect to a custom counter and category in writable mode
    PerformanceCounterCategory.Create("orders", "desc", _
    PerformanceCounterCategoryType.SingleInstance, "milk", "desc")
    Dim myCounter2 As New PerformanceCounter("orders", "milk", False)
    
         // Connect to an existing Windows counter and category
            System.Diagnostics.PerformanceCounter abortedTransactions =
               new System.Diagnostics.PerformanceCounter();
            abortedTransactions.CategoryName =
               "distributed transaction coordinator";
            abortedTransactions.CounterName = "aborted transactions";
            abortedTransactions.MachineName = ".";
            // Connect to a custom counter and category in writable mode
            System.Diagnostics.PerformanceCounterCategory.Create(
               "orders", "desc", PerformanceCounterCategoryType.SingleInstance,
               "milk", "desc");
            System.Diagnostics.PerformanceCounter myCounter2 =
               new System.Diagnostics.PerformanceCounter("orders", "milk", false);
    
注意事項:

在這段程式碼中,"." 表示本機電腦。

請參閱

工作

HOW TO:建立 PerformanceCounter 元件執行個體

HOW TO:建立自訂效能計數器

概念

分類和計數器管理