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