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) Use a per architecture enumeration for traps.
(3) Integrate Kernel State Dump information.
(4) create a event rate graphical view : Will be useful in conjunction with the filter.
# Parisa Heidari
(4) create a graphical per cpu activity view.
(7) create an analysis of function time (like a precise gprof)
-> with gcc -f inline-functions
(7) Create a hardware counter viewer (low cost rate counters : L1 cache miss, page faults, interrupts...).
(10) Add cancel button to LTTV filter GUI window.

LTT Next Generation Roadmap

* TODO
(1) Use 2.6.14 RelayFS control files.
(2) add efficient and secure user space tracing. (1 month)
(3) integrate LTTng State Dump : missing irq and process state.
# Jean-Hugues Deschenes
(4) efficient dynamic event filtering while recording trace.
% Sensis Corp. Tim Bish
(4) Create the heartbeat timer LTTng module. Make sure that heartbeat events never hit the facility channel. Use the complete 64 bits TSC for the facility channel in every case. That's because this channel must never be overwritten even in "flight recorder" mode.
(5) Integrate LTTng and lttd with LKCD.
(7) add gcc -finstrument-functions instrumentation
(7) Integrate periodical dump of perfctr hardware counters.
(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
MIPS
MIPS64
%Wind River for 2.6.14
ARM
S/390



* TODO (low priority)
enhance RPM packages for lttng kernel
Integrate header generation (genevent) in kernel build system.
Multithreaded lttd.
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.

* Need to be discussed
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.4.2+) :

ltt-instrumentation.diff
ltt-facilities-headers.diff
ltt-facilities-loader.diff
ltt-facilities.diff
ltt-relayfs.diff
ltt-core.diff


Mathieu Desnoyers