SOG-Helpcenter Logo SOG Business - Software

Definition Trace


Ein #Trace protokolliert Programmabläufe in einem separaten Protokoll zwecks nachgelagerter Analyse. Des Weiteren ist es der Entwicklung damit möglich, gezielte Trace-Ausgaben in Programmen zu implementieren, welche nur über einen entsprechenden Trace ausgegeben werden.

Arten von Traces

Base

Dieser Trace ist dafür geeignet herauszufinden, wie die Programmlogik allgemein abgelaufen ist. Es werden hier keine Datenbankzugriffe protokolliert.

All

Im All Trace wird die komplette Programmlogik (wie im Base-Trace) ausgegeben mit dem Zusatz, dass hier noch die Datenbankzugriffe mit protokolliert werden.

Perf

Der Performance-Trace ist eine besondere Form des Traces. Hier werden die Programmlogik und die Datenbankzugriffe zusätzlich zu den Performanceanalysedaten ausgegeben (also die Laufzeit der einzelnen Routinen von ActiveSkin). Das Protokoll dieses Traces beinhaltet die gleichen Informationen, die auch der Performancemonitor zur Laufzeit ausgibt. Der Vorteil dieses Traces ist, dass die Protokolle der Entwicklung zwecks Analyse bereitgestellt werden können.

Sollten Performance-Probleme auftreten, so sind diese in der Regel durch individuelle Konfiguration entstanden. Eine erste Maßnahme sollte es sein, diese Anpassungen rückgängig zu machen bzw. diese zu hinterfragen, ob das so wirklich sinnvoll ist. Performancetraces sollten nur in Rücksprache mit einem Entwickler erstellt werden. Es ist in 99% der Fälle sinnvoller den Live-PerformanceMonitor zu benutzen und bei Bedarf mit einem Entwickler direkt auf das Problem zu schauen.

Ext, Int, Stack

Diese Tracearten sind nur nach Aufforderung durch die Entwicklung zu nutzen.

Nutzung von Traces

Allgemein

Traces werden in Dateien protokolliert. Trace Dateien werden immer auf dem System unter dem Benutzer gespeichert, auf dem der Trace aktiviert wird. Wird also ein Trace auf einem Client aktiviert, so werden die Trace-Dateien auch auf dem Client abgelegt und nicht auf dem ERP Server. Das allgemein gültige Verzeichnis für die Traceablage ist „%temp%\sogtemp\trace“.

Ein einfacher Weg dieses Verzeichnis auf dem Kundensystem zu finden ist es, „temp“ in die Entwicklungsumgebung einzutragen.

Pn +

Um eine gesamte ActiveSkin Session zu Tracen muss ActiveSkin über die Entwicklungsumgebung mit dem Aufrufparamter „pnwpf +“ oder „pn +“ gestartet werden.

Hier lässt sich dann die Art des Trace (Trace Umfang) einstellen als auch weitere Parameter definieren, um den Trace zielgerichteter zu erfassen.

Env

Über die Umgebungsvariable hhtrcs lässt sich das Tracen zentral aktivieren, genutzt werden kann dies z. B. für einen gezielten Programmtrace auf allen Clients. Hierbei ist zu beachten, dass sehr schnell sehr viele Daten entstehen können, wenn z. B. das p102 bei allen Clients getraced wird.

Ein weiterer Anwendungsfall kann auch der „Dauertrace“ eines einzelnen Programmes bei einem einzelnen SOG ERP Anwender sein. Diese Einrichtung sollte bevorzugt genutzt werden, da dann viel weniger Last auf dem System ist und das Problem genauer eingegrenzt werden kann.

Eine entsprechende kontinuierliche Überwachung durch einen geschulten Mitarbeiter der SOG ist ZWINGEND erforderlich. Ebenfalls ist zwingend erforderlich den Kunden darüber zu informieren, damit dieser bei Auftreten des Problems die SOG informiert und den Trace zur Verfügung stellt.

Die entsprechende Variable kann gezielt auf dem Client/bei dem Benutzer über das Programm sogenv gesetzt werden. Über eine ENV-Datei kann die o. g. Funktion ebenfalls aktiviert werden. Bei der Einrichtung einer ENV kann Unterstützung durch die Abteilung Technik oder Entwicklung eingefordert werden.

Beispiel ENV-Datei

sel PROG - - p312
env hhtrcs (all)

Laufzeit-Trace

Innerhalb von ActiveSkin lässt sich beim Programmaufruf über den zusätzlichen Aufrufparameter *,trc ein Programm im Trace starten. Hierbei muss zusätzlich noch der Traceumfang (all, base, perf) mit übergeben werden. Ein Beispiel für einen Trace Aufruf des p102 im all Umfang ist. „p102, trc=all“. Zum Zeitpunkt der Erstellung dieser Dokumentation ist das Verhalten so, dass beim ersten Aufruf eines Traces auf diese Art eine SLOG-Meldung erscheint. Bei einem erneuten Aufruf des Traces in der gleichen Sitzung erscheint keine weitere SLOG-Meldung. Ein Trace erfolgt trotzdem.

JOB

Soll ein Programm innerhalb einer Job-Verarbeitung mit Trace gestartet werden, so kann dort als "Funktion" nach dem Programmnamen mit der Syntax ",trc=Umfang" der Trace aktiviert und der Umfang festgelegt werden.

SOG ERP Services

Die Programme, welche in SOGERPService konfiguriert werden, lassen sich auf verschiedene Wege tracen. Zum einen kann der Trace durch gezielten Aufruf auf der Kommandozeile erfolgen, aber auch über eine Anpassung der Dienste Konfiguration.

Sofern es sich um ein Problem im Dienst handelt, sollte geprüft werden, ob der Trace über den gezielten Aufruf im Vordergrund schon ermitteln lässt. Tritt das Problem aber nur in der Windows Dienste Umgebung auf, ist zwingend die Aktivierung über die SOGERPServcice-Konfiguration notwendig.

  1. Durch gezielten Aufruf/ Start des Subdienstes (z. B. Jobhandler, ListHandler) auf der Kommandozeile über den Parameter –trc möglich. Bei dieser Variante sollte der SOGERPService-Dienst im Vorfeld beendet werden.

    Beispiel: sogerpsrv.exe -x listhandler -trc all

    Hinweis: Die von einem SOGERPSrvice Dienst (z. B. Jobhandler, ExchangeImportHandler,Webserv, …) benötigten Parameter sind der entsprechenden Dokumentation zu entnehmen, welche bei dieser Variante mit anzugeben sind.

  2. Durch Setzen der Eigenschaft "Trace" im Dienste-Eintrag des p405.

 

Aktivieren und Deaktivieren von Trace zur Laufzeit.

Wird ein Programm in der WPF ActiveSkin Oberfläche mit Trace gestartet, zeigt AktivSkin in der oberen Symbolleiste ein Trace-Symbol an, mit dem sich der Trace zu dem Programm aktivieren und deaktivieren lässt. Dadurch können Fehler analysiert werden, die nur sporadisch auftreten. Oder das Trace-Protokoll kann auf die relevante Passage beschränkt werden.

Werden Service-Programme in der p405 Diensteumgebung mit Trace gestartet, kann das Aktivieren und Deaktivieren des Trace über das p405 erfolgen. Der Trace-Status kann ebenfalls im p405 angezeigt werden.

Starten von Trace ohne Aktivierung der Ausgabe

Wir Trace durch Angabe eines TraceUmfanges gestartet, so kann zusätzlich zum Umfang die Option":off" angegeben werden. Die sorgt dafür, dass der Trace zwar gestartet, aber nicht aktiviert wird. Die Aktivierung muss dann über die ActiveSkin Oberfläche oder für Dienste über das p405 erfolgen.

Beispiel: Variable "hhtrcs" setzen auf den Wert "all:off"
oder: Dienste-Option "Trace" setzen auf den Wert "all:off"

 Handlungsempfehlungen zur Verwendung von Traces

Ziel eines Traces sollte es sein, das Problem zu schnell und schlank wie möglich zu reproduzieren, um bei der Analyse unwichtige Sachen gar nicht erst im Trace zu haben. Dafür ist es notwendig, zunächst einen Plan zu erstellen, wie das Problem zuverlässig reproduziert werden kann und diesen nach Aktivierung des Traces genau zu befolgen.

Wird ein Trace zur SOG übertragen, so sollte das Trace Verzeichnis komplett gezipped werden und erst dann zur SOG übertragen bzw. an eine Aufgabe gehängt werden. Sollte der Import in SOGi nicht mehr möglich sein ist mit dem Mitarbeiter, der den Trace gefordert hat eine Individuelle Lösung zu finden.

Der Trace-Umfang sollte, wenn nicht anders gefordert, immer all betragen.

Traces sollten nicht archiviert werden. Ganz besonders gehören Sie nicht auf das P oder V Laufwerk bei der SOG inhouse.