VampirTrace Plugin Counters

Plugin Counter sind ein neues Feature von VampirTrace, welches es erlaubt externe Counter einzubinden. Die zur Verfügung gestellte Schnittstelle wurde mit Version 5.9 eingeführt und erlaubt es Entwicklern und Performance Analysten die Funktionalität von VampirTrace zu erweitern ohne dessen Code zu ändern. Die Implementierung als Plugin-Schnittstelle macht es ebenfalls überflüssig VampirTrace oder den zu analysierenden Code neu zu compilieren um andere Plugin Counter zu lesen. Performance Analysten sind dabei in der Lage mehrere Plugin Counter gleichzeitig zu nutzen. Dabei sollte darauf geachtet werden, welche zusätzlichen Informationen interessant sind, da jeder zusätzliche Counter einen zeitlichen Overhead beisteuert und sich somit auf die Ausführungszeit des untersuchten Programmes auswirkt. Seit VampirTrace 5.11  sind auch asynchrone Counter verfügbar. Diese erlauben es Counter-Werte unabhängig von Ereignissen im Trace zu schreiben

Kurzanleitung

Nachdem ein Plugin heruntergeladen (bzw. selbst geschrieben) und kompiliert wurde, sollte die resultierende shared-object Bibliothek in einen Ordner kopiert werden, der Teil des LD_LIBRARY_PATH ist. Jedes Plugin definiert andere Metriken die daraufhin VampirTrace zusätzlich zur Verfügung stehen. Informationen über die Metriken können in den jeweiligen README Dateien eingesehen werden. Um eine bestimmte Metrik während eines Laufs von VampirTrace zu aktivieren, muss die Umgebungsvariable VT_PLUGIN_CNTR_METRICS auf folgende Weise gesetzt werden:

export VT_PLUGIN_CNTR_METRICS=_[:_[:...]]

Beispielsweise kann die Metrik page_faults aus der Plugin Bibliothek libKswEvents.so auf folgende Weise aktiviert werden:

export VT_PLUGIN_CNTR_METRICS=KswEvents_page_faults

Mehrere Metriken können ausgewählt werden, indem man sie mit Doppelpunkten trennt.

Verfügbare Plugins

Kernel Tracing Software Events

Dieses Plugin erlaubt es Software Events auf Systemen mit neuerem (>=2.6.32) Linux Kernel zu messen. Dabei werden Metriken zur Verfügung gestellt :

  • Anzahl an CPU Migrationen
  • Zeiteinheiten, die eine Task ausgeführt wurde (task clock)
  • Speicherfehler (page faults)
  • Kontextwechsel
    Download

LibSensors Monitoring

Dieses Plugin erlaubt es VampirTrace Werte auszulesen, die für die Bibliothek lm-sensors verfügbar sind. Dazu gehören beispielsweise Prozessor und Chassis Temperaturen, sowie Lüfterdrehzahlen. Die Unterstützung für die sensors Bibliothek ist dabei stark systemabhängig.
Download

External Counter Events

Dieses Plugin erlaubt es VampirTrace externe Counter aus der dataheap Infrastruktur auszulesen. Schreiben Sie an Michael Kluge, um mehr über dieses dezentrale und flexible Infrastruktur für verteilte Datenquellen zu erfahren.
Download

Weitere Events

Einige der Score-P Plugins, die auf github verfügbar sind können auch unter VampirTrace genutzt werden.

Kontakt

Robert Schoene

Development Guide 

Das Plugin Counter Manual erklärt die Plugin Counter Schnittstelle und erlaubt es Ihnen somit selbst eigene Plugin Counter Bibliotheken zu erstellen.

Veröffentlichungen

Zu dieser Seite

ZIH
Letzte Änderung: 08.09.2016