| TRACE-CMD-RESTORE(1) |
| ==================== |
| |
| NAME |
| ---- |
| trace-cmd-restore - restore a failed trace record |
| |
| SYNOPSIS |
| -------- |
| *trace-cmd restore* ['OPTIONS'] ['command'] cpu-file [cpu-file ...] |
| |
| DESCRIPTION |
| ----------- |
| The trace-cmd(1) restore command will restore a crashed trace-cmd-record(1) |
| file. If for some reason a trace-cmd record fails, it will leave a the |
| per-cpu data files and not create the final trace.dat file. The trace-cmd |
| restore will append the files to create a working trace.dat file that can |
| be read with trace-cmd-report(1). |
| |
| When trace-cmd record runs, it spawns off a process per CPU and writes |
| to a per cpu file usually called 'trace.dat.cpuX', where X represents the |
| CPU number that it is tracing. If the -o option was used in the trace-cmd |
| record, then the CPU data files will have that name instead of the |
| 'trace.dat' name. If a unexpected crash occurs before the tracing |
| is finished, then the per CPU files will still exist but there will |
| not be any trace.dat file to read from. trace-cmd restore will allow you |
| to create a trace.dat file with the existing data files. |
| |
| OPTIONS |
| ------- |
| *-c*:: |
| Create a partial trace.dat file from the machine, to be used with |
| a full trace-cmd restore at another time. This option is useful for |
| embedded devices. If a server contains the cpu files of a crashed |
| trace-cmd record (or trace-cmd listen), trace-cmd restore can be |
| executed on the embedded device with the -c option to get all the |
| stored information of that embedded device. Then the file created |
| could be copied to the server to run the trace-cmd restore there |
| with the cpu files. |
| |
| If *-o* is not specified, then the file created will be called |
| 'trace-partial.dat'. This is because the file is not a full version |
| of something that trace-cmd-report(1) could use. |
| |
| *-t* tracing_dir:: |
| Used with *-c*, it overrides the location to read the events from. |
| By default, tracing information is read from the debugfs/tracing |
| directory. *-t* will use that location instead. This can be useful |
| if the trace.dat file to create is from another machine. |
| Just tar -cvf events.tar debugfs/tracing and copy and untar that |
| file locally, and use that directory instead. |
| |
| *-k* kallsyms:: |
| Used with *-c*, it overrides where to read the kallsyms file from. |
| By default, /proc/kallsyms is used. *-k* will override the file to |
| read the kallsyms from. This can be useful if the trace.dat file |
| to create is from another machine. Just copy the /proc/kallsyms |
| file locally, and use *-k* to point to that file. |
| |
| *-o* output':: |
| By default, trace-cmd restore will create a 'trace.dat' file |
| (or 'trace-partial.dat' if *-c* is specified). You can |
| specify a different file to write to with the *-o* option. |
| |
| *-i* input:: |
| By default, trace-cmd restore will read the information of the |
| current system to create the initial data stored in the 'trace.dat' |
| file. If the crash was on another machine, then that machine should |
| have the trace-cmd restore run with the *-c* option to create the |
| trace.dat partial file. Then that file can be copied to the current |
| machine where trace-cmd restore will use *-i* to load that file |
| instead of reading from the current system. |
| |
| EXAMPLES |
| -------- |
| |
| If a crash happened on another box, you could run: |
| |
| $ trace-cmd restore -c -o box-partial.dat |
| |
| Then on the server that has the cpu files: |
| |
| $ trace-cmd restore -i box-partial.dat trace.dat.cpu0 trace.dat.cpu1 |
| |
| This would create a trace.dat file for the embedded box. |
| |
| SEE ALSO |
| -------- |
| trace-cmd(1), trace-cmd-record(1), trace-cmd-report(1), trace-cmd-start(1), |
| trace-cmd-stop(1), trace-cmd-extract(1), trace-cmd-reset(1), trace-cmd-split(1), |
| trace-cmd-list(1), trace-cmd-listen(1) |
| |
| AUTHOR |
| ------ |
| Written by Steven Rostedt, <rostedt@goodmis.org> |
| |
| RESOURCES |
| --------- |
| git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git |
| |
| COPYING |
| ------- |
| Copyright \(C) 2010 Red Hat, Inc. Free use of this software is granted under |
| the terms of the GNU Public License (GPL). |
| |