Um den TPTP Profiler in Eclipse zu Installieren, muss anders als gewöhnlich etwas mehr Aufwand betrieben werden. Als erstes wird das TPTP Plugin normal mit dem Update-Manager installiert und dabei einfach alle benötigen Eigenschaften selektieren. Bei mir waren das alle Plugins ausser BIRT.
| Name |
TPTP Update site |
| URL |
http://eclipse.org/tptp/updates/site.xml
|
TPTP Agenten
Der Profiler benötigt einen nativen Agenten, welcher von http://www.eclipse.org/tptp/home/downloads/ heruntergeladen werden kann. Es muss einfach der Agenten für die entsprechende Plattform ausgewählt werden. Beim einem 32-Bit Ubuntu ist dies z.B. LINUX-IA32. Das Archiv kann für die Installation einfach an den gewünschten Platz entpackt werden, wie z.B. /opt/tptp_ac
Bibliotheken
Als nächstes müssen die Bibliotheken des TPTP Agenten ins System eingebunden werden:
m-kessler@xabbu:~$ su -
m-kessler@xabbu:~$ cd /etc/ld.so.conf.d/
m-kessler@xabbu:~$ echo "/opt/tptp_ac/lib" > tptp_ac.conf
m-kessler@xabbu:~$ echo "/opt/tptp_ac/plugins/org.eclipse.tptp.javaprofiler" >> tptp_ac.conf
m-kessler@xabbu:~$ ldconfig
m-kessler@xabbu:~$ exit
Der Agent benötigt des weiteren die Bibliothek libstdc+-libc6.2-2.so.3, welche sich auf Ubuntu im Paket libstdc+2.10-glibc2.2 befindet:
m-kessler@xabbu:~$ sudo apt-get install libstdc++2.10-glibc2.2
Umgebungsvariabeln
Die Umgebungsvariabeln werden global in /etc/environment definiert:
TPTP_AC_HOME="/opt/tptp_ac"
JAVA_PROFILER_HOME="/opt/tptp_ac/plugins/org.eclipse.tptp.javaprofiler"
TEMP="/tmp"
Die bereits bestehende Variable PATH muss um folgende Pfade erweitert werden:
/opt/tptp_ac/bin:/opt/tptp_ac/plugins/org.eclipse.tptp.javaprofiler:/opt/tptp_ac/lib
Konfiguration
Als nächstes muss nun noch die Konfigurationsdatei erstellt werden:
cd /opt/tptp_ac/bin
./SetConfig.sh
Die Daten welche von dem kleinen Konfigurationsprogramm abgefragt werden, landen schliesslich in der Datei /opt/tptp_ac/config/serviceconfig.xml
Auf einem Linux System muss noch der TimeController in der Datei /opt/tptp_ac/agents/org.eclipse.tptp.TimeCollector/agent.xml angepasst werden. Einfach die Zeile
<launchInfo><Application executable=".\TimeCollector.exe"></Application></launchInfo>
in
<launchInfo><Application executable="TimeCollector"></Application></launchInfo>
Scripte anpassen
Die Start und Stop Scripte vom TPTP Agenten enthalten leider noch einen Fehler. Um diese zu beheben müssen die Datei /opt/tptp_ac/bin/RAStart.sh und /opt/tptp_ac/bin/RAStop.sh angepasst werden, indem man den falschen Vergleichsoperatoren == durch = ersetzt. Der Programmierer hat dies wohl mit Java verwechselt. Richtig sehen diese in der Datei /opt/tptp_ac/bin/RAStart.sh, Zeile 44 wie folgt aus:
if [ x$TEMP = x ]; then
und in der anderen Datei /opt/tptp_ac/bin/RAStop.sh, Zeile 27
if [ x$TEMP = x ]; then
Agenten starten
Der Agent kann nur in der Kommandozeile gestartet werden:
m-kessler@xabbu:~$ RAStart.sh
Starting Agent Controller.
ACServer started successfully.
Test
Um den Agenten zu Testen, kann in der Kommandozeile ein Test gestartet werden:
m-kessler@xabbu:~$ SampleClient
Connected to the Agent Controller on "localhost" at port number 10006
The Time Collector Agent ID: 103
Established a data channel with the agent.
Sending 5 Hello messages over data channel to TimeCollector ...
Start the TimeCollector ...
Incoming data: Hello from Time Collector Agent - Count 0
Incoming data: Hello from Time Collector Agent - Count 1
Incoming data: Hello from Time Collector Agent - Count 2
Incoming data: Hello from Time Collector Agent - Count 3
Incoming data: Hello from Time Collector Agent - Count 4
Incoming data: Hello from Time Collector Agent - Count 5
Incoming data: Hello from Time Collector Agent - Count 6
Incoming data: Hello from Time Collector Agent - Count 7
Incoming data: Hello from Time Collector Agent - Count 8
Stop the TimeCollector ...
Incoming data: Hello from Time Collector Agent - Count 9
Incoming data: Hello from Time Collector Agent - Count 10
All finished
Press any key to exit...
Eclipse
Damit auch alle prima klappt, setzten wir noch den Java Bibliotheken Pfad, indem wir im Eclipse Installationsverzeichnis die Pfade zu den Bibliotheken in der Datei eclipse.ini anpassen:
-Djava.library.path=/usr/lib/jni:/opt/tptp_ac/plugins/org.eclipse.tptp.javaprofiler:
/opt/tptp_ac/lib
Nun können Java Programme einfach mit dem Profile Knopf gestartet werden.
Tomcat
Beim Tomcat ist mir nicht gelungen, den Profiler direkt zu starten. Als Workaround habe zusätzlich noch den Port 10006 als Profling Host konfiguriert:

Dannach einfach den Tomcat mit der Option
-XrunpiAgent:server=enabled
gestartet, damit sich Tomcat mit dem Agenten verbinden. Somit kann nachträglich Eclipse mit dem Agenten verbunden werden und so das Profiling gestartet werden.
Kommentare
benjie, Florian, Peter, peter pan, Techtmeier [...]
michi, Jacko_Momocini, michi, Jacko_Momocini, michi [...]
michi, flöschen
michi, Golfplätze Schweiz, michi, Blankster, michi [...]
michi, Christian, michi, michi, Lukas Eppler