Tracer Taxonomy

Here is a matrix of information about various tracing systems for the Linux kernel.

This matrix was started in May, 2006 by Tim Bird, in an effort to understand the areas of overlap and differentiation between the major kernel tracing systems.

Other stuff for table (not asked or organized yet)

 * what post-processing filters are available for trace data:
 * filter by pid?, uid?, cpuid?, time?, interrupt context?, event?, event type or class? other?
 * what is the format of trace data, during post-processing?
 * (still) binary?, ascii?, XML?
 * what post-processing presentations are available?
 * text?, GUI?, html/web format?, graphics (e.g. png), svg?
 * what post-processing aggregation is available?
 * event counts/summaries?
 * by uid
 * by pid
 * by event type
 * statistics over time?
 * call trees?
 * what data analysis operations are supported:
 * sorting
 * searching
 * visualization (drawing and scrolling)


 * performance
 * what is the overhead on the system when tracing is not configured or active? (I assume 0, but you never know)
 * ... when tracing is configured but not active?
 * ... when only some subset of configured tracing is active?
 * what is the overhead when tracing is active?
 * what is the cost per event to log the data?
 * what is the cost per event to transfer the data for post-processing?


 * size
 * what is the average or customary size of a trace buffer?
 * what is the average or customary size of a trace log?
 * what is the average or customary number of entries in a trace log?