| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| |
| | |
The capture output belongs in the main window. Move it there.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Change the capture dialog around to include the events window.
Also use table widget instead of vpaned to layout the widgets
nicer.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of requiring trace_create_combo_box() to work with a hbox,
change it so passing in a NULL hbox will just produce a combo box
and ignore the text (for the label).
This will allow us to still use this helper function when we need to
create the label and combo on something other than a hbox.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| | |
Have the filters stored locally in the users .trace-cmd directory.
This will allow the filters to be read and saved from there.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Change the file dialog to when a "waring" is set (which is
when we plan on saving a file) to automatically add the extension
if the extension does not already exist.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| | |
Add TRACE_DIALOG_FILTER_FILTER and have the KernelShark filter files
use the *.ksf extension.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Set the default file filters for the specified commands.
A load of trace data should filter on *.dat.
A load of a settings should filter on *.kss.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| | |
Add trace_get_file_dialog_filter() to add an interface to set the default
filter of files for a given operation.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| | |
Add filters to the file chooser dialog menu. Now the user can
pick from *.dat or *.kss files.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| | |
Move the execute button down with the cancel button.
Reported-by: Darren Hart <dvhltc@us.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
"Done" is confusing, the close of the capture window should be called
"close".
Reported-by: Darren Hart <dvhltc@us.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Have the settings saved in a ~/.trace-cmd/settings under *.kss.
Then have the user able to load and save them there with simple
combo and dialog box respectively.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Since the events are a major selection feature of the capture, move
the event tree into the main dialog box.
Requested-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| | |
Add trace_update_event_view() to be able to update the events
set in an already existing event_view.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The graph was using the "orig_pid" to determine if it should display
the box (process running) or not. But this only worked when we had
sched events available. When schedule events were enabled, this would
fail the tests.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| | |
Large events store the size in the array[0] portion of the header
of the record. This size is the actual size and not a division.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
trace-cmd split processing a different endian file than the host
fails to do the conversion of the length field.
Reported-by: Will Schmidt <will_schmidt@vnet.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| | |
Remove the open coded event list from the trace-capture.c with the
generic tracecmd_add_id() routine.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| | |
Remove the custom add_event() and add_event_int() from trace-filter.c
and use the tracecmd_add_id() generic routine.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Several places are creating list of event ids as an array
with the ids ending in -1.
To use this, simply:
int *events = NULL;
intt len = 0;
/* Fictious for statement */
for (event = get_event(); event; event = next_event(event))
events = tracecmd_add_id(events, event->id, len++);
/* ... */
free(events);
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| | |
Remove the custom add_system() and add_system_str() from trace-filter.c
and use the tracecmd_add_list() generic routine.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add function trace_extract_event_list_view() to extract events from
the event list view created with:
trace_create_event_list_view().
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|/
|
|
|
|
|
|
| |
Make the create_event_list_view() into a global function called
trace_create_event_list_view() that exports the creation of a
list view of events for other parts of kernelshark to use.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
Add -k option to trace-cmd record that will keep it from resetting
the buffers when it is done. This option brings back the old
behavior of trace-cmd record.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
|
| |
If we disable the buffers before we print the stats, then the
stats will be zero. That is because disabling the buffers also
zeros out the stats.
Print out the stats _before_ we disable the buffers.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
Several plugins were implementing their own helper function to
set a value of the data from a field. Move the helper function into
the core code.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The _print_field() and print_field() functions were being used by multiple
plugins. Each implementing their own helper function to get a field
and print its value.
Instead of having multiple functions to do the same job in different
plugins, just add it to the core code.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
| |
When two or more strings are adjacent ("string1" "string2") concatenate
them into one string token. ("string1string2")
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
| |
If a %s has options like %8.2s, we still want to process it.
Pass the format off to the string processing to do so.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
| |
When the "*" (next arg is length) is used in the TP_printk format,
it is currently not handled. This will cause a shift in the arguments
that are passed in causing all arguments after to be corrupted.
Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the field does not have a lenth, use rest of the data item.
But account for the offset of the field.
Field arrays with [0] denote to use the rest of the record.
But the size set was the size of the record and not the size
starting from the field to the end of the record.
This was causing SEGFAULTS when the record was at the end of
a page, and the copy was going beyond the page.
Reported-by: Will Schmidt <will_schmidt@vnet.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
| |
Disable all tracing at the end of a record, and set the tracing_on
back to the value it was before the record started.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tracing_enabled file really needs to be deprecated. It should
not be used. But if the tracing_enabled file gets set to zero
somehow (by either the user or tool - latencytop?) then it will
disable output.
Since trace-cmd does not touch the file, it will confuse users
when they see no data recorded.
The simple answer is to always set tracing_enabled to one if the
file exists.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
Instead of showing every little error that happened while loading
a trace file, show only one message at the end. Have the warnings
go to the display status and the user can reference them there.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
| |
After printing a gui warning, reset errno.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
| |
In showing a warning dialog, if errno exists, then add a new line
between the message and the errno message.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the plot code, it is possible that an event exists in the
data file that was not stored in the events log. This happened
with the 2.6.35 kernel where some events had formats that were "TOO BIG"
and that event format was not saved. But the events still existed in
the trace.dat file.
The plot code assumed that events were found and when they were not
it crashed.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
| |
Add a "return" if the file is not found in load capture settings.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
When executing a record, walk the PATH variable to search for
trace-cmd. If it is not found we can nicely give a warning instead
of trying to execute it.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
|
| |
Most package builders apply their own CFLAGS, often set during the make
invocation. The trace-cmd internal CFLAGS is overriden in this case.
Make sure the important flags are appended.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
LKML-Reference: <1276449108-21328-1-git-send-email-chase.douglas@canonical.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Passing n > sizeof(string) to snprintf can cause a glibc buffer overflow
condition. We know the exact size of nsecs_str, so use it along with the
the math to determine the longest string size we want.
Note that an overflow isn't really possible given the format of the
string. However, glibc would abort due to a runtime check.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
LKML-Reference: <1276613224-19247-1-git-send-email-chase.douglas@canonical.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
| |
Python can not handle va_list, so ignore vpr_stat from the
swig code.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
Add the load and store buttons to the capture dialog that lets the
user store and load at another time their capture settings. This
lets them store events and plugins and retrieve it later.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
Make the changes to the capture dialog persistent. That is if the user
makes updates to the dialog then closes it, the next time they open
it, it will still contain their changes.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
| |
After the user records a trace, automatically load the file.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
Instead of warning that a file exists at the file pop up, warn
about it when we execute. Otherwise, we may miss a warning since
the user can simply type the file name in.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
| |
The warning of the file dialog will happen everytime even
if the file does not exist. Fix that.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
|
|
| |
When the trace-cmd record command finishes, close the stop dialog.
Luckily we know when it finishes because the command will close
the pipe which will cause the monitor_pipes thread to detect
it. Then it will close the dialog box by emitting the delete-event
signal to it.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
| |
When no command is selected, the recording happens
until the stop button is hit.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
|
|
|
|
|
|
| |
If someone selects a file that already exists and the command will
be used to overwrite the file. Ask the user if they want to overwrite
it instead of just doing so.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|