update roadmap
[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 (3) Add cluster support.<br>
20 # <A HREF="mailto:Eric Clement <eric.clement@polymtl.ca>">Eric Clement</A><br>
21 (3) Make LTTV aware of type formats (visual separators) defined in the XML
22 file.<br>
23 (3) Use a per architecture enumeration for traps.<br>
24 (3) Change the byte pair "facility, event" id for a short combining the
25 informatinon.<br>
26 (4) Statistics per time window.<br>
27 (4) Disable plugins when threshold reached (i.e. too much process in control
28 flow view). Draw, and, when the threshold is reached, stop drawing. The global
29 statistics view can inhibit showing the per process stats.<br>
30 (4) Add a visual artifact : PID 0 could be named swapper instead of UNNAMED for
31 cpus > 0.<br>
32 (4) Add event specific fields support to filter.<br>
33 (4) Add a periodic event interval view. (useful to verify event periodicity)<br>
34 (4) create a graphical per cpu activity view.<br>
35 (4) Filter by target process.<br>
36 (4) Compensate for time spent in probes in LTTV analysis.<br>
37 (4) Add CPU, network, disk, memory usage histogram. [Per interval statistics]<br>
38 (5) Add Python scripting hooks.<br>
39 (5) Add GUI interface to take an hybrid trace.<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 (10) Add cancel button to LTTV filter GUI window.<br>
49 (10) Sometimes, in the control flow view, a process with 0 creation time is
50 created in addition to the real process itself. Seems to be caused by end of
51 process life.<br>
52 (10) Statistics do not take in account the time spent in the mode present at
53 the beginning of the trace. Example : real time spent in system call on behalf
54 of process 0.<br>
55 <br>
56 <br>
57 <big>LTT Next Generation Roadmap<small><br>
58 <br>
59 * TODO<br>
60 (2) Post a "lite" LTTng version to LKML (core only).<br>
61 (2) Post an updated LTTng version to LKML (2.6.18-rcX).<br>
62 (3) Change the byte pair "facility, event" id for a short combining the
63 informatinon.<br>
64 (4) Add Xen support.<br>
65 # <A HREF="mailto:Mathieu Desnoyers <compudj@krystal.dyndns.org>">Mathieu Desnoyers</A><br>
66 # <A HREF="mailto:Parisa Heidari <parisa.heidari@polymtl.ca>">Parisa Heidari</A><br>
67 (4) efficient dynamic event filtering while recording trace.<br>
68 % Sensis Corp. <A HREF="mailto:Bish, Tim <Tim.Bish@Sensis.com>">Tim Bish</A><br>
69 (4) instrument kernel bottom half irqsave, spinlocks, rwlocks, seqlocks, semaphores, mutexes, brlock.<br>
70 (4) Try to use my own non LOCK prefixed version of atomic operations : we are
71 using per-CPU variables, so it should make it possible.<br>
72 (4) integrate NPTL instrumentation (see
73 <A HREF="http://nptltracetool.sourceforge.net/">PTT</A>).<br>
74 (4) Probe calibration kernel module.<br>
75 (4) Make page faults detect nested fault without nesting 4 times in the page
76 fault handler.<br>
77 (5) Discuss with RelayFS upstream to integrate LTTng modifications.<br>
78 (5) Move to DebugFS for channel files.<br>
79 (5) Support CPUs with scalable frequency.<br>
80 (5) Integrate LTTng and lttd with LKCD.<br>
81 (7) Integrate periodical dump of perfctr hardware counters.<br>
82 (8) Integrate periodical dump of SystemTAP computed information.<br>
83 (8) Integrate SystemTAP logging with LTTng.<br>
84 (9) Add support for setjmp/longjmp and jump tables instrumentation to
85 ltt-instrument-functions.<br>
86 (9) Make ltt-usertrace-fast support internal heartbeat timer.<br>
87 (3) port LTTng to :<br>
88 alpha<BR>
89 user-mode Linux<BR>
90 Xen<BR>
91 # IBM<BR>
92 S/390<BR>
93 RTLinux<BR>
94 % Wind River for 2.6.14<BR>
95 <br>
96 <br>
97 <br>
98 * TODO (low priority)<br>
99 enhance RPM packages for lttng kernel<br>
100 Integrate header generation (genevent) in kernel build system.<br>
101 Export channels via network sockets instead of writing them to disk.<br>
102 Export buffers with time constraint for "live" visualisation. Use
103 ltt_force_switch periodically from a timer to insure slow channels do not
104 interfere with viewing.<br>
105 Have an optional round-robin mode to write information into multiple channels
106 from the same source.<br>
107 <br>
108 * Need to be discussed<br>
109 Use 2.6.14 RelayFS control files.<br>
110 Drop ltt-module-register and ltt-module-unregister, use exported variables.<br>
111 drop ltt_filter_control, use functions pointers instead.<br>
112 Merge facilities headers into one big header.<br>
113 Change the name of XML files from XML to something else.<br>
114 Remove ltt-base.c.<br>
115 <br>
116 <br>
117 * lttng patch division (0.5.10+) :<br>
118 <br>
119 instrumentation.diff<br>
120 instrumentation-arm.diff<br>
121 instrumentation-i386.diff<br>
122 instrumentation-mips.diff<br>
123 instrumentation-powerpc.diff<br>
124 instrumentation-ppc.diff<br>
125 instrumentation-s390.diff<br>
126 instrumentation-sh.diff<br>
127 ltt-facilities-headers.diff<br>
128 ltt-facilities-loader.diff<br>
129 ltt-facilities.diff<br>
130 ltt-relayfs.diff<br>
131 ltt-core.diff<br>
132 ltt-build.diff<br>
133 <br>
134 <br>
135 Mathieu Desnoyers<br>
136
137
138 </body>
139 </html>
This page took 0.031607 seconds and 4 git commands to generate.