| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The original idea was to use a gnome canvas, but it became
more apparent to directly draw into a drawable area.
This patch removes all references to gnome, since we do not
want to limit this utility to gnome only.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Testing this code on different boxes, I've found that some older
gtk versions don't have all the functions that are needed. This
adds those functions in a hack (for older versions anyway) to
try to cope with this.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| | |
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Loading a large (100,000+ entry) data file can take a very long
time, and is quite annoying to wait for. This patch breaks the
data up into pages (10,000 rows per page). Then it lets the user
move about the pages with a scroll button.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| | |
Created a dialog that shows all events. Still need to implement the
event filtering.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| | |
With the amount of data needed for loading a trace file, we must
implement our own tree view model.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|/
|
|
|
|
| |
This is the start of adding a GTK front end to read the trace data.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
Need to use the python-config script instead of having hard coded
includes.
Reported-by: Darren Hart <dvhltc@us.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a python ctracecmd module for use in rapidly prototyping
tracing applications. The interface description is provided in
ctracecmd.i, it identifies which functions are available from within
python. A test python script is provided as tracecmd-test.py.
These bindings are expected to change significantly. Eventually I
would like to wrap this automated binding with more pythonic objects,
most likely including Trace and Event objects which merge the
functionality of tracecmd-input, pevent, record, and event structures.
This will make development of python apps much more accessible to many
application developers.
For now, this is mostly a proof of concept and is no where near
complete. It can however open a trace file and read all the events from
it, displaying them by CPU in chronological order.
V2: o Simplified interface file with SWIG ifdefs in the header files
V3: o Move attribute removal to interface file
o Remove proxy classes and rename module to ctracecmd
o Use the Makefile with a phony python target instead of swig.sh
Signed-off-by: Darren Hart <dvhltc@us.ibm.com>
LKML-Reference: <4B2A7878.6060209@us.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
We need a way to have other applications easily make the output
file. This moves the recording of the trace.dat file to the trace-cmd
library.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
The event output for scheduler context switches and wakeups changed
the output format. This adds a plugin to make those changes look
more like the sched_switch plugin.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
| |
It may be needed to have a shared object library for trace-cmd.
Allow one to be created (not by default).
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
| |
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
| |
Sometimes after modifying trace-cmd.h, some of the objects do not get
rebuilt, and causes strange errors.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The trace_read_data and trace_peek_data() required a global file
descriptor for reading. This was kept because the library libparsevent
had the function graph tracer implementation and required a callback
to read. This code has been moved out of parse_events.c and into a
special override function.
Now it still uses the global read, but since libtracecmd has a little more
scope than libparsevent, we added a thread variable
tracecmd_curr_thread_handle
This is unique per thread, and is set right after data is read.
Yes there are some races, but we can deal with it for now.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
The libparsevent currently does special cases for the function tracer.
This patch replaces the special case with a event override. This is
loaded by libtracecmd.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The trace-input.c file belongs to the libtracecmd library. Move the
functions from trace-read that will be used as an interface for
the library.
Note, this commit is a basic move. Only some changing from static
to global was done to some functions and variables to keep the code
working. But this is a transition commit. This shows the move.
The next commits will show the changes to these functions to make
the library API more practical.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
Have libtracecmd.a contain libparevent.a and include trace-util.c.
Create a trace-local.h file to be used by the trace-cmd exec itself.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
|
|
|
|
| |
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the function to parse_events called
pevent_register_event_handler(int id, char *sys_name,
char *event_name,
pevent_event_handler_func func)
If id is >= 0 then the event is searched for by id, and checked
against sys_name and event_name if those are non NULL.
If id < 0, then the sys_name and event_name are used. If sys_name
is non NULL, it will match the event system with that name,
otherwise it will just find the first event named event_name.
The pevent_event_handler_func is defined as:
int (*func)(struct trace_seq *s, void *data, int size);
This lets a plugin register a function that will be called in place
of the "pretty_print" function for the event.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a method to load a plugin. It looks in the users directory
~/.trace-cmd/plugins
and tries to load any file there. To create a plugin simply make
a C file that has this minimum format:
#include "parse-events.h"
int PEVENT_PLUGIN_LOADER(void)
{
...
}
Then compile it with the following method:
gcc -c plugin.c -fPIC -o plugin.o
gcc -shared -nostartfiles -o plugin
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The way the comm and pids are associated may be different with different
apps. Let the app decide how it will register a mapping of comm and
pid.
Created trace-util.c file to hold the app side of comms.
Create pevent_register_comm to implement the library register routine.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
A dynamic library will cause pain to users when they find that
the tool can not find the library. For now, just use a static library
to make the use of the tool more convenient.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
| |
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
| |
The functions for trace-seq are moving into the parse-events library.
We need to keep the headers more consolidated.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
This is the first step in making a shared library for other applications
to use the parse-event functions for parsing the TRACE_EVENT from
raw data.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
| |
Create entry TAGS to create etags.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
| |
The trace-seq is a nice utility I wrote for Linux. It makes a page size
buffer that that can be written to with a printf,puts,putc interface.
This is perfect for having the same routine write the same type of
output, and used separately.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
| |
Perf uses -std=gnu99 which causes some strange side effects.
To keep parse-events.c close to what is in perf, we use the same
option. Namely, it makes us typecast the options for "%a" in the
sscanf to float.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
|
|
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|