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> |
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 |
23 | file.<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 |
26 | informatinon.<br> |
3ccb19e4 |
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> |
568c21ab |
31 | (4) Add a visual artifact : PID 0 could be named swapper instead of UNNAMED for |
32 | cpus > 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, |
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> |
b85b85e5 |
46 | <br> |
162990b3 |
47 | * TO FIX<br> |
b85b85e5 |
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> |
5355b763 |
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> |
c8a111eb |
55 | <br> |
56 | <br> |
c8a111eb |
57 | <big>LTT Next Generation Roadmap<small><br> |
0c4b3d55 |
58 | <br> |
c8a111eb |
59 | * TODO<br> |
568c21ab |
60 | (3) Find a way to make logging know when it causes a minor page fault |
61 | recursively (without ignoring silently all nested events).<br> |
b4b2bb06 |
62 | (3) Have various subbuffer sizes for high and low rate channels.<br> |
568c21ab |
63 | (3) Change the byte pair "facility, event" id for a short combining the |
64 | informatinon.<br> |
8fc0ffcd |
65 | (3) Add sysenter instrumentation on x86. Verify x86_64.<br> |
2d31dec1 |
66 | (3) #IBM Fix ppc64 syscall time accounting. Maybe caused by a missing syscall |
67 | return instrumentation ?<br> |
68 | (3) Process and kernel stack dump for x86_64, for native and compat.<br> |
285468d4 |
69 | (4) Add Xen support.<br> |
51096bff |
70 | # <A HREF="mailto:Mathieu Desnoyers <compudj@krystal.dyndns.org>">Mathieu Desnoyers</A><br> |
285468d4 |
71 | # <A HREF="mailto:Parisa Heidari <parisa.heidari@polymtl.ca>">Parisa Heidari</A><br> |
59ce71d0 |
72 | (4) efficient dynamic event filtering while recording trace.<br> |
73 | % Sensis Corp. <A HREF="mailto:Bish, Tim <Tim.Bish@Sensis.com>">Tim Bish</A><br> |
1e5a121c |
74 | (4) instrument kernel bottom half irqsave, spinlocks, rwlocks, seqlocks, semaphores, mutexes, brlock.<br> |
cf7147c5 |
75 | (4) In flight recorder mode, have the low traffic channels saved as normal |
76 | tracefiles and high traffic channels being flight recorder.<br> |
568c21ab |
77 | (4) Try to use my own non LOCK prefixed version of atomic operations : we are |
78 | using per-CPU variables, so it should make it possible.<br> |
1e5a121c |
79 | (4) integrate NPTL instrumentation (see |
80 | <A HREF="http://nptltracetool.sourceforge.net/">PTT</A>).<br> |
cdee9265 |
81 | (4) Probe calibration kernel module.<br> |
82 | (5) Discuss with RelayFS upstream to integrate LTTng modifications.<br> |
83 | (5) Move to DebugFS for channel files.<br> |
3f43b8fb |
84 | (5) Support CPUs with scalable frequency.<br> |
2a341212 |
85 | (5) Integrate LTTng and lttd with LKCD.<br> |
575b7e97 |
86 | (7) Integrate periodical dump of perfctr hardware counters.<br> |
cc5ce8a0 |
87 | (8) Integrate periodical dump of SystemTAP computed information.<br> |
88 | (8) Integrate SystemTAP logging with LTTng.<br> |
9fd0275c |
89 | (9) Add support for setjmp/longjmp and jump tables instrumentation to |
451c9b19 |
90 | ltt-instrument-functions.<br> |
51096bff |
91 | (9) Make ltt-usertrace-fast support internal heartbeat timer.<br> |
6b18b620 |
92 | (3) port LTTng to :<br> |
e565223b |
93 | alpha<BR> |
94 | user-mode Linux<BR> |
95 | Xen<BR> |
841c926b |
96 | # IBM<BR> |
e565223b |
97 | S/390<BR> |
d804e215 |
98 | RTLinux<BR> |
99 | % Wind River for 2.6.14<BR> |
0c4b3d55 |
100 | <br> |
15e89ad6 |
101 | <br> |
b720b182 |
102 | <br> |
103 | * TODO (low priority)<br> |
cbe85414 |
104 | enhance RPM packages for lttng kernel<br> |
b720b182 |
105 | Integrate header generation (genevent) in kernel build system.<br> |
63eeefc3 |
106 | Export channels via network sockets instead of writing them to disk.<br> |
107 | Export buffers with time constraint for "live" visualisation. Use |
6b18b620 |
108 | ltt_force_switch periodically from a timer to insure slow channels do not |
63eeefc3 |
109 | interfere with viewing.<br> |
44397e24 |
110 | Have an optional round-robin mode to write information into multiple channels |
111 | from the same source.<br> |
b720b182 |
112 | <br> |
15e89ad6 |
113 | * Need to be discussed<br> |
af3cfedc |
114 | Use 2.6.14 RelayFS control files.<br> |
b720b182 |
115 | Drop ltt-module-register and ltt-module-unregister, use exported variables.<br> |
b720b182 |
116 | drop ltt_filter_control, use functions pointers instead.<br> |
b720b182 |
117 | Merge facilities headers into one big header.<br> |
118 | Change the name of XML files from XML to something else.<br> |
119 | Remove ltt-base.c.<br> |
120 | <br> |
b720b182 |
121 | <br> |
2966f052 |
122 | * lttng patch division (0.5.10+) :<br> |
123 | <br> |
451c9b19 |
124 | instrumentation.diff<br> |
125 | instrumentation-arm.diff<br> |
126 | instrumentation-i386.diff<br> |
127 | instrumentation-mips.diff<br> |
128 | instrumentation-powerpc.diff<br> |
129 | instrumentation-ppc.diff<br> |
130 | instrumentation-s390.diff<br> |
131 | instrumentation-sh.diff<br> |
b720b182 |
132 | ltt-facilities-headers.diff<br> |
133 | ltt-facilities-loader.diff<br> |
134 | ltt-facilities.diff<br> |
b720b182 |
135 | ltt-relayfs.diff<br> |
b720b182 |
136 | ltt-core.diff<br> |
2966f052 |
137 | ltt-build.diff<br> |
b720b182 |
138 | <br> |
139 | <br> |
140 | Mathieu Desnoyers<br> |
1f2c88b1 |
141 | |
142 | |
143 | </body> |
144 | </html> |