Exportar (0) Imprimir
Expandir todo

InstanceData (Clase)

Contiene los datos de instancia asociados a un contador de rendimiento de ejemplo.

Espacio de nombres: System.Diagnostics
Ensamblado: System (en system.dll)

'Declaración
Public Class InstanceData
'Uso
Dim instance As InstanceData

public class InstanceData
public class InstanceData

En el ejemplo de código siguiente se muestra el contenido de los objetos InstanceData que existen en una clase PerformanceCounterCategory en particular en el equipo local. En primer lugar muestra una lista numerada de categorías de PerformanceCounter. Después de que el usuario especifica el número de una de las categorías, el ejemplo muestra, para cada componente PerformanceCounter del objeto PerformanceCounterCategory, los datos de instancia asociados a cada instancia de PerformanceCounter.

Imports System
Imports System.Diagnostics
Imports Microsoft.VisualBasic

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

System.Object
  System.Diagnostics.InstanceData

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft