features
[lttv.git] / ltt / branches / poly / doc / developer / lttng-lttv-roadmap.html
... / ...
CommitLineData
1<html>
2<body>
3<center><big><big>LTTV & LTTng roadmap<small><small></center>
4<br>
5<br>
6Here are the roadmaps for the LTTV and LTTng development. I use a priority indice
7for the TODO items :<br>
8(1) : very high priority<br>
9(10): lowest priority<br>
10<br>
11<br>
12<big>LTTV Roadmap<small><br>
13<br>
14* TODO<br>
15(4) create a event rate graphical view : Will be useful in conjonction with the
16 filter.<br>
17(6) migrate align to lttv parser.<br>
18(7) create an analysis of function time (like a precise gprof)<br>
19 -> with gcc -f inline-functions<br>
20(10) Add cancel button to LTTV filter GUI window.
21<br>
22<br>
23* Done<br>
24Buffer aligned on page boundary -> use valloc.<br>
25per struct (struct align=x) support added to genevent (partial).<br>
26Add offset align generation for structs to genevent.<br>
27make lttv aware of the per facility long, void* and size_t types.<br>
28Read current trace header and buffer header.<br>
29redo lib tracefile : too much problems in there.<br>
30modify the rest of LTTV to match the API changes.<br>
31debian package<br>
32RPM package<br>
33<br>
34<big>LTT Next Generation Roadmap<small><br>
35<br>
36* TODO<br>
37(1) make LTT tracing code completely atomic (thus remove locks)<br>
38(1) port LTTng to 2.6.14 kernel.<br>
39(2) add efficient and secure user space tracing. (1 month)<br>
40(3) integrate LTTng State Dump : missing irq and process state.<br>
41(9) add genevent full functionnality : alignment, array, sequences, nested
42structures.<br>
43(7) add gcc -finstrument-functions instrumentation<br>
44<br>
45<br>
46* Done<br>
47remove ltt-headers.h<br>
48remove ltt-log.h<br>
49Put trace->active later in _ltt_trace_start()<br>
50ltt_trace_create() remove sleep in spinlock use GFP_ATOMIC kmalloc<br>
51Fix the locking of module hooks.<br>
52Fix the traps -> disable nested logging for now.<br>
53Use per cpu spinlock on trace list.<br>
54Finish the control module, libltt and lttctl : netlink interface<br>
55Finish integrating lttctl with lttd.<br>
56fix lttctl signal waiting : use a flag.<br>
57Add ltt_write_commit_counter call to genevent.<br>
58Add information in the buffer header : buffer size, etc etc...<br>
59 -> this information is so small that we can repeat it. Makes flight recorder
60 easier to decode.<br>
61Add trace start structure to buffer start header.<br>
62fix genevent : take no lock if num traces active is 0.<br>
63Add type information per facility : it will help having a standard way
64to understand information coming from both kernel space and user space, and deal
65easily with 64 bits kernel with 64 and 32 bits processes (and with size_t know
66at compile time which can differ inside the same process from one library to
67another).<br>
68fix structures alignment, array and sequences too. -> trace dynamic.<br>
69add per facility alignment (inside structures).<br>
70add control of alignment.<br>
71add control for subbuffer size and number of subbuffers.<br>
72Add reserve - get TSC - alignment atomicity through the use of cmpxchg.<br>
73Add configurable alignment (LTT_ALIGNMENT).<br>
74Get ultra-precise logging with use of TSC (only) : only one do_gettimeofday
75read, and then we don't want the time flow to be altered by ntp.<br>
76Debian kernel package<br>
77<br>
78<br>
79<br>
80* TODO (low priority)<br>
81enhance RPM packages for lttng kernel<br>
82Integrate header generation (genevent) in kernel build system.<br>
83Multithreaded lttd.<br>
84Find a different way to printk from instrumentation : forbidden from schedule
85and wakeup (causes a deadlock).<br>
86<br>
87* Need to be discussed<br>
88Drop ltt-module-register and ltt-module-unregister, use exported variables.<br>
89RelayFS ioctl interface vs control through LTT netlink interface.<br>
90drop ltt_filter_control, use functions pointers instead.<br>
91Merge facilities headers into one big header.<br>
92Change the name of XML files from XML to something else.<br>
93Remove ltt-base.c.<br>
94<br>
95* Not planned for integration<br>
96Remove the callback struct from the trace struct.<br>
97<br>
98<br>
99<br>
100* lttng patch division (0.4.2+) :<br>
101<br>
102ltt-instrumentation.diff<br>
103ltt-facilities-headers.diff<br>
104ltt-facilities-loader.diff<br>
105ltt-facilities.diff<br>
106ltt-relayfs.diff<br>
107ltt-core.diff<br>
108<br>
109<br>
110Mathieu Desnoyers<br>
111
112
113</body>
114</html>
This page took 0.02309 seconds and 4 git commands to generate.