Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

CounterCreationDataCollection (Clase)

Proporciona una colección de objetos CounterCreationData fuertemente tipados.

System.Object
  System.Collections.CollectionBase
    System.Diagnostics.CounterCreationDataCollection

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

[SerializableAttribute]
public class CounterCreationDataCollection : CollectionBase

El tipo CounterCreationDataCollection expone los siguientes miembros.

  NombreDescripción
Método públicoCounterCreationDataCollection()Inicializa una instancia nueva de la clase CounterCreationDataCollection, sin instancias de CounterCreationData asociadas.
Método públicoCounterCreationDataCollection(CounterCreationData[])Inicializa una instancia nueva de la clase CounterCreationDataCollection utilizando la matriz de instancias CounterCreationData especificada.
Método públicoCounterCreationDataCollection(CounterCreationDataCollection)Inicializa una nueva instancia de la clase CounterCreationDataCollection utilizando la colección especificada de instancias de CounterCreationData.
Arriba

  NombreDescripción
Propiedad públicaCapacityObtiene o establece el número de elementos que puede contener la colección CollectionBase. (Se hereda de CollectionBase).
Propiedad públicaCountObtiene el número de elementos incluidos en la instancia de CollectionBase. Esta propiedad no se puede invalidar. (Se hereda de CollectionBase).
Propiedad protegidaInnerListObtiene una colección ArrayList que contiene la lista de elementos incluidos en la instancia de CollectionBase. (Se hereda de CollectionBase).
Propiedad públicaItemIndiza la colección CounterCreationData.
Propiedad protegidaListObtiene una interfaz IList que contiene la lista de elementos incluidos en la instancia de CollectionBase. (Se hereda de CollectionBase).
Arriba

  NombreDescripción
Método públicoAddAgrega una instancia de la clase CounterCreationData a la colección.
Método públicoAddRange(CounterCreationData[])Agrega a la colección la matriz especificada de instancias de CounterCreationData.
Método públicoAddRange(CounterCreationDataCollection)Agrega a la colección la colección especificada de instancias de CounterCreationData.
Método públicoClearElimina todos los objetos de la instancia de CollectionBase. Este método no se puede reemplazar. (Se hereda de CollectionBase).
Método públicoContainsDetermina si una instancia de CounterCreationData existe en la colección.
Método públicoCopyToCopia los elementos de CounterCreationData en una matriz, empezando por el índice especificado de la matriz.
Método públicoEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoGetEnumeratorDevuelve un enumerador que recorre en iteración la instancia de CollectionBase. (Se hereda de CollectionBase).
Método públicoGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoGetType Obtiene el Typede la instancia actual. (Se hereda de Object).
Método públicoIndexOfDevuelve el índice de un objeto CounterCreationData de la colección.
Método públicoInsertInserta un objeto CounterCreationData en la colección, en el índice especificado.
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoOnClearRealiza procesos de personalización adicionales al borrar el contenido de la instancia de CollectionBase. (Se hereda de CollectionBase).
Método protegidoOnClearCompleteRealiza procesos personalizados adicionales después de borrar el contenido de la instancia de CollectionBase. (Se hereda de CollectionBase).
Método protegidoOnInsertRealiza procesos personalizados adicionales antes de insertar un nuevo elemento en la instancia de CollectionBase. (Se hereda de CollectionBase).
Método protegidoOnInsertCompleteRealiza procesos personalizados adicionales después de insertar un nuevo elemento en la instancia de CollectionBase. (Se hereda de CollectionBase).
Método protegidoOnRemoveRealiza procesos de personalización adicionales al quitar un elemento de la instancia de CollectionBase. (Se hereda de CollectionBase).
Método protegidoOnRemoveCompleteRealiza procesos de personalización adicionales después de quitar un elemento de la instancia de CollectionBase. (Se hereda de CollectionBase).
Método protegidoOnSetRealiza procesos personalizados adicionales antes de establecer un valor en la instancia de CollectionBase. (Se hereda de CollectionBase).
Método protegidoOnSetCompleteRealiza procesos personalizados adicionales después de establecer un valor en la instancia de CollectionBase. (Se hereda de CollectionBase).
Método protegidoOnValidateComprueba el objeto especificado para determinar si es un tipo de CounterCreationData válido. (Invalida a CollectionBase.OnValidate(Object)).
Método públicoRemoveQuita un objeto CounterCreationData de la colección.
Método públicoRemoveAtQuita el elemento que se encuentra en el índice especificado de la instancia de CollectionBase. Este método no se puede reemplazar. (Se hereda de CollectionBase).
Método públicoToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

  NombreDescripción
Implementación explícita de interfacesMétodo privadoICollection.CopyToCopia la totalidad de CollectionBase en una matriz Array unidimensional compatible, comenzando en el índice especificado de la matriz de destino. (Se hereda de CollectionBase).
Implementación explícita de interfacesPropiedad privadaICollection.IsSynchronizedObtiene un valor que indica si el acceso a la interfaz CollectionBase está sincronizado (es seguro para subprocesos). (Se hereda de CollectionBase).
Implementación explícita de interfacesPropiedad privadaICollection.SyncRootObtiene un objeto que se puede utilizar para sincronizar el acceso a CollectionBase. (Se hereda de CollectionBase).
Implementación explícita de interfacesMétodo privadoIList.AddAgrega un objeto al final de CollectionBase. (Se hereda de CollectionBase).
Implementación explícita de interfacesMétodo privadoIList.ContainsDetermina si CollectionBase contiene un elemento específico. (Se hereda de CollectionBase).
Implementación explícita de interfacesMétodo privadoIList.IndexOfBusca el objeto Object especificado y devuelve el índice de base cero de la primera aparición en toda la colección CollectionBase. (Se hereda de CollectionBase).
Implementación explícita de interfacesMétodo privadoIList.InsertInserta un elemento en CollectionBase, en el índice especificado. (Se hereda de CollectionBase).
Implementación explícita de interfacesPropiedad privadaIList.IsFixedSizeObtiene un valor que indica si la interfaz CollectionBase tiene un tamaño fijo. (Se hereda de CollectionBase).
Implementación explícita de interfacesPropiedad privadaIList.IsReadOnlyObtiene un valor que indica si CollectionBase es de sólo lectura. (Se hereda de CollectionBase).
Implementación explícita de interfacesPropiedad privadaIList.ItemObtiene o establece el elemento que se encuentra en el índice especificado. (Se hereda de CollectionBase).
Implementación explícita de interfacesMétodo privadoIList.RemoveQuita la primera aparición de un objeto específico de la interfaz CollectionBase. (Se hereda de CollectionBase).
Arriba

En el siguiente ejemplo se muestra cómo utilizar la clase CounterCreationDataCollection. El ejemplo crea una nueva instancia de la clase y utiliza varios métodos para agregar instrucciones a la colección, devolver su índice y agregar o quitar atributos en un punto de índice concreto.



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("++++++++++++++++++++++");
	}
}


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos 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.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft