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 (1) Put back coherent facility checksumming.<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 # <A HREF="mailto:Gabriel Matni <gabrien.matni@polymtl.ca>">Gabriel Matni</A><br>
25 (3) Use a per architecture enumeration for traps.<br>
26 (3) Change the byte pair "facility, event" id for a short combining the
27 informatinon.<br>
28 (4) Statistics per time window.<br>
29 (4) Add Xen per physical CPU view.<br>
30 (4) Add Xen per vcpu view.<br>
31 (4) Disable plugins when threshold reached (i.e. too much process in control
32 flow view). Draw, and, when the threshold is reached, stop drawing. The global
33 statistics view can inhibit showing the per process stats.<br>
34 (4) Add a visual artifact : PID 0 could be named swapper instead of UNNAMED for
35 cpus > 0.<br>
36 (4) Add event specific fields support to filter.<br>
37 (4) Add a periodic event interval view. (useful to verify event periodicity)<br>
38 (4) create a graphical per cpu activity view.<br>
39 (4) Filter by target process.<br>
40 (4) Compensate for time spent in probes in LTTV analysis.<br>
41 (4) Add CPU, network, disk, memory usage histogram. [Per interval statistics]<br>
42 (5) Add Python scripting hooks.<br>
43 (5) Add GUI interface to take an hybrid trace.<br>
44 (5) Flight recorder : start lttd automatically upon GUI trace control stop.<br>
45 (5) Automatically detect traces with too much processes and disable faulty operations.<br>
46 (5) Event sequence detector (inspired from regular expressions).<br>
47 (7) Create a hardware counter viewer (low cost rate counters : L1 cache miss,
48 page faults, interrupts...). This will be a generalisation of the event rate
49 view into a view of the evolution of a user definable event field.<br>
50 <br>
51 * TO FIX<br>
52 (10) Add cancel button to LTTV filter GUI window.<br>
53 (10) Sometimes, in the control flow view, a process with 0 creation time is
54 created in addition to the real process itself. Seems to be caused by end of
55 process life.<br>
56 (10) Statistics do not take in account the time spent in the mode present at
57 the beginning of the trace. Example : real time spent in system call on behalf
58 of process 0.<br>
59 <br>
60 <br>
61 <big>LTT Next Generation Roadmap<small><br>
62 <br>
63 * TODO<br>
64 (1) put probes in a hash table so we can connect the markers to them upon module
65 load.<br>
66 (1) efficient dynamic event filtering while recording trace.<br>
67 % Google<br>
68 % Sensis Corp. <A HREF="mailto:Bish, Tim <Tim.Bish@Sensis.com>">Tim Bish</A><br>
69 # <A HREF="mailto:Mathieu Desnoyers <compudj@krystal.dyndns.org>">Mathieu Desnoyers</A><br>
70 (1) Support for compact event trace channel.<br>
71 % Google<br>
72 # <A HREF="mailto:Mathieu Desnoyers <compudj@krystal.dyndns.org>">Mathieu Desnoyers</A><br>
73 (1) CPU Hotplug support. (Only ltt-heartbeat needs to be fixed).<br>
74 # <A HREF="mailto:Mathieu Desnoyers <compudj@krystal.dyndns.org>">Mathieu Desnoyers</A><br>
75 (1) Add Xen support. (Trace buffer desallocation needs to be fixed)<br>
76 # <A HREF="mailto:Mathieu Desnoyers <compudj@krystal.dyndns.org>">Mathieu Desnoyers</A><br>
77 (1) Integrate SystemTAP logging with LTTng.<br>
78 (3) Change the byte pair "facility, event" id for a short combining the
79 informatinon.<br>
80 (4) instrument kernel bottom half irqsave, spinlocks, rwlocks, seqlocks, semaphores, mutexes, brlock.<br>
81 (4) integrate NPTL instrumentation (see
82 <A HREF="http://nptltracetool.sourceforge.net/">PTT</A>).<br>
83 (4) Probe calibration kernel module.<br>
84 (4) Make page faults detect nested fault without nesting 4 times in the page
85 fault handler.<br>
86 (5) Support CPUs with scalable frequency.<br>
87 (5) Add boot time tracing support.<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 (9) Rethink facility logging code (genevent output). Maybe unneeded because of
92 markers/probes mechanism.<br>
93 (9) Add support for setjmp/longjmp and jump tables instrumentation to
94 ltt-instrument-functions.<br>
95 (9) Make ltt-usertrace-fast support internal heartbeat timer.<br>
96 (3) port LTTng to :<br>
97 alpha<BR>
98 user-mode Linux<BR>
99 Xen<BR>
100 # IBM<BR>
101 S/390<BR>
102 RTLinux<BR>
103 % Wind River for 2.6.14<BR>
104 sparc64<BR>
105 # Wind River<BR>
106 sh4<br>
107 <br>
108 <br>
109 <br>
110 * TODO (low priority)<br>
111 enhance RPM packages for lttng kernel<br>
112 Integrate header generation (genevent) in kernel build system.<br>
113 Export channels via network sockets instead of writing them to disk.<br>
114 Export buffers with time constraint for "live" visualisation. Use
115 ltt_force_switch periodically from a timer to insure slow channels do not
116 interfere with viewing.<br>
117 Have an optional round-robin mode to write information into multiple channels
118 from the same source.<br>
119 <br>
120 * Need to be discussed<br>
121 Use 2.6.14 RelayFS control files.<br>
122 Drop ltt-module-register and ltt-module-unregister, use exported variables.<br>
123 drop ltt_filter_control, use functions pointers instead.<br>
124 Merge facilities headers into one big header.<br>
125 Change the name of XML files from XML to something else.<br>
126 Remove ltt-base.c.<br>
127 <br>
128 Mathieu Desnoyers<br>
129
130
131 </body>
132 </html>
This page took 0.03162 seconds and 4 git commands to generate.