X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Fdoc%2Fdeveloper%2Flttng-lttv-roadmap.html;h=088ea626a80fa801c8a489aea4875f7eebbe1eff;hb=2966f05227f478edb72f6579729252bb9eddd550;hp=092f65262d3e9b225f417f9953feb3455d8cab51;hpb=e4d84ff4ee3851ee83d33f5275464306168e5ac4;p=lttv.git diff --git a/ltt/branches/poly/doc/developer/lttng-lttv-roadmap.html b/ltt/branches/poly/doc/developer/lttng-lttv-roadmap.html index 092f6526..088ea626 100644 --- a/ltt/branches/poly/doc/developer/lttng-lttv-roadmap.html +++ b/ltt/branches/poly/doc/developer/lttng-lttv-roadmap.html @@ -9,125 +9,108 @@ for the TODO items :
(10): lowest priority


-Dependencies are written between parenthesis ( ).
+Dependencies are written between brackets [ ].
The # symbol marks who is currently working on the item.
The % symbol marks who is interested in the realisation of the item.

LTTV Roadmap

* TODO
-(4) create a event rate graphical view : Will be useful in conjonction with the +(3) Make LTTV aware of type formats defined in the XML file.
+(3) Use a per architecture enumeration for traps.
+(3) Integrate Kernel State Dump information.
+(4) create a event rate graphical view : Will be useful in conjunction with the filter.
# Parisa Heidari
-(6) migrate align to lttv parser.
-(7) create an analysis of function time (like a precise gprof)
+(4) Add event specific fields support to filter.
+(4) create a graphical per cpu activity view.
+(5) Add Python scripting hooks.
+(5) Flight recorder : start lttd automatically upon GUI trace control stop.
+(5) Automatically detect traces with too much processes and disable faulty operations.
+(5) Event sequence detector (inspired from regular expressions).
+(7) create an analysis of function time (like a precise gprof).
-> with gcc -f inline-functions
+(7) Create a hardware counter viewer (low cost rate counters : L1 cache miss, page faults, interrupts...).
(10) Add cancel button to LTTV filter GUI window.

-* Done
-per struct (struct align=x) support added to genevent (partial).
-Add offset align generation for structs to genevent.
-make lttv aware of the per facility long, void* and size_t types.
-Read current trace header and buffer header.
-redo lib tracefile : too much problems in there.
-modify the rest of LTTV to match the API changes.
-debian package
-RPM package
-
LTT Next Generation Roadmap

* TODO
-(1) add genevent full functionnality : alignment, array, sequences, nested -structures.
- # Mathieu Desnoyers
-(1) port LTTng to 2.6.14 kernel. (depends on genevent rewrite)
(2) add efficient and secure user space tracing. (1 month)
+ # Mathieu Desnoyers
(3) integrate LTTng State Dump : missing irq and process state.
# Jean-Hugues Deschenes
+(4) efficient dynamic event filtering while recording trace.
+ % Sensis Corp. Tim Bish
+(4) Create the heartbeat timer LTTng module. Make sure that heartbeat events +never hit the facility channel. Use the complete 64 bits TSC for the facility +channel in every case. That's because this channel must never be overwritten +even in "flight recorder" mode.
+(5) Integrate LTTng and lttd with LKCD.
+(6) Add Xen support.
(7) add gcc -finstrument-functions instrumentation
-(3) port LTTng to : (depends on 2.6.14 port)
+(7) Integrate periodical dump of perfctr hardware counters.
+(8) Integrate periodical dump of SystemTAP computed information.
+(8) Integrate SystemTAP logging with LTTng.
+(3) port LTTng to :
x86_64
#Autodesk Francois -L'Archeveque for 2.6.9 RedHat Enterprise
-%Wind River for 2.6.10
+L'Archeveque for 2.6.9 RedHat Enterprise (patch available in contrib, still +has to be ported to 2.6.14, thanks!)
+%Wind River for 2.6.14
PPC
PPC64
-%Wind River for 2.6.10
+%Wind River for 2.6.14
alpha
user-mode Linux
Xen
MIPS
MIPS64
-%Wind River for 2.6.10
+%Wind River for 2.6.14
ARM
+ # Richard Purdie
+ # Mathieu Desnoyers
S/390


-* Done
-remove ltt-headers.h
-remove ltt-log.h
-Put trace->active later in _ltt_trace_start()
-ltt_trace_create() remove sleep in spinlock use GFP_ATOMIC kmalloc
-Fix the locking of module hooks.
-Fix the traps -> disable nested logging for now.
-Use per cpu spinlock on trace list.
-Finish the control module, libltt and lttctl : netlink interface
-Finish integrating lttctl with lttd.
-fix lttctl signal waiting : use a flag.
-Add ltt_write_commit_counter call to genevent.
-Add information in the buffer header : buffer size, etc etc...
- -> this information is so small that we can repeat it. Makes flight recorder - easier to decode.
-Add trace start structure to buffer start header.
-fix genevent : take no lock if num traces active is 0.
-Add type information per facility : it will help having a standard way -to understand information coming from both kernel space and user space, and deal -easily with 64 bits kernel with 64 and 32 bits processes (and with size_t know -at compile time which can differ inside the same process from one library to -another).
-fix structures alignment, array and sequences too. -> trace dynamic.
-add per facility alignment (inside structures).
-add control of alignment.
-add control for subbuffer size and number of subbuffers.
-Add reserve - get TSC - alignment atomicity through the use of cmpxchg.
-Add configurable alignment (LTT_ALIGNMENT).
-Get ultra-precise logging with use of TSC (only) : only one do_gettimeofday -read, and then we don't want the time flow to be altered by ntp.
-Debian kernel package
-make LTT tracing code completely atomic (thus remove locks)
-Buffer aligned on page boundary -> use valloc.
-
-

* TODO (low priority)
enhance RPM packages for lttng kernel
Integrate header generation (genevent) in kernel build system.
Multithreaded lttd.
Find a different way to printk from instrumentation : forbidden from schedule -and wakeup (causes a deadlock).
+and wakeup (causes a deadlock). -> Modify printk so it uses LTTng tracer!
+Export channels via network sockets instead of writing them to disk.
+Export buffers with time constraint for "live" visualisation. Use +ltt_force_switch periodically from a timer to insure slow channels do not +interfere with viewing.

* Need to be discussed
+Use 2.6.14 RelayFS control files.
Drop ltt-module-register and ltt-module-unregister, use exported variables.
-RelayFS ioctl interface vs control through LTT netlink interface.
drop ltt_filter_control, use functions pointers instead.
Merge facilities headers into one big header.
Change the name of XML files from XML to something else.
Remove ltt-base.c.

-* Not planned for integration
-Remove the callback struct from the trace struct.
-
-

-* lttng patch division (0.4.2+) :
+* lttng patch division (0.5.10+) :

-ltt-instrumentation.diff
+instrumentation.diff +instrumentation-arm.diff +instrumentation-i386.diff +instrumentation-mips.diff +instrumentation-powerpc.diff +instrumentation-ppc.diff +instrumentation-s390.diff +instrumentation-sh.diff ltt-facilities-headers.diff
ltt-facilities-loader.diff
ltt-facilities.diff
ltt-relayfs.diff
ltt-core.diff
+ltt-build.diff


Mathieu Desnoyers