Share via


PerformanceCounter.NextSample Méthode

Définition

Obtient un échantillon de compteur et retourne sa valeur brute ou non calculée.

public:
 System::Diagnostics::CounterSample NextSample();
public System.Diagnostics.CounterSample NextSample ();
member this.NextSample : unit -> System.Diagnostics.CounterSample
Public Function NextSample () As CounterSample

Retours

CounterSample représentant la prochaine valeur brute obtenue par le système pour ce compteur.

Exceptions

L'instance n'est pas correctement associée à un compteur de performance.

- ou -

La propriété InstanceLifetime a la valeur Process lorsqu'elle utilise la mémoire partagée globale.

Une erreur s'est produite lors de l'accès à une API système.

Code s'exécutant sans privilèges d'administrateur, destiné à lire un compteur de performance.

Exemples

L’exemple de code suivant montre comment utiliser la NextSample méthode pour obtenir la valeur non calculée suivante d’un compteur. Cet exemple de code fait partie d’un exemple plus grand pour la PerformanceCounter classe .

void CollectSamples( ArrayList^ samplesList, PerformanceCounter^ PC, PerformanceCounter^ BPC )
{
   Random^ r = gcnew Random( DateTime::Now.Millisecond );

   // Loop for the samples.
   for ( int j = 0; j < 100; j++ )
   {
      int value = r->Next( 1, 10 );
      Console::Write( "{0} = {1}", j, value );
      PC->IncrementBy( value );
      BPC->Increment();
      if ( (j % 10) == 9 )
      {
         OutputSample( PC->NextSample() );
         samplesList->Add( PC->NextSample() );
      }
      else
            Console::WriteLine();
      System::Threading::Thread::Sleep( 50 );
   }
}
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 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

Remarques

Cette méthode est généralement utilisée pour les compteurs qui contiennent des valeurs non calculées.

Notes

Si la valeur de la InstanceLifetime propriété est Process et que la catégorie de compteur de performances a été créée avec .NET Framework version 1.0 ou 1.1, une InvalidOperationException valeur est levée. Les catégories de compteurs de performances créées avec des versions antérieures utilisent la mémoire partagée globale, et la valeur pour InstanceLifetime doit être Global. Si la catégorie n’est pas utilisée par les applications s’exécutant sur les versions 1.0 ou 1.1 du .NET Framework, supprimez et recréez la catégorie.

Notes

Pour lire les compteurs de performances dans Windows Vista, Windows XP Professionnel Édition x64 ou Windows Server 2003, vous devez être membre du groupe Utilisateurs Analyseur de performances ou disposer de privilèges d’administrateur.

Pour éviter d’avoir à élever vos privilèges pour accéder aux compteurs de performances dans Windows Vista, ajoutez-vous au groupe utilisateurs Analyseur de performances.

Dans Windows Vista, le contrôle de compte d'utilisateur détermine les privilèges d'un utilisateur. Si vous êtes membre du groupe Administrateurs intégrés, deux jetons d'accès au moment de l'exécution vous sont assignés : un jeton d'accès utilisateur standard et un jeton d'accès administrateur. Par défaut, vous êtes dans le rôle d'utilisateur standard. Pour exécuter le code qui accède aux compteurs de performances, vous devez d’abord élever vos privilèges d’utilisateur standard à administrateur. Vous pouvez effectuer cela au démarrage d'une application en cliquant avec le bouton droit sur l'icône de l'application et en indiquant que vous voulez l'exécuter en tant qu'administrateur.

S’applique à