InstanceData Classe

Definição

Mantém os dados da instância associados a uma amostra do contador.

public class InstanceData
Herança
InstanceData

Exemplos

O exemplo de código a seguir exibe o conteúdo dos InstanceData objetos que existem em um determinado PerformanceCounterCategory no computador local. Primeiro, ele exibe uma lista numerada de PerformanceCounter categorias. Depois que o usuário insere o número de uma das categorias, o exemplo exibe, para cada PerformanceCounter uma no PerformanceCounterCategory, os dados de instância associados a cada instância do PerformanceCounter.

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);
    }
}

Construtores

InstanceData(String, CounterSample)

Inicializa uma nova instância da classe InstanceData, usando a instância de contador de desempenho e a amostra especificadas.

Propriedades

InstanceName

Obtém o nome da instância associada a esses dados de instância.

RawValue

Obtém o valor de dados brutos associado à amostra do contador de desempenho.

Sample

Obtém a amostra do contador de desempenho que gerou esses dados.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Produto Versões
.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