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