Tracing

(engl.)Wikipedia unterscheidet zwischen:

Event Logging
diese Informationen sind für den Systemabministrator bestimmt, diese sollen nur relevante höhrere abstrakte Ereignisse überwachen (klassisch: UNIX-Syslog)
Software Tracing

Instrumentierung bezeichnet das versehen mit Code zur Überwachung (Wikipedia)
ggf. kann dies auch durch ein Codeanalyseprogramm erfolgen)

Tracemechanismus sollen:

Nutzen

Rückkopplung zur Spezifikation
Traces aus einem System/Programm sind die empirischen Spuren, die auch in der Spezifikation erklärt werden sollten. → Rückkopplung in UML-Spezifikationen, ggf. zusätzliche Annotationen in Statecharts, Aktivitäts-Diagramme (Idee Juli 2011)
Nachweis der Testüberdeckung
Tests sollen so sein, dass möglichst viel Code durchlaufen wird, und nicht erst im Einsatz Codestellen zum ersten mal durchlaufen werden.
Ablaufverfolgung: Jeder Basicblock wird getraced
Performanceanalyse:
Analyse der Rechtzeitigkeit bei Echtzeitsystemen
Events, die den Anfang und das Ende einer Aktivität darstellen, können zu Antwortzeitdauerstatistiken ausgewertet werden.

Begriffe

statische Tracepoints werden von den Entwicklern an den interessanten Stellen plaziert. Diese können zum Kernel-ABI (Application Binary-Interface) definiert werden. ([JC200904])

Tracingmechanismen:

DTrace von Sun
FTrace
Beschreibung in LWN Part1 und Part2
Zusammenhang mit perf ?
Ftrace - eLinux.org
trace-cmd: A front-end for Ftrace [LWN.net]
trace-cmd-report(1)
LTTng Linux Trace Toolkit
in Kernel- und Userspace
ETW-MSWindows Eventtracing
Light weight eventtracing in Genode

Bedenken zu Tracepoints

Auswirkung auf Performance - TP sind naturgemäß an den kritischten Stellem plaziert
Kosten eines inaktiven Tracepoints fast 0 durch run-time-codepatching [JC200904]. Trick: Platz für Tracepoint kann mit nop-Instruktionen freigehalten werden, bei der Aktivierung kann dann dort der Funktioncall eintragen werden. (Quelle ???)
Änderungsstabilität - im Kern und in Auswertungsprogrammen [JC200904]
Das Ändern/Verbessern um die Tracepoints herum ist eine Herausforderung

Literatur:

[JC200904] On the value of static tracepoints

Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber