Udostępnij za pośrednictwem


Monitorowanie liczników wydajności z zadaniem skryptów

Administratorzy może być konieczne do monitorowania wydajności Integration Services pakiety, które wykonują złożone transformacje na dużych ilości danych. The System.Diagnostics namespace of the Microsoft .NET Framework provides classes for using existing performance counters and for creating your own performance counters.

Liczniki wydajności są przechowywane informacje o wydajności aplikacji, służące do analizowania wydajności oprogramowania w czasie.Liczniki wydajności można monitorować lokalnie lub zdalnie przy użyciu Monitor wydajności narzędzie.Wartości liczników wydajności można przechowywać zmienne dla nowszych przepływ sterowania branching w pakiecie.

Jako alternatywę na korzystanie z liczników wydajności można podnieść FireProgress(String, Int32, Int32, Int32, String, Boolean%) Zdarzenie przy użyciu Events() Właściwość Dts obiekt. The FireProgress(String, Int32, Int32, Int32, String, Boolean%) zdarzenie returns both incremental progress and percentage complete information to the Integration Services runtime.

Uwaga

Jeśli chcesz utworzyć zadanie, które łatwo można używać w wielu pakietów, należy rozważyć przy użyciu kodu w tym przykładzie skrypt zadanie jako punkt początkowy dla niestandardowego zadania.Aby uzyskać więcej informacji zobaczOpracowywania niestandardowego zadania.

Description

Poniższy przykład tworzy niestandardowego licznika i zwiększa licznika.Po pierwsze w przykładzie określa, czy licznik wydajności już istnieje.Jeśli licznik wydajności nie został utworzony, wywołania skryptów Create Metoda PerformanceCounterCategory obiekt, aby go utworzyć. Po utworzeniu licznika wydajności skrypt zwiększa licznika.Na koniec, w przykładzie poniżej dobrze telefonicznej Close Metoda na licznika wydajności jest już potrzebne.

Uwaga

Tworzenie nowej kategorii licznika wydajności i licznika wydajności wymaga praw administracyjnych.Ponadto nowa kategoria i licznik zachowywane na komputerze po utworzeniu.

Aby skonfigurować ten przykład zadania skryptu

  • Użycie Imports instrukcja SQL w kodzie do zaimportowania System.Diagnostics obszar nazw.

Przykład kodu

Public Sub Main()

    Dim myCounter As PerformanceCounter

    Try
        'Create the performance counter if it does not already exist.
        If Not _
        PerformanceCounterCategory.Exists("TaskExample") Then
            PerformanceCounterCategory.Create("TaskExample", _
                "Task Performance Counter Example", "Iterations", _
                "Number of times this task has been called.")
        End If

        'Initialize the performance counter.
        myCounter = New PerformanceCounter("TaskExample", _
            "Iterations", String.Empty, False)

        'Increment the performance counter.
        myCounter.Increment()

         myCounter.Close()
        Dts.TaskResult = ScriptResults.Success
    Catch ex As Exception
        Dts.Events.FireError(0, _
            "Task Performance Counter Example", _
            ex.Message & ControlChars.CrLf & ex.StackTrace, _
            String.Empty, 0)
        Dts.TaskResult = ScriptResults.Failure
    End Try

End Sub
public class ScriptMain
{



public void Main()
        {

            PerformanceCounter myCounter;

            try
            {
                //Create the performance counter if it does not already exist.
                if (!PerformanceCounterCategory.Exists("TaskExample"))
                {
                    PerformanceCounterCategory.Create("TaskExample", "Task Performance Counter Example", "Iterations", "Number of times this task has been called.");
                }

                //Initialize the performance counter.
                myCounter = new PerformanceCounter("TaskExample", "Iterations", String.Empty, false);

                //Increment the performance counter.
                myCounter.Increment();

                myCounter.Close();
                Dts.TaskResult = (int)ScriptResults.Success;
            }
            catch (Exception ex)
            {
                Dts.Events.FireError(0, "Task Performance Counter Example", ex.Message + "\r" + ex.StackTrace, String.Empty, 0);
                Dts.TaskResult = (int)ScriptResults.Failure;
            }

            Dts.TaskResult = (int)ScriptResults.Success;
        }
Integration Services icon (small) Konfiguracja w aktualizacji z usług integracja Services pobytu

Najnowsze pliki do pobrania, artykuły, próbki, i pliki wideo firmy Microsoft, jak również wybranego rozwiązania od Wspólnoty, odwiedź witrynę Integration Services strona w witrynie MSDN lub TechNet:

Automatycznego powiadomienie tych aktualizacji należy subskrybować źródła danych RSS, które jest dostępne strona.