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) Finish pre-computing of states to a file.<br>
162990b3 20(3) Add cluster support.<br>
21 # <A HREF="mailto:Eric Clement <eric.clement@polymtl.ca>">Eric Clement</A><br>
ef19b009 22(3) Make LTTV aware of type formats (visual separators) defined in the XML
23file.<br>
15b0e8a4 24(3) Use a per architecture enumeration for traps.<br>
568c21ab 25(3) Change the byte pair "facility, event" id for a short combining the
26informatinon.<br>
3ccb19e4 27(4) Statistics per time window.<br>
28(4) Disable plugins when threshold reached (i.e. too much process in control
29flow view). Draw, and, when the threshold is reached, stop drawing. The global
30statistics view can inhibit showing the per process stats.<br>
568c21ab 31(4) Add a visual artifact : PID 0 could be named swapper instead of UNNAMED for
32cpus > 0.<br>
16fe6efa 33(4) Add event specific fields support to filter.<br>
6ed34001 34(4) Add a periodic event interval view. (useful to verify event periodicity)<br>
2d569f51 35(4) create a graphical per cpu activity view.<br>
e6284587 36(4) Filter by target process.<br>
cdee9265 37(4) Compensate for time spent in probes in LTTV analysis.<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>
8fc0ffcd 48(4) Fix scroll backward in detailed event list (introduced with "stop"
49functionnality.<br>
b85b85e5 50(10) Add cancel button to LTTV filter GUI window.<br>
51(10) Sometimes, in the control flow view, a process with 0 creation time is
52created in addition to the real process itself. Seems to be caused by end of
53process life.<br>
5355b763 54(10) Statistics do not take in account the time spent in the mode present at
55the beginning of the trace. Example : real time spent in system call on behalf
56of process 0.<br>
c8a111eb 57<br>
58<br>
c8a111eb 59<big>LTT Next Generation Roadmap<small><br>
0c4b3d55 60<br>
c8a111eb 61* TODO<br>
cdee9265 62(1) Announce LTTng patches on LKML.<br>
568c21ab 63(3) Find a way to make logging know when it causes a minor page fault
64recursively (without ignoring silently all nested events).<br>
b4b2bb06 65(3) Have various subbuffer sizes for high and low rate channels.<br>
568c21ab 66(3) Change the byte pair "facility, event" id for a short combining the
67informatinon.<br>
8fc0ffcd 68(3) Add sysenter instrumentation on x86. Verify x86_64.<br>
2d31dec1 69(3) #IBM Fix ppc64 syscall time accounting. Maybe caused by a missing syscall
70return instrumentation ?<br>
71(3) Process and kernel stack dump for x86_64, for native and compat.<br>
285468d4 72(4) Add Xen support.<br>
51096bff 73 # <A HREF="mailto:Mathieu Desnoyers <compudj@krystal.dyndns.org>">Mathieu Desnoyers</A><br>
285468d4 74 # <A HREF="mailto:Parisa Heidari <parisa.heidari@polymtl.ca>">Parisa Heidari</A><br>
59ce71d0 75(4) efficient dynamic event filtering while recording trace.<br>
76 % Sensis Corp. <A HREF="mailto:Bish, Tim <Tim.Bish@Sensis.com>">Tim Bish</A><br>
1e5a121c 77(4) instrument kernel bottom half irqsave, spinlocks, rwlocks, seqlocks, semaphores, mutexes, brlock.<br>
cf7147c5 78(4) In flight recorder mode, have the low traffic channels saved as normal
79tracefiles and high traffic channels being flight recorder.<br>
568c21ab 80(4) Try to use my own non LOCK prefixed version of atomic operations : we are
81using per-CPU variables, so it should make it possible.<br>
1e5a121c 82(4) integrate NPTL instrumentation (see
83<A HREF="http://nptltracetool.sourceforge.net/">PTT</A>).<br>
cdee9265 84(4) Probe calibration kernel module.<br>
85(5) Discuss with RelayFS upstream to integrate LTTng modifications.<br>
86(5) Move to DebugFS for channel files.<br>
3f43b8fb 87(5) Support CPUs with scalable frequency.<br>
2a341212 88(5) Integrate LTTng and lttd with LKCD.<br>
575b7e97 89(7) Integrate periodical dump of perfctr hardware counters.<br>
cc5ce8a0 90(8) Integrate periodical dump of SystemTAP computed information.<br>
91(8) Integrate SystemTAP logging with LTTng.<br>
9fd0275c 92(9) Add support for setjmp/longjmp and jump tables instrumentation to
451c9b19 93ltt-instrument-functions.<br>
51096bff 94(9) Make ltt-usertrace-fast support internal heartbeat timer.<br>
6b18b620 95(3) port LTTng to :<br>
e565223b 96x86_64<BR>
e4d84ff4 97#Autodesk <A HREF="mailto:Francois L'Archeveque <fla@discreet.com>">Francois
63eeefc3 98L'Archeveque</A> for 2.6.9 RedHat Enterprise (patch available in contrib, still
99has to be ported to 2.6.14, thanks!)<BR>
162990b3 100# Wind River for 2.6.14<BR>
e565223b 101PPC<BR>
102PPC64<BR>
162990b3 103# Wind River for 2.6.14<BR>
e565223b 104alpha<BR>
105user-mode Linux<BR>
106Xen<BR>
841c926b 107# IBM<BR>
e565223b 108MIPS<BR>
109MIPS64<BR>
162990b3 110% Wind River for 2.6.14<BR>
111# Tim Bird <A HREF="mailto:tim.bird@as.sony.com">Tim Bird</A><br>
e565223b 112S/390<BR>
d804e215 113RTLinux<BR>
114% Wind River for 2.6.14<BR>
0c4b3d55 115<br>
15e89ad6 116<br>
b720b182 117<br>
118* TODO (low priority)<br>
cbe85414 119enhance RPM packages for lttng kernel<br>
b720b182 120Integrate header generation (genevent) in kernel build system.<br>
63eeefc3 121Export channels via network sockets instead of writing them to disk.<br>
122Export buffers with time constraint for "live" visualisation. Use
6b18b620 123ltt_force_switch periodically from a timer to insure slow channels do not
63eeefc3 124interfere with viewing.<br>
44397e24 125Have an optional round-robin mode to write information into multiple channels
126from the same source.<br>
b720b182 127<br>
15e89ad6 128* Need to be discussed<br>
af3cfedc 129Use 2.6.14 RelayFS control files.<br>
b720b182 130Drop ltt-module-register and ltt-module-unregister, use exported variables.<br>
b720b182 131drop ltt_filter_control, use functions pointers instead.<br>
b720b182 132Merge facilities headers into one big header.<br>
133Change the name of XML files from XML to something else.<br>
134Remove ltt-base.c.<br>
135<br>
b720b182 136<br>
2966f052 137* lttng patch division (0.5.10+) :<br>
138<br>
451c9b19 139instrumentation.diff<br>
140instrumentation-arm.diff<br>
141instrumentation-i386.diff<br>
142instrumentation-mips.diff<br>
143instrumentation-powerpc.diff<br>
144instrumentation-ppc.diff<br>
145instrumentation-s390.diff<br>
146instrumentation-sh.diff<br>
b720b182 147ltt-facilities-headers.diff<br>
148ltt-facilities-loader.diff<br>
149ltt-facilities.diff<br>
b720b182 150ltt-relayfs.diff<br>
b720b182 151ltt-core.diff<br>
2966f052 152ltt-build.diff<br>
b720b182 153<br>
154<br>
155Mathieu Desnoyers<br>
1f2c88b1 156
157
158</body>
159</html>
This page took 0.050914 seconds and 4 git commands to generate.