update compat
[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>
12Dependencies are written between brackets [ ].<br>
13The # symbol marks who is currently working on the item.<br>
14The % symbol marks who is interested in the realisation of the item.<br>
15<br>
16<big>LTTV Roadmap<small><br>
17<br>
18* TODO<br>
19(2) Add support for "stop" button in event list. (disabling event request
20scheduler)<br>
21(2) Finish pre-computing of states to a file.<br>
22(3) Add cluster support.<br>
23 # <A HREF="mailto:Eric Clement <eric.clement@polymtl.ca>">Eric Clement</A><br>
24(3) Make LTTV aware of type formats (visual separators) defined in the XML
25file.<br>
26(3) Use a per architecture enumeration for traps.<br>
27(3) Change the byte pair "facility, event" id for a short combining the
28informatinon.<br>
29(4) Statistics per time window.<br>
30(4) Disable plugins when threshold reached (i.e. too much process in control
31flow view). Draw, and, when the threshold is reached, stop drawing. The global
32statistics view can inhibit showing the per process stats.<br>
33(4) Add a visual artifact : PID 0 could be named swapper instead of UNNAMED for
34cpus > 0.<br>
35(4) Add event specific fields support to filter.<br>
36(4) Add a periodic event interval view. (useful to verify event periodicity)<br>
37(4) create a graphical per cpu activity view.<br>
38(4) Add CPU, network, disk, memory usage histogram. [Per interval statistics]<br>
39(5) Add Python scripting hooks.<br>
40(5) Flight recorder : start lttd automatically upon GUI trace control stop.<br>
41(5) Automatically detect traces with too much processes and disable faulty operations.<br>
42(5) Event sequence detector (inspired from regular expressions).<br>
43(7) Create a hardware counter viewer (low cost rate counters : L1 cache miss,
44page faults, interrupts...). This will be a generalisation of the event rate
45view into a view of the evolution of a user definable event field.<br>
46<br>
47* TO FIX<br>
48(10) Event filter : event.time does not work.<br>
49(10) Add cancel button to LTTV filter GUI window.<br>
50(10) Sometimes, in the control flow view, a process with 0 creation time is
51created in addition to the real process itself. Seems to be caused by end of
52process life.<br>
53(10) Statistics do not take in account the time spent in the mode present at
54the beginning of the trace. Example : real time spent in system call on behalf
55of process 0.<br>
56<br>
57<br>
58<big>LTT Next Generation Roadmap<small><br>
59<br>
60* TODO<br>
61(3) Find a way to make logging know when it causes a minor page fault
62recursively (without ignoring silently all nested events).<br>
63(3) Change the byte pair "facility, event" id for a short combining the
64informatinon.<br>
65(4) Add Xen support.<br>
66 # <A HREF="mailto:Mathieu Desnoyers <compudj@krystal.dyndns.org>">Mathieu Desnoyers</A><br>
67 # <A HREF="mailto:Parisa Heidari <parisa.heidari@polymtl.ca>">Parisa Heidari</A><br>
68(4) efficient dynamic event filtering while recording trace.<br>
69 % Sensis Corp. <A HREF="mailto:Bish, Tim <Tim.Bish@Sensis.com>">Tim Bish</A><br>
70(4) instrument kernel bottom half irqsave, spinlocks, rwlocks, seqlocks, semaphores, mutexes, brlock.<br>
71(4) Try to use my own non LOCK prefixed version of atomic operations : we are
72using per-CPU variables, so it should make it possible.<br>
73(4) integrate NPTL instrumentation (see
74<A HREF="http://nptltracetool.sourceforge.net/">PTT</A>).<br>
75(5) Support CPUs with scalable frequency.<br>
76(5) Integrate LTTng and lttd with LKCD.<br>
77(7) Integrate periodical dump of perfctr hardware counters.<br>
78(8) Integrate periodical dump of SystemTAP computed information.<br>
79(8) Integrate SystemTAP logging with LTTng.<br>
80(9) Add support for setjmp/longjmp and jump tables instrumentation to
81ltt-instrument-functions.<br>
82(9) Make ltt-usertrace-fast support internal heartbeat timer.<br>
83(3) port LTTng to :<br>
84x86_64<BR>
85#Autodesk <A HREF="mailto:Francois L'Archeveque <fla@discreet.com>">Francois
86L'Archeveque</A> for 2.6.9 RedHat Enterprise (patch available in contrib, still
87has to be ported to 2.6.14, thanks!)<BR>
88# Wind River for 2.6.14<BR>
89PPC<BR>
90PPC64<BR>
91# Wind River for 2.6.14<BR>
92alpha<BR>
93user-mode Linux<BR>
94Xen<BR>
95# IBM<BR>
96MIPS<BR>
97MIPS64<BR>
98% Wind River for 2.6.14<BR>
99# Tim Bird <A HREF="mailto:tim.bird@as.sony.com">Tim Bird</A><br>
100S/390<BR>
101RTLinux<BR>
102% Wind River for 2.6.14<BR>
103<br>
104<br>
105<br>
106* TODO (low priority)<br>
107enhance RPM packages for lttng kernel<br>
108Integrate header generation (genevent) in kernel build system.<br>
109Find a different way to printk from instrumentation : forbidden from schedule
110and wakeup (causes a deadlock). -> Modify printk so it uses LTTng tracer!<br>
111Export channels via network sockets instead of writing them to disk.<br>
112Export buffers with time constraint for "live" visualisation. Use
113ltt_force_switch periodically from a timer to insure slow channels do not
114interfere with viewing.<br>
115Have an optional round-robin mode to write information into multiple channels
116from the same source.<br>
117<br>
118* Need to be discussed<br>
119Use 2.6.14 RelayFS control files.<br>
120Drop ltt-module-register and ltt-module-unregister, use exported variables.<br>
121drop ltt_filter_control, use functions pointers instead.<br>
122Merge facilities headers into one big header.<br>
123Change the name of XML files from XML to something else.<br>
124Remove ltt-base.c.<br>
125<br>
126<br>
127* lttng patch division (0.5.10+) :<br>
128<br>
129instrumentation.diff<br>
130instrumentation-arm.diff<br>
131instrumentation-i386.diff<br>
132instrumentation-mips.diff<br>
133instrumentation-powerpc.diff<br>
134instrumentation-ppc.diff<br>
135instrumentation-s390.diff<br>
136instrumentation-sh.diff<br>
137ltt-facilities-headers.diff<br>
138ltt-facilities-loader.diff<br>
139ltt-facilities.diff<br>
140ltt-relayfs.diff<br>
141ltt-core.diff<br>
142ltt-build.diff<br>
143<br>
144<br>
145Mathieu Desnoyers<br>
146
147
148</body>
149</html>
This page took 0.041527 seconds and 4 git commands to generate.