Sdílet prostřednictvím


PerformanceCounter.NextSample Metoda

Definice

Získá vzorek čítače a vrátí nezpracovanou nebo nepřepočítanou hodnotu.

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

Návraty

A CounterSample , který představuje další nezpracovanou hodnotu, kterou systém získá pro tento čítač.

Výjimky

Instance není správně přidružena k čítači výkonu.

-nebo-

Vlastnost je nastavena InstanceLifetime na Process při použití globální sdílené paměti.

Při přístupu k rozhraní API systému došlo k chybě.

Kód, který se spouští bez oprávnění správce, se pokusil přečíst čítač výkonu.

Příklady

Následující příklad kódu ukazuje, jak pomocí NextSample metody získat další nepřepočítané hodnoty čítače. Tento příklad kódu je součástí většího příkladu PerformanceCounter pro třídu.

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

Poznámky

Tato metoda se obecně používá pro čítače, které obsahují nepřepočítané hodnoty.

Poznámka

Pokud je Process hodnota InstanceLifetime vlastnosti a kategorie čítače výkonu byla vytvořena s rozhraním .NET Framework verze 1.0 nebo 1.1, InvalidOperationException je vyvolán. Kategorie čítačů výkonu vytvořené ve starších verzích používají globální sdílenou paměť a hodnota pro InstanceLifetime musí být Global. Pokud kategorie nepoužívá aplikace spuštěné ve verzi 1.0 nebo 1.1 rozhraní .NET Framework, odstraňte a znovu vytvořte kategorii.

Poznámka

Chcete-li číst čítače výkonu v systému Windows Vista, Windows XP Professional x64 Edition nebo Windows Server 2003, musíte být členem skupiny Sledování výkonu Users nebo mít oprávnění správce.

Abyste nemuseli zvýšit oprávnění pro přístup k čítačům výkonu ve Windows Vista, přidejte sami sebe do skupiny Sledování výkonu Users.

Ve Windows Vista nástroj Řízení uživatelských účtů (UAC) určuje oprávnění uživatele. Pokud jste členem předdefinované skupiny Administrators, máte přiřazeny dva přístupové tokeny run-time: token přístupu uživatele se standardním oprávněním a token přístupu správce. Ve výchozím nastavení máte roli standardního uživatele. Pokud chcete spustit kód, který přistupuje k čítačům výkonu, musíte nejprve zvýšit oprávnění ze standardního uživatele na správce. Můžete to udělat při spuštění aplikace tak, že kliknete pravým tlačítkem na ikonu aplikace a označíte, že chcete spustit jako správce.

Platí pro