Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método PerformanceCounter.IncrementBy (Int64)

 

Publicado: octubre de 2016

Incrementa o disminuye el valor del contador de rendimiento asociado en una cantidad especificada mediante una operación atómica eficaz.

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

Public Function IncrementBy (
	value As Long
) As Long

Parámetros

value
Type: System.Int64

El valor de incremento. (Un valor negativo reduce el contador.)

Valor devuelto

Type: System.Int64

El nuevo valor del contador.

Exception Condition
InvalidOperationException

El contador es de sólo lectura, por lo que la aplicación no puede aumentarlo.

O bien

La instancia no está correctamente asociada con un contador de rendimiento.

-o-

El InstanceLifetime propiedad está establecida en Process cuando uso global memoria compartida.

Win32Exception

Error de acceso a la API del sistema.

PlatformNotSupportedException

La plataforma es Windows 98 o Windows Millennium Edition, que no admite los contadores de rendimiento.

.NET Framework
Disponible desde 1.1

Este método es seguro para subprocesos.

Puede escribir solo en contadores personalizados. Todos los contadores del sistema son de sólo lectura.

System_CAPS_noteNota

El Increment, IncrementBy, y Decrement métodos utilizan interbloqueos para actualizar el valor del contador. Esto ayuda a mantener el valor del contador precisos en escenarios multiproceso, pero también produce una reducción del rendimiento. Si no necesita la precisión que entrelazados proporcionar operaciones, puede actualizar el RawValue propiedad directamente de hasta 5 veces la mejora del rendimiento. Sin embargo, en los escenarios multiproceso, algunas actualizaciones para el valor del contador pueden omitirse, produciendo datos inexactos.

System_CAPS_noteNota

Si el valor de la InstanceLifetime propiedad es Process y la categoría de contador de rendimiento se ha creado con .NET Framework versión 1.0 o 1.1, un InvalidOperationException se produce. Categorías de contador de rendimiento creados con versiones anteriores utilizan la memoria compartida global y el valor de InstanceLifetime debe ser Global. Si no se utiliza la categoría por aplicaciones que se ejecutan en las versiones 1.0 y 1.1 de .NET Framework, elimine y vuelva a la categoría.

En el ejemplo de código siguiente se muestra cómo utilizar el IncrementBy para agregar incrementos a un contador. Este ejemplo de código forma parte de un ejemplo más extenso de la PerformanceCounter clase.

Private Shared Sub CollectSamples(ByVal samplesList As ArrayList)

    Dim r As New Random(DateTime.Now.Millisecond)

    ' Loop for the samples.
    Dim j As Integer
    For j = 0 To 99

        Dim value As Integer = r.Next(1, 10)
        Console.Write(j.ToString() + " = " + value.ToString())

        avgCounter64Sample.IncrementBy(value)

        avgCounter64SampleBase.Increment()

        If j Mod 10 = 9 Then
            OutputSample(avgCounter64Sample.NextSample())
            samplesList.Add(avgCounter64Sample.NextSample())
        Else
            Console.WriteLine()
        End If
        System.Threading.Thread.Sleep(50)
    Next j
End Sub 'CollectSamples

PerformanceCounterPermission

for reading the performance counter category if the P:System.Diagnostics.PerformanceCounter.ReadOnly property is true. Associated enumeration: F:System.Diagnostics.PerformanceCounterPermissionAccess.Read.

PerformanceCounterPermission

for writing the performance counter category if the P:System.Diagnostics.PerformanceCounter.ReadOnly property is false. Associated enumeration: F:System.Diagnostics.PerformanceCounterPermissionAccess.Write.

Volver al principio
Mostrar: