Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
+49 (0) 351/8 33 82-0

Confluence Profiler aktivieren

Was ist Profiling?


Als Profiler werden Programmierwerkzeuge bezeichnet, die das Laufzeitverhalten von Software analysieren. Es gibt unterschiedliche Problembereiche in der Softwareentwicklung, die durch ineffiziente Programmierung ausgelöst werden. Ein Profiler hilft dem Entwickler durch Analyse und Vergleich von laufenden Programmen die Problembereiche aufzudecken. Daraus kann man Maßnahmen zur strukturellen und algorithmischen Verbesserung des Quellcodes ableiten.

Die häufigste Anwendung eines Profilers ist das Zählen und Messen der Aufrufe und Durchläufe von Funktionen. Dies ermöglicht es dem Programmierer herauszufinden, wo sich eine Optimierung des Programms lohnt. Eine Optimierung von Funktionen, die nicht häufig verwendet werden, ist der Gesamtleistung des Programms nicht sonderlich zuträglich und erschwert in der Regel die Wartbarkeit des Quellcodes. Deshalb wird das Hauptaugenmerk auf Funktionen gelegt, die oft aufgerufen werden und in der Summe der Aufrufe viel Zeit benötigen.

Wie aktiviere ich die Profiling Funktionalität von Confluence?


  1. Damit das Profiling in Confluence generell funktioniert, muss
    1. entweder die folgende Zeile in die log4j.properties (Fundort: <tomcat-path>/confluence/WEB-INF/classes) eingepflegt werden
      ## Atlassian Profiling
      log4j.logger.com.atlassian.util.profiling.UtilTimerStack=DEBUG
    2. oder in der Administrationskonsole der aktuellen Confluence-Instanz unter Protokoll- und Profilerstellung der Eintrag log4j.logger.com.atlassian.util.profiling.UtilTimerStack auf DEBUG hinzugefügt werden.
  2. Des Weiteren muss in der Administrationskonsole der aktuellen Confluence-Instanz unter Protokoll- und Profilerstellung die Profilerstellung aktiviert werden.
  3. optional: Man kann mittels log4j es noch so einrichten, dass die Profile-Log Ausgaben in eine separate Datei landen. Die folgenden Änderungen müssen wieder in der Datei log4j.properties (Fundort: <tomcat-path>/confluence/WEB-INF/classes) umgesetzt werden.
    1. Es ist notwendig einen neuen FileAppender zu definieren.
      ####
      # PROFILING LOG APPENDER
      ###
      log4j.appender.profiling=org.apache.log4j.RollingFileAppender
      log4j.appender.profiling.Threshold=DEBUG
      log4j.appender.profiling.File=${catalina.home}/logs/profiling.log
      log4j.appender.profiling.layout=org.apache.log4j.PatternLayout
      log4j.appender.profiling.layout.ConversionPattern=%d %p [%c{4}] %m%n
    2. Letztlich muss der Appender der zu überwachenden Klasse angehangen werden. Dazu ändert man lediglich die Zeile:
      log4j.logger.com.atlassian.util.profiling.UtilTimerStack=DEBUG

      in

      log4j.logger.com.atlassian.util.profiling.UtilTimerStack=DEBUG, profiling

      ab!

andere Werkzeuge


Zur Ergänzung werden an dieser Stelle noch zwei Profiler genannt, auf die allerdings nicht näher eingegangen wird.

YourKit Profiler

Als Besonderheit bei diesem Profiler ist zu nennen, dass es für Confluence ein Plugin existiert, welches dem Administrator ermöglicht, die für die Auswertung notwendigen Dumps (CPU und Speicher) über die Administrationskonsole zu generieren.

Referenzlinks
YourKit Profiler: http://www.yourkit.com/
Confluence Dokumentation zum Plugin: http://confluence.atlassian.com/display/CONF210/Profiling+using+the+YourKit+Plugin
Achtung!
Für die Software YourKit Profiler, die zur Dump-Auswertung benötigt wird, braucht man eine Lizenz. Es gibt eine Evaluierungslizenz, die allerdings nur für 15 Tage ausgelegt ist. Nach Ablauf dieser Frist muss eine Lizenz erworben/gekauft werden.

JProfiler

Dies Software besitzt vergleichbare Funktionalitäten, wie der YourKit Profiler.

Achtung!
Für die Software JProfiler, die zur Dump-Auswertung benötigt wird, braucht man eine Lizenz. Es gibt eine Evaluierungslizenz, die allerdings nur für 10 Tage ausgelegt ist. Nach Ablauf dieser Frist muss eine Lizenz erworben/gekauft werden.

Kommentar hinterlassen


Pin It on Pinterest