tanelpoder / 0xtools

0x.Tools: X-Ray vision for Linux systems
https://0x.tools
GNU General Public License v2.0
1.45k stars 114 forks source link

support wrapping/narrower output (especially when kstack is used) #6

Open tanelpoder opened 5 years ago

tanelpoder commented 5 years ago

for now the workaround is to run ./psn ... > output.txt and use the text editors left-right scrolling capabilities, if the output with kstack is too wide. Or use a terminal that can scroll horizontally too (the horizontal-scrolling terminal that I use is this: https://github.com/software-jessies-org/jessies/wiki/Terminator)

tanelpoder commented 4 years ago

The current workaround is to just use `sed s/->/\n/g' to replace -> with a newline:

$ sudo psn -G syscall,wchan,kstack -p ora_ckpt | sed 's/->/\n/g'

Linux Process Snapper v0.16 by Tanel Poder [https://tanelpoder.com/psnapper]
Sampling /proc/wchan, stack, stat, syscall for 5 seconds... finished.

=== Active Threads =======================================================================================================================================================================================================================================================================================================================================================

 samples | avg_threads | comm              | state                  | syscall   | wchan          | kstack                                                                                                                                                                                                                                                                 
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       1 |        0.01 | (ora_ckpt_lin*c)  | Disk (Uninterruptible) | pread64   | io_schedule    | SyS_pread64()
vfs_read()
__vfs_read()
xfs_file_read_iter()
xfs_file_dio_aio_read()
iomap_dio_rw()
io_schedule()                                                                                                                                                  
       1 |        0.01 | (ora_ckpt_linprd) | Disk (Uninterruptible) | io_submit | md_write_start | SyS_io_submit()
do_io_submit()
aio_write()
xfs_file_write_iter()
xfs_file_dio_aio_write()
iomap_dio_rw()
iomap_apply()
iomap_dio_actor()
submit_bio()
generic_make_request()
md_make_request()
md_handle_request()
raid10_make_request()
md_write_start() 
       1 |        0.01 | (ora_ckpt_xe)     | Disk (Uninterruptible) | pread64   | io_schedule    | SyS_pread64()
vfs_read()
__vfs_read()
xfs_file_read_iter()
xfs_file_dio_aio_read()
iomap_dio_rw()
io_schedule()                                                                                                                                                  

samples: 100 (expected: 100)
total processes: 3, threads: 3
runtime: 5.00, measure time: 0.51