| 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 | (2) Add support for "stop" button in event list. (disabling event request |
| 20 | scheduler)<br> |
| 21 | (2) Finish pre-computing of states to a file.<br> |
| 22 | (3) Add cluster support.<br> |
| 23 | # <A HREF="mailto:Eric Clement <eric.clement@polymtl.ca>">Eric Clement</A><br> |
| 24 | (3) Make LTTV aware of type formats (visual separators) defined in the XML |
| 25 | file.<br> |
| 26 | (3) Use a per architecture enumeration for traps.<br> |
| 27 | (4) Add event specific fields support to filter.<br> |
| 28 | (4) Add a periodic event interval view. (useful to verify event periodicity)<br> |
| 29 | (4) create a graphical per cpu activity view.<br> |
| 30 | (5) Add Python scripting hooks.<br> |
| 31 | (5) Flight recorder : start lttd automatically upon GUI trace control stop.<br> |
| 32 | (5) Automatically detect traces with too much processes and disable faulty operations.<br> |
| 33 | (5) Event sequence detector (inspired from regular expressions).<br> |
| 34 | (7) Create a hardware counter viewer (low cost rate counters : L1 cache miss, |
| 35 | page faults, interrupts...). This will be a generalisation of the event rate |
| 36 | view into a view of the evolution of a user definable event field.<br> |
| 37 | <br> |
| 38 | * TO FIX<br> |
| 39 | (10) Event filter : event.time does not work.<br> |
| 40 | (10) Add cancel button to LTTV filter GUI window.<br> |
| 41 | (10) Sometimes, in the control flow view, a process with 0 creation time is |
| 42 | created in addition to the real process itself. Seems to be caused by end of |
| 43 | process life.<br> |
| 44 | (10) Statistics do not take in account the time spent in the mode present at |
| 45 | the beginning of the trace. Example : real time spent in system call on behalf |
| 46 | of process 0.<br> |
| 47 | <br> |
| 48 | <br> |
| 49 | <big>LTT Next Generation Roadmap<small><br> |
| 50 | <br> |
| 51 | * TODO<br> |
| 52 | (4) Add Xen support.<br> |
| 53 | # <A HREF="mailto:Mathieu Desnoyers <compudj@krystal.dyndns.org>">Mathieu Desnoyers</A><br> |
| 54 | # <A HREF="mailto:Parisa Heidari <parisa.heidari@polymtl.ca>">Parisa Heidari</A><br> |
| 55 | (4) efficient dynamic event filtering while recording trace.<br> |
| 56 | % Sensis Corp. <A HREF="mailto:Bish, Tim <Tim.Bish@Sensis.com>">Tim Bish</A><br> |
| 57 | (4) instrument kernel bottom half irqsave, spinlocks, rwlocks, seqlocks, semaphores, mutexes, brlock.<br> |
| 58 | (4) integrate NPTL instrumentation (see |
| 59 | <A HREF="http://nptltracetool.sourceforge.net/">PTT</A>).<br> |
| 60 | (5) Support CPUs with scalable frequency.<br> |
| 61 | (5) Integrate LTTng and lttd with LKCD.<br> |
| 62 | (7) Integrate periodical dump of perfctr hardware counters.<br> |
| 63 | (8) Integrate periodical dump of SystemTAP computed information.<br> |
| 64 | (8) Integrate SystemTAP logging with LTTng.<br> |
| 65 | (9) Add support for setjmp/longjmp and jump tables instrumentation to |
| 66 | ltt-instrument-functions.<br> |
| 67 | (9) Make ltt-usertrace-fast support internal heartbeat timer.<br> |
| 68 | (3) port LTTng to :<br> |
| 69 | x86_64<BR> |
| 70 | #Autodesk <A HREF="mailto:Francois L'Archeveque <fla@discreet.com>">Francois |
| 71 | L'Archeveque</A> for 2.6.9 RedHat Enterprise (patch available in contrib, still |
| 72 | has to be ported to 2.6.14, thanks!)<BR> |
| 73 | # Wind River for 2.6.14<BR> |
| 74 | PPC<BR> |
| 75 | PPC64<BR> |
| 76 | # Wind River for 2.6.14<BR> |
| 77 | alpha<BR> |
| 78 | user-mode Linux<BR> |
| 79 | Xen<BR> |
| 80 | # IBM<BR> |
| 81 | MIPS<BR> |
| 82 | MIPS64<BR> |
| 83 | % Wind River for 2.6.14<BR> |
| 84 | # Tim Bird <A HREF="mailto:tim.bird@as.sony.com">Tim Bird</A><br> |
| 85 | S/390<BR> |
| 86 | RTLinux<BR> |
| 87 | % Wind River for 2.6.14<BR> |
| 88 | <br> |
| 89 | <br> |
| 90 | <br> |
| 91 | * TODO (low priority)<br> |
| 92 | enhance RPM packages for lttng kernel<br> |
| 93 | Integrate header generation (genevent) in kernel build system.<br> |
| 94 | Find a different way to printk from instrumentation : forbidden from schedule |
| 95 | and wakeup (causes a deadlock). -> Modify printk so it uses LTTng tracer!<br> |
| 96 | Export channels via network sockets instead of writing them to disk.<br> |
| 97 | Export buffers with time constraint for "live" visualisation. Use |
| 98 | ltt_force_switch periodically from a timer to insure slow channels do not |
| 99 | interfere with viewing.<br> |
| 100 | Have an optional round-robin mode to write information into multiple channels |
| 101 | from the same source.<br> |
| 102 | <br> |
| 103 | * Need to be discussed<br> |
| 104 | Use 2.6.14 RelayFS control files.<br> |
| 105 | Drop ltt-module-register and ltt-module-unregister, use exported variables.<br> |
| 106 | drop ltt_filter_control, use functions pointers instead.<br> |
| 107 | Merge facilities headers into one big header.<br> |
| 108 | Change the name of XML files from XML to something else.<br> |
| 109 | Remove ltt-base.c.<br> |
| 110 | <br> |
| 111 | <br> |
| 112 | * lttng patch division (0.5.10+) :<br> |
| 113 | <br> |
| 114 | instrumentation.diff<br> |
| 115 | instrumentation-arm.diff<br> |
| 116 | instrumentation-i386.diff<br> |
| 117 | instrumentation-mips.diff<br> |
| 118 | instrumentation-powerpc.diff<br> |
| 119 | instrumentation-ppc.diff<br> |
| 120 | instrumentation-s390.diff<br> |
| 121 | instrumentation-sh.diff<br> |
| 122 | ltt-facilities-headers.diff<br> |
| 123 | ltt-facilities-loader.diff<br> |
| 124 | ltt-facilities.diff<br> |
| 125 | ltt-relayfs.diff<br> |
| 126 | ltt-core.diff<br> |
| 127 | ltt-build.diff<br> |
| 128 | <br> |
| 129 | <br> |
| 130 | Mathieu Desnoyers<br> |
| 131 | |
| 132 | |
| 133 | </body> |
| 134 | </html> |