LTTV & LTTng roadmap
Here are the roadmaps for the LTTV and LTTng development. I use a priority indice
for the TODO items :
(1) : very high priority
(10): lowest priority
Dependencies are written between brackets [ ].
The # symbol marks who is currently working on the item.
The % symbol marks who is interested in the realisation of the item.
LTTV Roadmap
* TODO
(3) Add cluster support.
# Eric Clement
(3) Make LTTV aware of type formats (visual separators) defined in the XML
file.
(3) Use a per architecture enumeration for traps.
(4) Add event specific fields support to filter.
(4) Add a periodic event interval view. (useful to verify event periodicity)
(4) create a graphical per cpu activity view.
(5) Add Python scripting hooks.
(5) Flight recorder : start lttd automatically upon GUI trace control stop.
(5) Automatically detect traces with too much processes and disable faulty operations.
(5) Event sequence detector (inspired from regular expressions).
(7) Create a hardware counter viewer (low cost rate counters : L1 cache miss,
page faults, interrupts...). This will be a generalisation of the event rate
view into a view of the evolution of a user definable event field.
* TO FIX
(10) Event filter : event.time does not work.
(10) Add cancel button to LTTV filter GUI window.
(10) Sometimes, in the control flow view, a process with 0 creation time is
created in addition to the real process itself. Seems to be caused by end of
process life.
(10) Statistics do not take in account the time spent in the mode present at
the beginning of the trace. Example : real time spent in system call on behalf
of process 0.
LTT Next Generation Roadmap
* TODO
(4) Add Xen support.
# Mathieu Desnoyers
# Parisa Heidari
(4) efficient dynamic event filtering while recording trace.
% Sensis Corp. Tim Bish
(4) instrument kernel bottom half irqsave, spinlocks, rwlocks, seqlocks, semaphores, mutexes, brlock.
(4) integrate NPTL instrumentation (see
PTT).
(5) Support CPUs with scalable frequency.
(5) Integrate LTTng and lttd with LKCD.
(7) Integrate periodical dump of perfctr hardware counters.
(8) Integrate periodical dump of SystemTAP computed information.
(8) Integrate SystemTAP logging with LTTng.
(9) Add support for setjmp/longjmp and jump tables instrumentation to
ltt-instrument-functions.
(9) Make ltt-usertrace-fast support internal heartbeat timer.
(3) port LTTng to :
x86_64
#Autodesk Francois
L'Archeveque for 2.6.9 RedHat Enterprise (patch available in contrib, still
has to be ported to 2.6.14, thanks!)
# Wind River for 2.6.14
PPC
PPC64
# Wind River for 2.6.14
alpha
user-mode Linux
Xen
# IBM
MIPS
MIPS64
% Wind River for 2.6.14
# Tim Bird Tim Bird
S/390
RTLinux
% Wind River for 2.6.14
* TODO (low priority)
enhance RPM packages for lttng kernel
Integrate header generation (genevent) in kernel build system.
Find a different way to printk from instrumentation : forbidden from schedule
and wakeup (causes a deadlock). -> Modify printk so it uses LTTng tracer!
Export channels via network sockets instead of writing them to disk.
Export buffers with time constraint for "live" visualisation. Use
ltt_force_switch periodically from a timer to insure slow channels do not
interfere with viewing.
Have an optional round-robin mode to write information into multiple channels
from the same source.
* Need to be discussed
Use 2.6.14 RelayFS control files.
Drop ltt-module-register and ltt-module-unregister, use exported variables.
drop ltt_filter_control, use functions pointers instead.
Merge facilities headers into one big header.
Change the name of XML files from XML to something else.
Remove ltt-base.c.
* lttng patch division (0.5.10+) :
instrumentation.diff
instrumentation-arm.diff
instrumentation-i386.diff
instrumentation-mips.diff
instrumentation-powerpc.diff
instrumentation-ppc.diff
instrumentation-s390.diff
instrumentation-sh.diff
ltt-facilities-headers.diff
ltt-facilities-loader.diff
ltt-facilities.diff
ltt-relayfs.diff
ltt-core.diff
ltt-build.diff
Mathieu Desnoyers