ca5907d143bfaff603ade0a6f1c6e6908c8a70ef
[lttv.git] / 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 The $ symbol marks who is contributing funding for the realisation of the item.<br>
16 <br>
17 <br>
18 <big>LTT Next Generation Roadmap<small><br>
19 <br>
20 * TODO (high priority)<br>
21 <BR>
22 (1) LTTng event description: move from tracepoint/markers to Ftrace TRACE_EVENT
23 declarations. Extend TRACE_EVENT as needed.<br>
24 # <A HREF="mailto: Douglas Santos <douglas.santos@polymtl.ca>">Douglas Santos</A>)<BR>
25 (1) LTTng ring buffer adaptation for FTrace.<br>
26 (1) FTrace/LTTng trace format standardization.<BR>
27 (1) Extend NO_HZ support vs trace streaming support to other architectures (need
28 to add cpu idle notifiers and test).<br>
29 (1) Make sure ltt-ascii kernel text dump fits well with streaming hooked into
30 cpu idle.<br>
31 [Depends on cpu idle notifier port to other architectures]<br>
32 (1) Support CPUs with scalable frequency with a time-consistent increment and
33 with an approach scalable to SMP. (done for ARM OMAP3 UP only, but the OMAP3
34 approach should be tested and probably derived into an SMP implementation)<br>
35 <br>
36 <br>
37 * Nice to have<br>
38 <br>
39 (3) Bring stack dump in sync with new lttng.<br>
40 (4) Dump mounts. (to fix)<br>
41 (4) Add Xen support. (Trace buffer desallocation needs to be fixed)<br>
42 (4) integrate NPTL instrumentation (see
43 <A HREF="http://nptltracetool.sourceforge.net/">PTT</A>).<br>
44 (4) Probe calibration kernel module.<br>
45 (5) Add boot time tracing support.<br>
46 (5) Integrate LTTng and lttd with LKCD.<br>
47 (7) Integrate periodical dump of perfctr hardware counters.<br>
48 (8) Integrate SystemTAP logging with LTTng.<br>
49 (8) Integrate periodical dump of SystemTAP computed information.<br>
50 (9) Add support for setjmp/longjmp and jump tables instrumentation to
51 ltt-instrument-functions.<br>
52 <br>
53 <br>
54 * Done<br>
55 <br>
56 - (2009) Port LTTng to ARM OMAP3 with power management and dynamic frequency scaling
57 support. (Done by Mathieu Desnoyers, funded by Nokia).<br>
58 - (2009) Improvement of trace streaming power consumption efficiency (NO_HZ
59 support) (x86 only for now).<br>
60 - (2009) Periodic flush for trace streaming (Mathieu Desnoyers).<br>
61 - (2009) Ascii text output from LTTng. (started by Lai Jiangshan (Fujitsu),
62 completed by Mathieu Desnoyers)<br>
63 <br>
64 <br>
65 <big>LTTV Roadmap<small><br>
66 <br>
67 Note: new feature development is currently done in the Linux Tools Project:
68 LTTng Integration. Mainwhile, LTTV is maintained as a known-stable viewer.<br>
69 <br>
70 <br>
71 * Nice to have<br>
72 <br>
73 (4) Statistics per time window.<br>
74 (4) Add Xen per physical CPU view.<br>
75 (4) Add Xen per vcpu view.<br>
76 (4) Disable plugins when threshold reached (i.e. too much process in control
77 flow view). Draw, and, when the threshold is reached, stop drawing. The global
78 statistics view can inhibit showing the per process stats.<br>
79 (4) Add a visual artifact : PID 0 could be named swapper instead of UNNAMED for
80 cpus > 0.<br>
81 (4) Add event specific fields support to filter.<br>
82 (4) Add a periodic event interval view. (useful to verify event periodicity)<br>
83 (4) create a graphical per cpu activity view.<br>
84 (4) Filter by target process.<br>
85 (4) Compensate for time spent in probes in LTTV analysis.<br>
86 (4) Add CPU, network, disk, memory usage histogram. [Per interval statistics]<br>
87 (4) Add sort by process priority in the control flow view (must also instrument
88 priority information of the processes).<br>
89 % Airbus<br>
90 (5) Add Python scripting hooks.<br>
91 (5) Add GUI interface to take an hybrid trace.<br>
92 (5) Automatically detect traces with too much processes and disable faulty operations.<br>
93 (5) Event sequence detector (inspired from regular expressions).<br>
94 (7) Create a hardware counter viewer (low cost rate counters : L1 cache miss,
95 page faults, interrupts...). This will be a generalisation of the event rate
96 view into a view of the evolution of a user definable event field.<br>
97 <br>
98 * TO FIX<br>
99 <br>
100 (10) Add cancel button to LTTV filter GUI window.<br>
101 (10) Sometimes, in the control flow view, a process with 0 creation time is
102 created in addition to the real process itself. Seems to be caused by end of
103 process life.<br>
104 (10) Statistics do not take in account the time spent in the mode present at
105 the beginning of the trace. Example : real time spent in system call on behalf
106 of process 0.<br>
107 <br>
108 <br>
109 Mathieu Desnoyers<br>
110
111
112 </body>
113 </html>
This page took 0.033609 seconds and 3 git commands to generate.