Todo

From Perf Wiki
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
 
=== Perf tools ===
 
=== Perf tools ===
  
* Factorize the multidimensional sorting between perf report and annotate (will be used by perf trace)
 
* Implement a perf cmp (profile comparison between two perf.data) (DONE, its called 'perf diff')
 
* Implement a perf view (GUI) (Partially done, see 'perf report --gtk')
 
* Enhance perf trace:
 
** Handle the cpu field
 
** Handle the timestamp
 
** Use the in-perf ip -> symbol resolving
 
** Use the in-perf pid -> cmdline resolving
 
** Implement multidimensional sorting by field name
 
  
 
* The feature tests performed only when a file that needs those tests, or at least only when some .c or .h file will be rebuilt
 
* The feature tests performed only when a file that needs those tests, or at least only when some .c or .h file will be rebuilt
Line 37: Line 28:
 
** http://www.eece.maine.edu/~vweaver/projects/perf_events/validation/
 
** http://www.eece.maine.edu/~vweaver/projects/perf_events/validation/
  
* Add reference counters to the dso, thread, structures, so that in tools like 'top' we can remove unused threads from the dead_threads list and also
+
* Add reference counters to the dso and thread structs, so that in tools like 'top' we can remove unused threads from the dead_threads list and also unload symbol tables not referenced by any maps.
  unload symbol tables not referenced by any maps.
+
 
 +
=== Old entries ===
 +
 
 +
* Factorize the multidimensional sorting between perf report and annotate (will be used by perf trace)
 +
* Implement a perf cmp (profile comparison between two perf.data) (DONE, its called 'perf diff')
 +
* Implement a perf view (GUI) (Partially done, see 'perf report --gtk')
 +
* Enhance perf trace:
 +
** Handle the cpu field
 +
** Handle the timestamp
 +
** Use the in-perf ip -> symbol resolving
 +
** Use the in-perf pid -> cmdline resolving
 +
** Implement multidimensional sorting by field name

Revision as of 19:03, 31 January 2013

Perf tools

  • The feature tests performed only when a file that needs those tests, or at least only when some .c or .h file will be rebuilt
  • Packages needed for the build should be checked before we start building object files, such as bison (bpetkov)
  • Use the highest precision level available by default, e.g.: cycles:pp
  • Use Kconfig to allow selecting features and build minimal version of perf, e.g. one with just 'record' for use in embedded platforms.
    • David Ahern prototyped this, dig those patches and update them.
  • Make the instruction augmentation in the annotate browser platform specific.
    • Right now they are x86 specific but are in the common code.
  • Cherry pick the plugin support in libtraceevent.
  • Add build id support in PERF_RECORD_MMAP, so that we can support long running sessions where update of components may take place.
  • Limit the size of the build id cache (~/.debug), in a way similar to how ccache manages its cache.
  • Add reference counters to the dso and thread structs, so that in tools like 'top' we can remove unused threads from the dead_threads list and also unload symbol tables not referenced by any maps.

Old entries

  • Factorize the multidimensional sorting between perf report and annotate (will be used by perf trace)
  • Implement a perf cmp (profile comparison between two perf.data) (DONE, its called 'perf diff')
  • Implement a perf view (GUI) (Partially done, see 'perf report --gtk')
  • Enhance perf trace:
    • Handle the cpu field
    • Handle the timestamp
    • Use the in-perf ip -> symbol resolving
    • Use the in-perf pid -> cmdline resolving
    • Implement multidimensional sorting by field name
Personal tools