InstanceData Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Detém dados de instância associados a uma amostra de contador de desempenho.
public ref class InstanceData
public class InstanceData
type InstanceData = class
Public Class InstanceData
- Herança
-
InstanceData
Exemplos
O seguinte exemplo de código mostra o conteúdo dos InstanceData objetos que existem num determinado PerformanceCounterCategory no computador local. Apresenta primeiro uma lista numerada de PerformanceCounter categorias. Depois de o utilizador introduzir o número de uma das categorias, a amostra mostra, para cada PerformanceCounter em , PerformanceCounterCategoryos dados de instância associados a cada instância de .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);
}
}
Imports System.Diagnostics
Module InstDataCopyToMod
Private categoryName As String
Sub Main()
Dim catNumStr As String
Dim categoryNum As Integer
Dim categories() As PerformanceCounterCategory = _
PerformanceCounterCategory.GetCategories()
' Create and sort an array of category names.
Dim categoryNames(categories.Length - 1) As String
Dim catX As Integer
For catX = 0 To categories.Length - 1
categoryNames(catX) = categories(catX).CategoryName
Next
Array.Sort(categoryNames)
Console.WriteLine( _
"These categories are registered on this computer:")
For catX = 0 To categories.Length - 1
Console.WriteLine("{0,4} - {1}", catX + 1, _
categoryNames(catX))
Next 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 = Integer.Parse(catNumStr)
If categoryNum < 1 Or categoryNum > categories.Length Then
Throw New Exception( _
String.Format("The category number must be in the " & _
"range 1..{0}.", categories.Length))
End If
categoryName = categoryNames((categoryNum - 1))
Catch ex As Exception
Console.WriteLine("""{0}"" is not a valid category number." & _
vbCrLf & "{1}", catNumStr, ex.Message)
Return
End Try
' Process the InstanceDataCollectionCollection for this category.
Dim pcc As New PerformanceCounterCategory(categoryName)
Dim idColCol As InstanceDataCollectionCollection = pcc.ReadCategory()
Dim idColArray(idColCol.Count - 1) As InstanceDataCollection
Console.WriteLine("InstanceDataCollectionCollection for ""{0}"" " & _
"has {1} elements.", categoryName, idColCol.Count)
' Copy and process the InstanceDataCollection array.
idColCol.CopyTo(idColArray, 0)
Dim idCol As InstanceDataCollection
For Each idCol In idColArray
ProcessInstanceDataCollection(idCol)
Next idCol
End Sub
' Display the contents of an InstanceDataCollection.
Sub ProcessInstanceDataCollection(ByVal idCol As InstanceDataCollection)
Dim instDataArray(idCol.Count - 1) As InstanceData
Console.WriteLine(" InstanceDataCollection for ""{0}"" " & _
"has {1} elements.", idCol.CounterName, idCol.Count)
' Copy and process the InstanceData array.
idCol.CopyTo(instDataArray, 0)
Dim idX As Integer
For idX = 0 To instDataArray.Length - 1
ProcessInstanceDataObject(instDataArray(idX).InstanceName, _
instDataArray(idX).Sample)
Next idX
End Sub
' Display the contents of an InstanceData object.
Sub ProcessInstanceDataObject(ByVal name As String, _
ByVal CSRef As CounterSample)
Dim instData As New InstanceData(name, CSRef)
Console.WriteLine(" Data from InstanceData object:" & vbCrLf & _
" InstanceName: {0,-31} RawValue: {1}", _
instData.InstanceName, instData.RawValue)
Dim sample As CounterSample = instData.Sample
Console.WriteLine(" Data from CounterSample object:" & vbCrLf & _
" CounterType: {0,-32} SystemFrequency: {1}" & vbCrLf & _
" BaseValue: {2,-34} RawValue: {3}" & vbCrLf & _
" CounterFrequency: {4,-27} CounterTimeStamp: {5}" & vbCrLf & _
" TimeStamp: {6,-34} TimeStamp100nSec: {7}", _
sample.CounterType, sample.SystemFrequency, sample.BaseValue, _
sample.RawValue, sample.CounterFrequency, sample.CounterTimeStamp, _
sample.TimeStamp, sample.TimeStamp100nSec)
End Sub
End Module
Construtores
| Name | Description |
|---|---|
| InstanceData(String, CounterSample) |
Inicializa uma nova instância da classe InstanceData, usando a amostra especificada e a instância do contador de desempenho. |
Propriedades
| Name | Description |
|---|---|
| InstanceName |
Obtém o nome da instância associado a estes 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 estes dados. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |