Freigeben über


PerformanceCounter Klasse

Definition

Stellt eine Komponente des Windows NT-Leistungsindikators dar.

public ref class PerformanceCounter sealed : System::ComponentModel::Component, System::ComponentModel::ISupportInitialize
public sealed class PerformanceCounter : System.ComponentModel.Component, System.ComponentModel.ISupportInitialize
type PerformanceCounter = class
    inherit Component
    interface ISupportInitialize
Public NotInheritable Class PerformanceCounter
Inherits Component
Implements ISupportInitialize
Vererbung
PerformanceCounter
Implementiert

Beispiele

Im folgenden Codebeispiel wird die Verwendung der PerformanceCounter Klasse zum Erstellen und Verwenden eines AverageCount64 Leistungsindikatortyps veranschaulicht. Im Beispiel werden Kategorien erstellt, Leistungsindikatoren eingerichtet, Daten aus den Leistungsindikatoren gesammelt und die CounterSampleCalculator Klasse aufgerufen, um die Leistungsindikatordaten zu interpretieren. Die Zwischen- und Endergebnisse werden im Konsolenfenster angezeigt. Weitere Beispiele für andere Leistungsindikatortypen finden Sie in der PerformanceCounterType Enumeration.

using System;
using System.Collections;
using System.Collections.Specialized;
using System.Diagnostics;

public class App
{
    private static PerformanceCounter avgCounter64Sample;
    private static PerformanceCounter avgCounter64SampleBase;

    public static void Main()
    {
        ArrayList samplesList = new ArrayList();

        // If the category does not exist, create the category and exit.
        // Performance counters should not be created and immediately used.
        // There is a latency time to enable the counters, they should be created
        // prior to executing the application that uses the counters.
        // Execute this sample a second time to use the category.
        if (SetupCategory())
            return;
        CreateCounters();
        CollectSamples(samplesList);
        CalculateResults(samplesList);
    }

    private static bool SetupCategory()
    {
        if ( !PerformanceCounterCategory.Exists("AverageCounter64SampleCategory") )
        {

            CounterCreationDataCollection counterDataCollection = new CounterCreationDataCollection();

            // Add the counter.
            CounterCreationData averageCount64 = new CounterCreationData();
            averageCount64.CounterType = PerformanceCounterType.AverageCount64;
            averageCount64.CounterName = "AverageCounter64Sample";
            counterDataCollection.Add(averageCount64);

            // Add the base counter.
            CounterCreationData averageCount64Base = new CounterCreationData();
            averageCount64Base.CounterType = PerformanceCounterType.AverageBase;
            averageCount64Base.CounterName = "AverageCounter64SampleBase";
            counterDataCollection.Add(averageCount64Base);

            // Create the category.
            PerformanceCounterCategory.Create("AverageCounter64SampleCategory",
                "Demonstrates usage of the AverageCounter64 performance counter type.",
                PerformanceCounterCategoryType.SingleInstance, counterDataCollection);

            return(true);
        }
        else
        {
            Console.WriteLine("Category exists - AverageCounter64SampleCategory");
            return(false);
        }
    }

    private static void CreateCounters()
    {
        // Create the counters.

        avgCounter64Sample = new PerformanceCounter("AverageCounter64SampleCategory",
            "AverageCounter64Sample",
            false);


        avgCounter64SampleBase = new PerformanceCounter("AverageCounter64SampleCategory",
            "AverageCounter64SampleBase",
            false);

        avgCounter64Sample.RawValue=0;
        avgCounter64SampleBase.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);

            avgCounter64Sample.IncrementBy(value);

            avgCounter64SampleBase.Increment();

            if ((j % 10) == 9)
            {
                OutputSample(avgCounter64Sample.NextSample());
                samplesList.Add( avgCounter64Sample.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("++++++++++++++++++++++");
    }
}
Imports System.Collections
Imports System.Collections.Specialized
Imports System.Diagnostics

 _

Public Class App

    Private Shared avgCounter64Sample As PerformanceCounter
    Private Shared avgCounter64SampleBase As PerformanceCounter


    Public Shared Sub Main()

        Dim samplesList As New ArrayList()
        'If the category does not exist, create the category and exit.
        'Performance counters should not be created and immediately used.
        'There is a latency time to enable the counters, they should be created
        'prior to executing the application that uses the counters.
        'Execute this sample a second time to use the counters.
        If Not (SetupCategory()) Then
            CreateCounters()
            CollectSamples(samplesList)
            CalculateResults(samplesList)
        End If

    End Sub

    Private Shared Function SetupCategory() As Boolean
        If Not PerformanceCounterCategory.Exists("AverageCounter64SampleCategory") Then

            Dim counterDataCollection As New CounterCreationDataCollection()

            ' Add the counter.
            Dim averageCount64 As New CounterCreationData()
            averageCount64.CounterType = PerformanceCounterType.AverageCount64
            averageCount64.CounterName = "AverageCounter64Sample"
            counterDataCollection.Add(averageCount64)

            ' Add the base counter.
            Dim averageCount64Base As New CounterCreationData()
            averageCount64Base.CounterType = PerformanceCounterType.AverageBase
            averageCount64Base.CounterName = "AverageCounter64SampleBase"
            counterDataCollection.Add(averageCount64Base)

            ' Create the category.
            PerformanceCounterCategory.Create("AverageCounter64SampleCategory", _
               "Demonstrates usage of the AverageCounter64 performance counter type.", _
                      PerformanceCounterCategoryType.SingleInstance, counterDataCollection)

            Return True
        Else
            Console.WriteLine("Category exists - AverageCounter64SampleCategory")
            Return False
        End If
    End Function 'SetupCategory

    Private Shared Sub CreateCounters()
        ' Create the counters.

        avgCounter64Sample = New PerformanceCounter("AverageCounter64SampleCategory", "AverageCounter64Sample", False)

        avgCounter64SampleBase = New PerformanceCounter("AverageCounter64SampleCategory", "AverageCounter64SampleBase", False)

        avgCounter64Sample.RawValue = 0
        avgCounter64SampleBase.RawValue = 0
    End Sub

    Private Shared Sub CollectSamples(ByVal 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.ToString() + " = " + value.ToString())

            avgCounter64Sample.IncrementBy(value)

            avgCounter64SampleBase.Increment()

            If j Mod 10 = 9 Then
                OutputSample(avgCounter64Sample.NextSample())
                samplesList.Add(avgCounter64Sample.NextSample())
            Else
                Console.WriteLine()
            End If
            System.Threading.Thread.Sleep(50)
        Next j
    End Sub

    Private Shared Sub CalculateResults(ByVal 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)).ToString())

            ' Calculate the counter value manually.
            Console.WriteLine("My computed counter value = " + MyComputeCounterValue(CType(samplesList(i), CounterSample), CType(samplesList((i + 1)), CounterSample)).ToString())
        Next i
    End Sub

    '++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++//++++++++
    '	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(ByVal s0 As CounterSample, ByVal 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(ByVal s As CounterSample)
        Console.WriteLine(ControlChars.Lf + ControlChars.Cr + "+++++++++++")
        Console.WriteLine("Sample values - " + ControlChars.Lf + ControlChars.Cr)
        Console.WriteLine(("   BaseValue        = " + s.BaseValue.ToString()))
        Console.WriteLine(("   CounterFrequency = " + s.CounterFrequency.ToString()))
        Console.WriteLine(("   CounterTimeStamp = " + s.CounterTimeStamp.ToString()))
        Console.WriteLine(("   CounterType      = " + s.CounterType.ToString()))
        Console.WriteLine(("   RawValue         = " + s.RawValue.ToString()))
        Console.WriteLine(("   SystemFrequency  = " + s.SystemFrequency.ToString()))
        Console.WriteLine(("   TimeStamp        = " + s.TimeStamp.ToString()))
        Console.WriteLine(("   TimeStamp100nSec = " + s.TimeStamp100nSec.ToString()))
        Console.WriteLine("++++++++++++++++++++++")
    End Sub
End Class

Hinweise

Die PerformanceCounter Komponente kann sowohl zum Lesen vorhandener vordefinierter oder benutzerdefinierter Leistungsindikatoren als auch zum Veröffentlichen (Schreiben) von Leistungsdaten in benutzerdefinierten Leistungsindikatoren verwendet werden.

Im Dialogfeld "Zähler hinzufügen" von Windows Performance Monitor sind zahlreiche vordefinierte Indikatoren aufgeführt. Weitere Informationen zu .NET Framework-Leistungsindikatoren finden Sie unter Leistungsindikatoren.

Dieser Typ implementiert die IDisposable Schnittstelle. Nach Abschluss der Verwendung sollten Sie den Typ entweder direkt oder indirekt löschen. Rufen Sie die Methode Dispose in einem try/catch-Block auf, um den Typ direkt zu entsorgen. Verwenden Sie zum indirekten Löschen ein Sprachkonstrukt wie using (in C#) oder Using (in Visual Basic). Weitere Informationen finden Sie im Abschnitt "Verwenden eines Objekts, das IDisposable implementiert" im IDisposable Schnittstellenthema.

Von Bedeutung

In den Versionen 1.0 und 1.1 von .NET Framework muss diese Klasse sofortige Aufrufer vollständig vertrauenswürdig sein. Ab .NET Framework, Version 2.0, erfordert PerformanceCounterPermission diese Klasse bestimmte Aktionen. Es wird dringend empfohlen, dem PerformanceCounterPermission halb vertrauenswürdigen Code nicht zu gewähren. Die Möglichkeit zum Lesen und Schreiben von Leistungsindikatoren ermöglicht code das Ausführen von Aktionen wie das Aufzählen von Prozessen und das Abrufen von Informationen dazu.

Darüber hinaus kann das Übergeben eines PerformanceCounter Objekts an weniger vertrauenswürdigen Code zu einem Sicherheitsproblem führen. Übergeben Sie niemals Leistungsindikatorobjekte, z. B. einen PerformanceCounterCategory oder PerformanceCountermehrere vertrauenswürdige Code.

Um aus einem Leistungsindikator zu lesen, erstellen Sie eine Instanz der PerformanceCounter Klasse, legen Sie die CategoryName, CounterName, und optional die InstanceName Eigenschaften MachineName fest, und rufen Sie dann die NextValue Methode auf, um einen Leistungsindikator lesen zu können.

Um Leistungsindikatordaten zu veröffentlichen, erstellen Sie einen oder mehrere benutzerdefinierte Leistungsindikatoren mithilfe der PerformanceCounterCategory.Create Methode, erstellen Sie eine Instanz der PerformanceCounter Klasse, legen Sie die CategoryNameEigenschaften CounterName und optional festMachineName, und InstanceName rufen Sie dann die IncrementBy, Incrementoder Decrement Methoden auf, oder legen Sie die RawValue Eigenschaft fest, um den Wert des benutzerdefinierten Zählers zu ändern.

Hinweis

Die Increment, IncrementByund Decrement Methoden verwenden Verriegelungen, um den Zählerwert zu aktualisieren. Dies trägt dazu bei, den Gegenwert in Multithread- oder Multiprocess-Szenarien genau zu halten, führt aber auch zu Leistungseinbußen. Wenn Sie nicht die Genauigkeit benötigen, die verriegelte Vorgänge bereitstellen, können Sie die RawValue Eigenschaft direkt für eine Leistungsverbesserung von bis zu 5 Mal aktualisieren. In Multithread-Szenarien werden jedoch einige Aktualisierungen des Gegenwerts möglicherweise ignoriert, was zu ungenauen Daten führt.

Der Zähler ist der Mechanismus, mit dem Leistungsdaten gesammelt werden. In der Registrierung werden die Namen aller Leistungsindikatoren gespeichert, die jeweils mit einem bestimmten Bereich der Systemfunktionalität zusammenhängen. Beispiele hierfür sind die Beschäftigt-Zeit eines Prozessors, die Speicherauslastung oder die Anzahl der Bytes, die über eine Netzwerkverbindung empfangen wurden.

Jeder Zähler wird durch seinen Namen und seine Position eindeutig identifiziert. Auf die gleiche Weise, wie ein Dateipfad ein Laufwerk, ein Verzeichnis, ein oder mehrere Unterverzeichnisse und einen Dateinamen enthält, bestehen Leistungsindikatoreninformationen aus vier Elementen: dem Computer, der Kategorie, der Kategorieinstanz und dem Zählernamen.

Die Leistungsindikatorinformationen müssen die Kategorie oder das Leistungsobjekt enthalten, für die die Zählerdaten misst. Die Kategorien eines Computers umfassen physische Komponenten, z. B. Prozessoren, Datenträger und Arbeitsspeicher. Es gibt auch Systemkategorien, z. B. Prozesse und Threads. Jede Kategorie ist mit einem funktionalen Element innerhalb des Computers verknüpft und verfügt über eine Reihe von Standardzählern, die ihm zugewiesen sind. Diese Objekte werden in der Dropdownliste des Performance-Objekts des Dialogfelds "Leistungsindikatoren hinzufügen" im Windows 2000-Systemmonitor aufgeführt, und Sie müssen sie in den Zählerpfad einschließen. Leistungsdaten werden nach der Kategorie gruppiert, der sie zugeordnet ist.

In bestimmten Fällen können mehrere Kopien derselben Kategorie vorhanden sein. Beispielsweise werden mehrere Prozesse und Threads gleichzeitig ausgeführt, und einige Computer enthalten mehr als einen Prozessor. Die Kategoriekopien werden als Kategorieinstanzen bezeichnet, und jede Instanz hat eine Reihe von Standardzählern zugewiesen. Wenn eine Kategorie mehrere Instanzen aufweisen kann, muss eine Instanzspezifikation in die Leistungsindikatorinformationen einbezogen werden.

Um Leistungsdaten für Leistungsindikatoren abzurufen, die einen anfangs- oder vorherigen Wert für die Durchführung der erforderlichen Berechnung benötigten, rufen Sie die NextValue Methode zweimal auf, und verwenden Sie die von der Anwendung zurückgegebenen Informationen.

Hinweis

Leistungsindikatorkategorien, die mit .NET installiert sind, verwenden separate freigegebenen Arbeitsspeicher, wobei jede Leistungsindikatorkategorie über einen eigenen Arbeitsspeicher verfügt. Sie können die Größe des separaten freigegebenen Speichers angeben, indem Sie im Registrierungsschlüssel einen DWORD-Namen namens "FileMappingSize" HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Kategorienamen>\Leistung erstellen. Der FileMappingSize-Wert wird auf die Größe des freigegebenen Arbeitsspeichers der Kategorie festgelegt. Die Standardgröße ist 131072 Dezimalzahl. Wenn der FileMappingSize-Wert nicht vorhanden ist, wird der Attributwert für das fileMappingSizeperformanceCounters in der Machine.config Datei angegebene Element verwendet, was zusätzlichen Aufwand für die Verarbeitung von Konfigurationsdateien verursacht. Sie können eine Leistungsverbesserung für den Anwendungsstart erkennen, indem Sie die Dateizuordnungsgröße in der Registrierung festlegen. Weitere Informationen zur Dateigröße finden Sie unter <performanceCounters>.

Konstruktoren

Name Beschreibung
PerformanceCounter()

Initialisiert eine neue schreibgeschützte Instanz der PerformanceCounter Klasse, ohne die Instanz einem System- oder benutzerdefinierten Leistungsindikator zuzuordnen.

PerformanceCounter(String, String, Boolean)

Initialisiert eine neue, schreibgeschützte oder schreibgeschützte Instanz der PerformanceCounter Klasse und ordnet sie dem angegebenen System oder benutzerdefinierten Leistungsindikator auf dem lokalen Computer zu. Dieser Konstruktor erfordert, dass die Kategorie eine einzelne Instanz enthält.

PerformanceCounter(String, String, String, Boolean)

Initialisiert eine neue, schreibgeschützte oder schreibgeschützte Instanz der PerformanceCounter Klasse und ordnet sie dem angegebenen System oder der benutzerdefinierten Leistungsindikator- und Kategorieinstanz auf dem lokalen Computer zu.

PerformanceCounter(String, String, String, String)

Initialisiert eine neue schreibgeschützte Instanz der PerformanceCounter Klasse und ordnet sie dem angegebenen System oder der benutzerdefinierten Leistungsindikator- und Kategorieinstanz auf dem angegebenen Computer zu.

PerformanceCounter(String, String, String)

Initialisiert eine neue schreibgeschützte Instanz der PerformanceCounter Klasse und ordnet sie dem angegebenen System oder benutzerdefinierten Leistungsindikator und der Kategorieinstanz auf dem lokalen Computer zu.

PerformanceCounter(String, String)

Initialisiert eine neue schreibgeschützte Instanz der PerformanceCounter Klasse und ordnet sie dem angegebenen System oder benutzerdefinierten Leistungsindikator auf dem lokalen Computer zu. Dieser Konstruktor erfordert, dass die Kategorie über eine einzelne Instanz verfügt.

Felder

Name Beschreibung
DefaultFileMappingSize
Veraltet.
Veraltet.
Veraltet.

Gibt die Größe des globalen Speichers in Bytes an, der von Leistungsindikatoren gemeinsam genutzt wird. Die Standardgröße beträgt 524.288 Byte.

Eigenschaften

Name Beschreibung
CanRaiseEvents

Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann.

(Geerbt von Component)
CategoryName

Dient zum Abrufen oder Festlegen des Namens der Leistungsindikatorkategorie für diesen Leistungsindikator.

Container

Ruft das, das IContainer die Component.

(Geerbt von Component)
CounterHelp

Ruft die Beschreibung für diesen Leistungsindikator ab.

CounterName

Dient zum Abrufen oder Festlegen des Namens des Leistungsindikators, der dieser PerformanceCounter Instanz zugeordnet ist.

CounterType

Ruft den Leistungsindikatortyp des zugeordneten Leistungsindikators ab.

DesignMode

Ruft einen Wert ab, der angibt, ob sich der Component Entwurfsmodus derzeit befindet.

(Geerbt von Component)
Events

Ruft die Liste der Ereignishandler ab, die an diese Componentangefügt sind.

(Geerbt von Component)
InstanceLifetime

Ruft die Lebensdauer eines Prozesses ab oder legt sie fest.

InstanceName

Dient zum Abrufen oder Festlegen eines Instanznamens für diesen Leistungsindikator.

MachineName

Ruft den Computernamen für diesen Leistungsindikator ab oder legt diesen fest.

RawValue

Dient zum Abrufen oder Festlegen des unformatierten oder nicht berechneten Werts dieses Zählers.

ReadOnly

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob sich diese PerformanceCounter Instanz im schreibgeschützten Modus befindet.

Site

Dient zum ISite Abrufen oder Festlegen des Werts des Component.

(Geerbt von Component)

Methoden

Name Beschreibung
BeginInit()

Beginnt mit der Initialisierung einer PerformanceCounter Instanz, die auf einem Formular oder von einer anderen Komponente verwendet wird. Die Initialisierung erfolgt zur Laufzeit.

Close()

Schließt den Leistungsindikator und gibt alle von dieser Leistungsindikatorinstanz zugeordneten Ressourcen frei.

CloseSharedResources()

Gibt den gemeinsam genutzten Zustand der Leistungsindikatorbibliothek frei, der von den Leistungsindikatoren zugewiesen wird.

CreateObjRef(Type)

Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird.

(Geerbt von MarshalByRefObject)
Decrement()

Erhöht den zugeordneten Leistungsindikator um einen durch einen effizienten atomischen Vorgang.

Dispose()

Veröffentlicht alle ressourcen, die von der Component.

(Geerbt von Component)
Dispose(Boolean)

Gibt die nicht verwalteten Ressourcen frei, die von den Component verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei.

(Geerbt von Component)
EndInit()

Beendet die Initialisierung einer PerformanceCounter Instanz, die in einem Formular oder von einer anderen Komponente verwendet wird. Die Initialisierung erfolgt zur Laufzeit.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetService(Type)

Gibt ein Objekt zurück, das einen Dienst darstellt, der von der Component oder dem zugehörigen ContainerDienst bereitgestellt wird.

(Geerbt von Component)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
Increment()

Erhöht den zugehörigen Leistungsindikator um einen durch einen effizienten atomischen Betrieb.

IncrementBy(Int64)

Erhöht oder erhöht den Wert des zugeordneten Leistungsindikators um eine angegebene Menge durch einen effizienten atomischen Vorgang.

InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts.

(Geerbt von MarshalByRefObject)
NextSample()

Ruft ein Zählerbeispiel ab und gibt den unformatierten oder nicht berechneten Wert dafür zurück.

NextValue()

Ruft ein Zählerbeispiel ab und gibt den berechneten Wert dafür zurück.

RemoveInstance()

Löscht die durch die PerformanceCounter Objekteigenschaft InstanceName angegebene Kategorieinstanz.

ToString()

Gibt einen String mit dem Namen des Component, falls vorhanden, zurück. Diese Methode sollte nicht außer Kraft gesetzt werden.

(Geerbt von Component)

Ereignisse

Name Beschreibung
Disposed

Tritt auf, wenn die Komponente durch einen Aufruf der Dispose() Methode verworfen wird.

(Geerbt von Component)

Gilt für:

Weitere Informationen