1f2c88b1 |
1 | <html> |
2 | <body> |
e3a30a9e |
3 | <center><big><big>LTTV & LTTng roadmap<small><small></center> |
674fa3b3 |
4 | <br> |
5 | <br> |
5e11a375 |
6 | Here are the roadmaps for the LTTV and LTTng development. I use a priority indice |
fc5993d2 |
7 | for the TODO items :<br> |
90d65afc |
8 | (1) : very high priority<br> |
9 | (10): lowest priority<br> |
fc5993d2 |
10 | <br> |
11 | <br> |
6b18b620 |
12 | Dependencies are written between brackets [ ].<br> |
59656e3f |
13 | The # symbol marks who is currently working on the item.<br> |
e565223b |
14 | The % symbol marks who is interested in the realisation of the item.<br> |
59656e3f |
15 | <br> |
b894bf02 |
16 | <br> |
17 | <big>LTT Next Generation Roadmap<small><br> |
18 | <br> |
19 | * TODO<br> |
20 | (1) Get lttng ascii dump to work.<br> |
0b39e631 |
21 | # <A HREF="mailto:Lai Jiangshan <laijs@cn.fujitsu.com>">Lai Jiangshan</A><br> |
b894bf02 |
22 | - Create periodical buffer flush per-cpu timer for data streaming.<br> |
23 | # <A HREF="mailto:Mathieu Desnoyers <compudj@krystal.dyndns.org>">Mathieu Desnoyers</A><br> |
24 | - Modify LTTng/lttd/lttv to support variable-sized buffers.<br> |
25 | # <A HREF="mailto:Mathieu Desnoyers <compudj@krystal.dyndns.org>">Mathieu Desnoyers</A><br> |
26 | (1) Support CPUs with scalable frequency.<br> |
7af3a264 |
27 | (1) Post core set of patches to LKML for mainlining.<br> |
b894bf02 |
28 | (2) Create 3rd generation of userspace tracing.<br> |
29 | (3) Bring stack dump in sync with new lttng.<br> |
30 | (4) Dump mounts. (to fix)<br> |
31 | (4) Add Xen support. (Trace buffer desallocation needs to be fixed)<br> |
32 | (4) integrate NPTL instrumentation (see |
33 | <A HREF="http://nptltracetool.sourceforge.net/">PTT</A>).<br> |
34 | (4) Probe calibration kernel module.<br> |
35 | (4) Make page faults detect nested fault without nesting 4 times in the page |
36 | fault handler. (or use vmalloc_sync_all at each tracing module load)<br> |
37 | (5) Add boot time tracing support.<br> |
38 | (5) Integrate LTTng and lttd with LKCD.<br> |
39 | # <A HREF="mailto:Lai Jiangshan <laijs@cn.fujitsu.com>>">Lai Jiangshan</A><br> |
40 | (7) Integrate periodical dump of perfctr hardware counters.<br> |
41 | (8) Integrate SystemTAP logging with LTTng.<br> |
42 | (8) Integrate periodical dump of SystemTAP computed information.<br> |
43 | (9) Add support for setjmp/longjmp and jump tables instrumentation to |
44 | ltt-instrument-functions.<br> |
45 | (3) port LTTng to :<br> |
46 | ARM OMAP3<BR> |
47 | % Nokia<BR> |
48 | <br> |
49 | <br> |
c8a111eb |
50 | <big>LTTV Roadmap<small><br> |
51 | <br> |
52 | * TODO<br> |
162990b3 |
53 | (3) Add cluster support.<br> |
3ccb19e4 |
54 | (4) Statistics per time window.<br> |
ea53f068 |
55 | (4) Add Xen per physical CPU view.<br> |
56 | (4) Add Xen per vcpu view.<br> |
3ccb19e4 |
57 | (4) Disable plugins when threshold reached (i.e. too much process in control |
58 | flow view). Draw, and, when the threshold is reached, stop drawing. The global |
59 | statistics view can inhibit showing the per process stats.<br> |
568c21ab |
60 | (4) Add a visual artifact : PID 0 could be named swapper instead of UNNAMED for |
61 | cpus > 0.<br> |
16fe6efa |
62 | (4) Add event specific fields support to filter.<br> |
6ed34001 |
63 | (4) Add a periodic event interval view. (useful to verify event periodicity)<br> |
2d569f51 |
64 | (4) create a graphical per cpu activity view.<br> |
e6284587 |
65 | (4) Filter by target process.<br> |
cdee9265 |
66 | (4) Compensate for time spent in probes in LTTV analysis.<br> |
568c21ab |
67 | (4) Add CPU, network, disk, memory usage histogram. [Per interval statistics]<br> |
42c475ad |
68 | (4) Add sort by process priority in the control flow view (must also instrument |
69 | priority information of the processes).<br> |
70 | % Airbus<br> |
b35779fc |
71 | (5) Add Python scripting hooks.<br> |
80f91a14 |
72 | (5) Add GUI interface to take an hybrid trace.<br> |
caf22319 |
73 | (5) Automatically detect traces with too much processes and disable faulty operations.<br> |
b0a1cd56 |
74 | (5) Event sequence detector (inspired from regular expressions).<br> |
c5cab5d9 |
75 | (7) Create a hardware counter viewer (low cost rate counters : L1 cache miss, |
76 | page faults, interrupts...). This will be a generalisation of the event rate |
77 | view into a view of the evolution of a user definable event field.<br> |
b85b85e5 |
78 | <br> |
162990b3 |
79 | * TO FIX<br> |
b85b85e5 |
80 | (10) Add cancel button to LTTV filter GUI window.<br> |
81 | (10) Sometimes, in the control flow view, a process with 0 creation time is |
82 | created in addition to the real process itself. Seems to be caused by end of |
83 | process life.<br> |
5355b763 |
84 | (10) Statistics do not take in account the time spent in the mode present at |
85 | the beginning of the trace. Example : real time spent in system call on behalf |
86 | of process 0.<br> |
c8a111eb |
87 | <br> |
88 | <br> |
b720b182 |
89 | <br> |
90 | * TODO (low priority)<br> |
cbe85414 |
91 | enhance RPM packages for lttng kernel<br> |
63eeefc3 |
92 | Export buffers with time constraint for "live" visualisation. Use |
6b18b620 |
93 | ltt_force_switch periodically from a timer to insure slow channels do not |
63eeefc3 |
94 | interfere with viewing.<br> |
44397e24 |
95 | Have an optional round-robin mode to write information into multiple channels |
96 | from the same source.<br> |
b720b182 |
97 | <br> |
15e89ad6 |
98 | * Need to be discussed<br> |
b720b182 |
99 | Drop ltt-module-register and ltt-module-unregister, use exported variables.<br> |
b720b182 |
100 | drop ltt_filter_control, use functions pointers instead.<br> |
b720b182 |
101 | Remove ltt-base.c.<br> |
102 | <br> |
b720b182 |
103 | Mathieu Desnoyers<br> |
1f2c88b1 |
104 | |
105 | |
106 | </body> |
107 | </html> |