update roadmap
[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>
6b18b620 12Dependencies are written between brackets [ ].<br>
59656e3f 13The # symbol marks who is currently working on the item.<br>
e565223b 14The % symbol marks who is interested in the realisation of the item.<br>
59656e3f 15<br>
c8a111eb 16<big>LTTV Roadmap<small><br>
17<br>
18* TODO<br>
9f95f0a6 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>
162990b3 22(3) Add cluster support.<br>
23 # <A HREF="mailto:Eric Clement <eric.clement@polymtl.ca>">Eric Clement</A><br>
ef19b009 24(3) Make LTTV aware of type formats (visual separators) defined in the XML
25file.<br>
15b0e8a4 26(3) Use a per architecture enumeration for traps.<br>
568c21ab 27(3) Change the byte pair "facility, event" id for a short combining the
28informatinon.<br>
3ccb19e4 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>
568c21ab 33(4) Add a visual artifact : PID 0 could be named swapper instead of UNNAMED for
34cpus > 0.<br>
16fe6efa 35(4) Add event specific fields support to filter.<br>
6ed34001 36(4) Add a periodic event interval view. (useful to verify event periodicity)<br>
2d569f51 37(4) create a graphical per cpu activity view.<br>
568c21ab 38(4) Add CPU, network, disk, memory usage histogram. [Per interval statistics]<br>
b35779fc 39(5) Add Python scripting hooks.<br>
b0a1cd56 40(5) Flight recorder : start lttd automatically upon GUI trace control stop.<br>
caf22319 41(5) Automatically detect traces with too much processes and disable faulty operations.<br>
b0a1cd56 42(5) Event sequence detector (inspired from regular expressions).<br>
c5cab5d9 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>
b85b85e5 46<br>
162990b3 47* TO FIX<br>
b85b85e5 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>
5355b763 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>
c8a111eb 56<br>
57<br>
c8a111eb 58<big>LTT Next Generation Roadmap<small><br>
0c4b3d55 59<br>
c8a111eb 60* TODO<br>
568c21ab 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>
285468d4 65(4) Add Xen support.<br>
51096bff 66 # <A HREF="mailto:Mathieu Desnoyers <compudj@krystal.dyndns.org>">Mathieu Desnoyers</A><br>
285468d4 67 # <A HREF="mailto:Parisa Heidari <parisa.heidari@polymtl.ca>">Parisa Heidari</A><br>
59ce71d0 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>
1e5a121c 70(4) instrument kernel bottom half irqsave, spinlocks, rwlocks, seqlocks, semaphores, mutexes, brlock.<br>
568c21ab 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>
1e5a121c 73(4) integrate NPTL instrumentation (see
74<A HREF="http://nptltracetool.sourceforge.net/">PTT</A>).<br>
3f43b8fb 75(5) Support CPUs with scalable frequency.<br>
2a341212 76(5) Integrate LTTng and lttd with LKCD.<br>
575b7e97 77(7) Integrate periodical dump of perfctr hardware counters.<br>
cc5ce8a0 78(8) Integrate periodical dump of SystemTAP computed information.<br>
79(8) Integrate SystemTAP logging with LTTng.<br>
9fd0275c 80(9) Add support for setjmp/longjmp and jump tables instrumentation to
451c9b19 81ltt-instrument-functions.<br>
51096bff 82(9) Make ltt-usertrace-fast support internal heartbeat timer.<br>
6b18b620 83(3) port LTTng to :<br>
e565223b 84x86_64<BR>
e4d84ff4 85#Autodesk <A HREF="mailto:Francois L'Archeveque <fla@discreet.com>">Francois
63eeefc3 86L'Archeveque</A> for 2.6.9 RedHat Enterprise (patch available in contrib, still
87has to be ported to 2.6.14, thanks!)<BR>
162990b3 88# Wind River for 2.6.14<BR>
e565223b 89PPC<BR>
90PPC64<BR>
162990b3 91# Wind River for 2.6.14<BR>
e565223b 92alpha<BR>
93user-mode Linux<BR>
94Xen<BR>
841c926b 95# IBM<BR>
e565223b 96MIPS<BR>
97MIPS64<BR>
162990b3 98% Wind River for 2.6.14<BR>
99# Tim Bird <A HREF="mailto:tim.bird@as.sony.com">Tim Bird</A><br>
e565223b 100S/390<BR>
d804e215 101RTLinux<BR>
102% Wind River for 2.6.14<BR>
0c4b3d55 103<br>
15e89ad6 104<br>
b720b182 105<br>
106* TODO (low priority)<br>
cbe85414 107enhance RPM packages for lttng kernel<br>
b720b182 108Integrate header generation (genevent) in kernel build system.<br>
baffa645 109Find a different way to printk from instrumentation : forbidden from schedule
63eeefc3 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
6b18b620 113ltt_force_switch periodically from a timer to insure slow channels do not
63eeefc3 114interfere with viewing.<br>
44397e24 115Have an optional round-robin mode to write information into multiple channels
116from the same source.<br>
b720b182 117<br>
15e89ad6 118* Need to be discussed<br>
af3cfedc 119Use 2.6.14 RelayFS control files.<br>
b720b182 120Drop ltt-module-register and ltt-module-unregister, use exported variables.<br>
b720b182 121drop ltt_filter_control, use functions pointers instead.<br>
b720b182 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>
b720b182 126<br>
2966f052 127* lttng patch division (0.5.10+) :<br>
128<br>
451c9b19 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>
b720b182 137ltt-facilities-headers.diff<br>
138ltt-facilities-loader.diff<br>
139ltt-facilities.diff<br>
b720b182 140ltt-relayfs.diff<br>
b720b182 141ltt-core.diff<br>
2966f052 142ltt-build.diff<br>
b720b182 143<br>
144<br>
145Mathieu Desnoyers<br>
1f2c88b1 146
147
148</body>
149</html>
This page took 0.042869 seconds and 4 git commands to generate.