CounterCreationData.CounterType Property

Definition

Gets or sets the performance counter type of the custom counter.

public:
 property System::Diagnostics::PerformanceCounterType CounterType { System::Diagnostics::PerformanceCounterType get(); void set(System::Diagnostics::PerformanceCounterType value); };
public System.Diagnostics.PerformanceCounterType CounterType { get; set; }
member this.CounterType : System.Diagnostics.PerformanceCounterType with get, set
Public Property CounterType As PerformanceCounterType

Property Value

A PerformanceCounterType that defines the behavior of the performance counter.

Exceptions

You have specified a type that is not a member of the PerformanceCounterType enumeration.

Examples

The following code example demonstrates how to get and set the CounterType property. This example creates two counters and sets their CounterType property by using different techniques. When the first counter is initialized, the CounterType data is passed to the constructor, whereas the second counter sets the property explicitly.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;

int main()
{
   CounterCreationDataCollection^ myCol = gcnew CounterCreationDataCollection;
   
   // Create two custom counter objects.
   CounterCreationData^ myCounter1 = gcnew CounterCreationData( "Counter1","First custom counter",PerformanceCounterType::CounterDelta32 );
   CounterCreationData^ myCounter2 = gcnew CounterCreationData;
   
   // Set the properties of the 'CounterCreationData' Object*.
   myCounter2->CounterName = "Counter2";
   myCounter2->CounterHelp = "Second custom counter";
   myCounter2->CounterType = PerformanceCounterType::NumberOfItemsHEX32;
   
   // Add custom counter objects to CounterCreationDataCollection.
   myCol->Add( myCounter1 );
   myCol->Add( myCounter2 );
   if ( PerformanceCounterCategory::Exists( "New Counter Category" ) )
      PerformanceCounterCategory::Delete( "New Counter Category" );
   
   // Bind the counters to a PerformanceCounterCategory.
   PerformanceCounterCategory^ myCategory = PerformanceCounterCategory::Create( "New Counter Category", "Category Help", myCol );
   Console::WriteLine( "Counter Information:" );
   Console::WriteLine( "Category Name: {0}", myCategory->CategoryName );
   for ( int i = 0; i < myCol->Count; i++ )
   {
      // Display the properties of the CounterCreationData objects.
      Console::WriteLine( "CounterName : {0}", myCol[ i ]->CounterName );
      Console::WriteLine( "CounterHelp : {0}", myCol[ i ]->CounterHelp );
      Console::WriteLine( "CounterType : {0}", myCol[ i ]->CounterType );
   }
}
using System;
using System.Diagnostics;

namespace MyDiagnostics
{
    class MyCounterCreationData
    {
        static void Main()
        {
            CounterCreationDataCollection myCol =
                                       new CounterCreationDataCollection();

            // Create two custom counter objects.
            CounterCreationData myCounter1 = new CounterCreationData("Counter1",
               "First custom counter", PerformanceCounterType.CounterDelta32);

            CounterCreationData myCounter2 = new CounterCreationData();

            // Set the properties of the 'CounterCreationData' object.
            myCounter2.CounterName = "Counter2";
            myCounter2.CounterHelp = "Second custom counter";
            myCounter2.CounterType = PerformanceCounterType.NumberOfItemsHEX32;

            // Add custom counter objects to CounterCreationDataCollection.
            myCol.Add(myCounter1);
            myCol.Add(myCounter2);

            if (PerformanceCounterCategory.Exists("New Counter Category"))
                PerformanceCounterCategory.Delete("New Counter Category");

            // Bind the counters to a PerformanceCounterCategory.
            PerformanceCounterCategory myCategory =
                  PerformanceCounterCategory.Create("New Counter Category", "Category Help",
                PerformanceCounterCategoryType.SingleInstance, myCol);

            Console.WriteLine("Counter Information:");
            Console.WriteLine("Category Name: " + myCategory.CategoryName);
            for (int i = 0; i < myCol.Count; i++)
            {
                // Display the properties of the CounterCreationData objects.
                Console.WriteLine("CounterName : " + myCol[i].CounterName);
                Console.WriteLine("CounterHelp : " + myCol[i].CounterHelp);
                Console.WriteLine("CounterType : " + myCol[i].CounterType);
            }
        }
    }
}
Imports System.Diagnostics

Namespace MyDiagnostics

    Class MyCounterCreationData

        Shared Sub Main()
            Dim myCol As New CounterCreationDataCollection()

            ' Create two custom counter objects.
            Dim myCounter1 As New CounterCreationData("Counter1", "First custom counter", _
                                      PerformanceCounterType.CounterDelta32)
            Dim myCounter2 As New CounterCreationData()

            ' Set the properties of the 'CounterCreationData' object.
            myCounter2.CounterName = "Counter2"
            myCounter2.CounterHelp = "Second custom counter"
            myCounter2.CounterType = PerformanceCounterType.NumberOfItemsHEX32

            ' Add custom counter objects to CounterCreationDataCollection.
            myCol.Add(myCounter1)
            myCol.Add(myCounter2)

            If PerformanceCounterCategory.Exists("New Counter Category") Then
                PerformanceCounterCategory.Delete("New Counter Category")
            End If
            ' Bind the counters to a PerformanceCounterCategory.
            Dim myCategory As PerformanceCounterCategory = PerformanceCounterCategory.Create("New " + _
                   "Counter Category", "Category Help", _
                   PerformanceCounterCategoryType.SingleInstance, myCol)

            Console.WriteLine("Counter Information:")
            Console.WriteLine("Category Name: " + myCategory.CategoryName)
            Dim i As Integer
            For i = 0 To myCol.Count - 1
                ' Display the properties of the CounterCreationData objects.
                Console.WriteLine("CounterName : " + myCol(i).CounterName)
                Console.WriteLine("CounterHelp : " + myCol(i).CounterHelp)
                Console.WriteLine("CounterType : " + myCol(i).CounterType.ToString())
            Next i
        End Sub
    End Class
End Namespace 'MyDiagnostics

Applies to

See also