InstanceData Klasa

Definicja

Przechowuje dane wystąpienia skojarzone z przykładem licznika wydajności.

C#
public class InstanceData
Dziedziczenie
InstanceData

Przykłady

Poniższy przykład kodu przedstawia zawartość InstanceData obiektów, które istnieją w określonym PerformanceCounterCategory na komputerze lokalnym. Najpierw wyświetla listę ponumerowaną PerformanceCounter kategorii. Gdy użytkownik wprowadzi liczbę jednej z kategorii, zostanie wyświetlona próbka dla każdej PerformanceCounter z nich w PerformanceCounterCategoryobiekcie , dane wystąpienia skojarzone z każdym wystąpieniem PerformanceCounterklasy .

C#
using System;
using System.Diagnostics;

class InstDataCopyToMod
{

    private static string categoryName;

    public static void Main()
    {
        string catNumStr;
        int categoryNum;

        PerformanceCounterCategory[] categories = PerformanceCounterCategory.GetCategories();

        // Create and sort an array of category names.
        string[] categoryNames = new string[categories.Length];
        int catX;
        for(catX=0; catX<categories.Length; catX++)
        {
            categoryNames[catX] = categories[catX].CategoryName;
        }
        Array.Sort(categoryNames);

        Console.WriteLine("These categories are registered on this computer:");

        for(catX=0; catX<categories.Length; catX++)
        {
            Console.WriteLine("{0,4} - {1}", catX+1, categoryNames[catX]);
        }

        // Ask the user to choose a category.
        Console.Write("Enter the category number from the above list: ");
        catNumStr = Console.ReadLine();

        // Validate the entered category number.
        try
        {
            categoryNum = int.Parse(catNumStr);
            if (categoryNum<1||categoryNum>categories.Length)
            {
                throw new Exception(String.Format("The category number must be in the " +
                    "range 1..{0}.", categories.Length));
            }
            categoryName = categoryNames[(categoryNum-1)];
        }
        catch(Exception ex)
        {
            Console.WriteLine("\"{0}\" is not a valid category number." +
                "\r\n{1}", catNumStr, ex.Message);
            return;
        }

        // Process the InstanceDataCollectionCollection for this category.
        PerformanceCounterCategory pcc = new PerformanceCounterCategory(categoryName);
        InstanceDataCollectionCollection idColCol = pcc.ReadCategory();
        InstanceDataCollection[] idColArray = new InstanceDataCollection[idColCol.Count];

        Console.WriteLine("InstanceDataCollectionCollection for \"{0}\" " +
            "has {1} elements.", categoryName, idColCol.Count);

        // Copy and process the InstanceDataCollection array.
        idColCol.CopyTo(idColArray, 0);

        foreach ( InstanceDataCollection idCol in idColArray )
        {
            ProcessInstanceDataCollection(idCol);
        }
    }

    // Display the contents of an InstanceDataCollection.
    public static void ProcessInstanceDataCollection(InstanceDataCollection idCol)
    {

        InstanceData[] instDataArray = new InstanceData[idCol.Count];

        Console.WriteLine("  InstanceDataCollection for \"{0}\" " +
            "has {1} elements.", idCol.CounterName, idCol.Count);

        // Copy and process the InstanceData array.
        idCol.CopyTo(instDataArray, 0);

        int idX;
        for(idX=0; idX<instDataArray.Length; idX++)
        {
            ProcessInstanceDataObject(instDataArray[idX].InstanceName, instDataArray[idX].Sample);
        }
    }

    // Display the contents of an InstanceData object.
    public static void ProcessInstanceDataObject(string name, CounterSample CSRef)
    {

        InstanceData instData = new InstanceData(name, CSRef);
        Console.WriteLine("    Data from InstanceData object:\r\n" +
            "      InstanceName: {0,-31} RawValue: {1}", instData.InstanceName, instData.RawValue);

        CounterSample sample = instData.Sample;
        Console.WriteLine("    Data from CounterSample object:\r\n" +
            "      CounterType: {0,-32} SystemFrequency: {1}\r\n" +
            "      BaseValue: {2,-34} RawValue: {3}\r\n" +
            "      CounterFrequency: {4,-27} CounterTimeStamp: {5}\r\n" +
            "      TimeStamp: {6,-34} TimeStamp100nSec: {7}", sample.CounterType, sample.SystemFrequency, sample.BaseValue, sample.RawValue, sample.CounterFrequency, sample.CounterTimeStamp, sample.TimeStamp, sample.TimeStamp100nSec);
    }
}

Konstruktory

InstanceData(String, CounterSample)

Inicjuje nowe wystąpienie klasy InstanceData przy użyciu określonego przykładu i wystąpienia licznika wydajności.

Właściwości

InstanceName

Pobiera nazwę wystąpienia skojarzonego z danymi tego wystąpienia.

RawValue

Pobiera wartość danych pierwotnych skojarzonych z przykładem licznika wydajności.

Sample

Pobiera przykładowy licznik wydajności, który wygenerował te dane.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Produkt Wersje
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9