[![Build Status](https://travis-ci.org/iipeace/guider.svg?branch=master)](https://travis-ci.org/iipeace/guider)
[![license](http://img.shields.io/badge/license-GNU-blue.svg)](https://raw.githubusercontent.com/iipeace/guider/master/LICENSE)
[![Coverity](https://scan.coverity.com/projects/15302/badge.svg)](https://scan.coverity.com/projects/iipeace-guider)
[![PyPI version](https://badge.fury.io/py/guider.svg)](https://badge.fury.io/py/guider)
[![Download guider](https://img.shields.io/sourceforge/dt/guider.svg)](https://sourceforge.net/projects/guider/files/latest/download)
[![Join the chat at https://gitter.im/guiderchat/Lobby](https://badges.gitter.im/guiderchat/Lobby.svg)](https://gitter.im/guiderchat/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
![Guider_Logo_mini](https://user-images.githubusercontent.com/15862689/69008465-3062aa80-098e-11ea-8185-cfb8d7c4aafe.png)
Table of contents
=================
<!--ts-->
* [Guider](#Guider)
* [Output](#Output)
* [How to use](#How-to-use)
* [Build & Installation](#Build--Installation)
* [Kernel Configuration](#Kernel-Configuration)
* [Help](#Help)
<!--te-->
Guider
=======
Guider is a comprehensive performance analysis tool designed to meet all your system performance needs.
With features like monitoring, profiling, tracing, visualization, control, logging, networking, testing, and utilities,
Guider provides you with everything you need to measure, analyze, and verify your system's performance.
Some of the key features of Guider include:
1. Accurate measurements: Guider provides measurements in units of count, time (in microseconds), and size (in bytes) for precise results.
2. Comprehensive functionality: Guider offers a range of functions for analysis and experimentation.
3. Detailed reports: Guider provides in-depth reports with as much information as possible.
4. Browser-based visualization: Guider outputs visualizations in SVG format for easy viewing in a browser.
5. Easy to use: Guider is designed to be simple and straightforward, with no need for installation or setup.
Guider supports a wide range of platforms based on the Linux kernel,
including distros like Ubuntu, CentOS, and RHEL, as well as Android, ccOS, webOS, Tizen, and AGL.
Limited support is also available for Windows and MacOS.
In terms of architecture, Guider can work on x86, x64, ARM, AArch64, RISC-V.
Output
=======
$ python3 guider/guider.py top -a
[Top Info] [Time: 4588832.570] [Inter: 1.0] [Ctxt: 314463] [Life: +0/-0] [IRQ: 26606] [Core: 4] [Task: 498/625] [Load: 0/0/0] [RAM: 125.7G] [Swap: 4.0G]
[Cycle: 8.3G / Inst: 5.7G / IPC: 0.69 / CacheMiss : 13.7M(23%) / BrcMiss: 25.7M(1%) / Clk: 38.7G / MinFlt: 358 / MajFlt: 0]
==========================================================================================================================================================
ID | CPU(Usr/Ker/Blk/IRQ)|MemAvl( Per/ User/Cache/Kern)| Swap( Per/ In/Out)| PgRclm | BlkRW | NrFlt | PrBlk | NrSIRQ | PgMlk | PgDirt | Network |
----------------------------------------------------------------------------------------------------------------------------------------------------------
Total | 10 %( 1 / 6 / 0 / 0 )|124649( 96/ 453/ 5690/1787)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 15889 | 4616 | 20 | 2K/0 |
----------------------------------------------------------------------------------------------------------------------------------------------------------
CPU [##### ] MEM [### ] SWAP [ ]|
----------------------------------------------------------------------------------------------------------------------------------------------------------
Core/0 |100 %(66 /34 / 0 / 0 )|###################################################################| powersave | 0-0 | 24 C | 2874 Mhz [1171-3515]|
Core/1 | 7 %( 0 / 6 / 0 / 0 )|#### | powersave | 0-1 | 22 C | 2307 Mhz [1171-3515]|
Core/2 | 0 %( 0 / 0 / 0 / 0 )| | powersave | 0-2 | 23 C | 2165 Mhz [1171-3515]|
Core/3 | 0 %( 0 / 0 / 0 / 0 )| | powersave | 0-3 | 22 C | 2170 Mhz [1171-3515]|
==========================================================================================================================================================
Process ( PID/ PPID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS( RSS/Txt/Shr/Swp)| Blk( RD/ WR/NrFlt)| SID | USER | FD | LifeTime| Parent |
----------------------------------------------------------------------------------------------------------------------------------------------------------
screen ( 2451/ 1/ 1/C 0)| 100( 66/ 34/ 0)| 11( 6/ 0/ 2/ 0)| 0( -/ -/ 0)| 2451|peacel| 64|53d:00:22| systemd(1)|
yes (1341199/1340350/ 1/C 0)| 99( 0/ 99/ 0)| 5( 0/ 0/ 0/ 0)| 0( -/ -/ 0)| 2452|peacel| 64| 00:00:03| vi(1340350)|
kworker/u80: (1341030/ 2/ 1/C 0)| 90( 0/ 90/ 0)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| root| 64| 00:15:46| kthreadd(2)|
kworker/u80: (1340705/ 2/ 1/C 0)| 26( 0/ 26/ 0)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| root| 64| 02:04:59| kthreadd(2)|
kworker/u80: (1340966/ 2/ 1/C 0)| 21( 0/ 21/ 0)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| root| 64| 00:20:56| kthreadd(2)|
[ TOTAL ]| 344.0( 72/ 271)|RSS: 1G / Swp: 0)| 0.0( -/ -/ 0)| Yld: -| Prmt: -| Task: 498|
----------------------------------------------------------------------------------------------------------------------------------------------------------
[Z]bash ( 820918/ 820917/ 1/C 0)| 0( 0/ 0/ -)| 0( 0/ 0/ 0/ -)| 0( -/ -/ 0)| -| -| -| 3d:06:10| tmux: server(820917)|
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
$ python3 guider/guider.py top -R 5 -o
$ cat guider.out
[Top Summary Info]
==========================================================================================================================================================
IDX | Interval | CPU | Avl/User/Cache | BlkRW | Blk | SWAP | NrPgRclm | NrFlt | NrCtx | NrIRQ | NrTask | Core | Network |
==========================================================================================================================================================
1 | START - 497231.500 | 98 | 124442/962/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 631 | 10660 | 482/701 | 40 | 2K/156 |
2 | 497231.500 - 497232.520 | 98 | 124440/963/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 646 | 10506 | 482/701 | 40 | 1K/104 |
3 | 497232.520 - 497233.540 | 98 | 124440/964/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 741 | 10562 | 482/701 | 40 | 2K/104 |
4 | 497233.540 - 497234.570 | 98 | 124440/964/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 629 | 10489 | 482/701 | 40 | 1K/104 |
5 | 497234.570 - 497235.590 | 98 | 124440/964/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 699 | 10602 | 482/701 | 40 | 2K/208 |
----------------------------------------------------------------------------------------------------------------------------------------------------------
[Top CPU Info] (Unit: %)
==========================================================================================================================================================
COMM ( PID / PPID / Nr / Pri)| Min/Avg/Max | 1 2 3 4 5
==========================================================================================================================================================
[CPU] ( -/ -/ -/ -)| 98/98.0/98 | 98 98 98 98 98
----------------------------------------------------------------------------------------------------------------------------------------------------------
FahCore_a8 ( 55469/ 55465/ 41/C 19)| 384/387.0/389| 384 3898 3898 3860 3883
----------------------------------------------------------------------------------------------------------------------------------------------------------
guider ( 55767/ 9591/ 1/C 0)| 1/1.6/3 | 1 1 2 3 1
----------------------------------------------------------------------------------------------------------------------------------------------------------
[Top RSS Info] (Unit: MB)
==========================================================================================================================================================
COMM ( PID / PPID / Nr / Pri)| Max | 1 2 3 4 5
==========================================================================================================================================================
[FREE/MIN] ( -/ -/ -/ -)|124440 | 124442 124440 124440 124440 124440
----------------------------------------------------------------------------------------------------------------------------------------------------------
FahCore_a8 ( 55469/ 55465/ 41/C 19)| 548 | 548 548 548 548 548
----------------------------------------------------------------------------------------------------------------------------------------------------------
guider ( 55767/ 9591/ 1/C 0)| 34 | 33 34 34 34 34
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
$ python3 guider/guider.py ttop
[Top Info] [Time: 194025.590] [Interval: 1.0] [Ctxt: 4995] [Life: +0/-0] [OOM: 0] [IRQ: 1879] [Core: 8] [Task: 333/1188] [Load: 3.1/1.9/0.9] [RAM: 62.8G]
==========================================================================================================================================================
ID | CPU(Usr/Ker/Blk/IRQ)| Avl(Diff/ User/Cache/Kern)| Swap(Diff/ In/Out)| PgRclm | BlkRW | NrFlt | PrBlk | NrSIRQ | PgMlk | PgDrt | Network |
----------------------------------------------------------------------------------------------------------------------------------------------------------
Total | 3 %( 1 / 0 /23 / 0 )|59874( -3/ 3110/15153/ 355)| 0( 0/ 0/ 0)| 0/0 | 0/5 | 0 | 2 | 313 | 1607 | 939290 | 0/0 |
==========================================================================================================================================================
Thread ( TID/ PID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS(RSS/Txt/Shr/Swp)| Blk( RD/ WR/NrFlt)| Yld | Prmt | FD | LifeTime| Process |
----------------------------------------------------------------------------------------------------------------------------------------------------------
guider ( 8160/ 8160/ 1/C 0)| 3( 2/ 0/ 0)| 66( 33/ 2/ 6/ 0)| 0( -/ -/ 0)| 1| 0|2048| 00:00:02| guider(8160)|
gnome-terminal- ( 4864/ 4864/ 4/C 0)| 1( 0/ 0/ -)| 627( 57/ 0/ 40/ 0)| 0( -/ -/ 0)| -| -| 128| 2d:05:52|gnome-terminal-(4864)|
Xorg ( 1525/ 1525/ 2/C 0)| 1( 0/ 0/ -)| 431( 84/ 0/ 48/ 0)| 0( -/ -/ 0)| -| -| 128| 2d:05:53| Xorg(1525)|
[ TOTAL ]| 5( 2/ 0)|RSS: 174M / Swp: 0)| 0.0( -/ -/ 0)| Yld: 1| Prmt: 0| Task: 3|
----------------------------------------------------------------------------------------------------------------------------------------------------------
[D]kworker/u16:0 ( 7784/ 7784/ 1/C 0)| 0( 0/ 0/ -)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| -| -| 00:07:07| -|
[D]pool ( 8024/ 2450/ 13/C 0)| 0( 0/ 0/ -)| 1025( 82/ 1/ -/ -)| 0( -/ -/ 0)| -| -| -| 00:04:31| -|
[D]usb-storage ( 7825/ 7825/ 1/C 0)| 0( 0/ 0/ -)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| -| -| 00:06:38| -|
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py utop -g yes -H
[Top Usercall Info] [Time: 82094.260000] [Interval: 1.001784] [NrSamples: 955] [yes(7202): 28%(Usr/27%+Sys/0%)] [SampleTime: 0.000100]
==========================================================================================================================================================
Usage | Function [Path]
==========================================================================================================================================================
35.6% | _IO_file_xsputn@GLIBC_2.17 [/lib/libc-2.24.so]
100.0% | <- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils] <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]
----------------------------------------------------------------------------------------------------------------------------------------------------------
17.8% | fputs_unlocked@GLIBC_2.17 [/lib/libc-2.24.so]
100.0% | <- ??[/usr/bin/yes.coreutils] <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]
----------------------------------------------------------------------------------------------------------------------------------------------------------
16.1% | __libc_start_main@GLIBC_2.17 [/lib/libc-2.24.so]
----------------------------------------------------------------------------------------------------------------------------------------------------------
14.7% | memcpy@GLIBC_2.17 [/lib/libc-2.24.so]
100.0% | <- _IO_file_xsputn@GLIBC_2.17[/lib/libc-2.24.so] <- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils]
<- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]
----------------------------------------------------------------------------------------------------------------------------------------------------------
12.3% | strlen@GLIBC_2.17 [/lib/libc-2.24.so]
100.0% | <- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils] <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]
----------------------------------------------------------------------------------------------------------------------------------------------------------
3.0% | _IO_file_write@GLIBC_2.17 [/lib/libc-2.24.so]
100.0% | <- ??[/lib/libc-2.24.so] <- _IO_do_write@GLIBC_2.17[/lib/libc-2.24.so] <- _IO_file_xsputn@GLIBC_2.17[/lib/libc-2.24.so]
<- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils]
<- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py utop -g node -H -q JITSYM
[Top Usercall Info] [Time: 7249986.900] [Interval: 1.015] [Samples: 442] [SYS: 2%/120G] [node(1068318): 50%(U46%+S3%)/897M] [guider(1068338): 53%/256M] [Freq:
==========================================================================================================================================================
Usage | Function [PATH] <Sample>
==========================================================================================================================================================
18.6% | write@GLIBC_2.28 [/usr/lib/x86_64-linux-gnu/libpthread-2.31.so] <Cnt: 82>
100.0% | <- 0x13250[/usr/lib/x86_64-linux-gnu/libuv.so.1.0.0] <- uv_fs_write[/usr/lib/x86_64-linux-gnu/libuv.so.1.0.0]
<- 0x573090[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- JIT[JIT] <- LazyCompile:*writeSync fs.js:551[JIT]
<- Builtin:ArgumentsAdaptorTrampoline[JIT] <- LazyCompile:*writeOrBuffer _stream_writable.js:365[JIT]
<- LazyCompile:*log console.js:199[JIT] <- Builtin:ArgumentsAdaptorTrampoline[JIT] <- Builtin:JSEntryTrampoline[JIT] <- JIT[JIT]
<- 0xab0110[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- 0xab0720[/usr/lib/x86_64-linux-gnu/libnode.so.64]
<- v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::O
<- v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]
<- 0x630d40[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- JIT[JIT] <- LazyCompile:* /home/peacelee/test/test.js:1[JIT]
<- Builtin:InterpreterEntryTrampoline[JIT] <- Builtin:JSEntryTrampoline[JIT] * 8 <- JIT[JIT]
<- 0xab0110[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- 0xab0720[/usr/lib/x86_64-linux-gnu/libnode.so.64]
<- v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::O
<- v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]
<- 0x52cae0[/usr/lib/x86_64-linux-gnu/libnode.so.64]
<- node::LoadEnvironment(node::Environment*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]
<- node::Start(v8::Isolate*, node::IsolateData*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char
<- node::Start(int, char**)[/usr/lib/x86_64-linux-gnu/libnode.so.64] <Cnt: 82>
----------------------------------------------------------------------------------------------------------------------------------------------------------
3.8% | LazyCompile:*writeOrBuffer _stream_writable.js:365 [JIT] <Cnt: 17>
64.7% | <- LazyCompile:*log console.js:199[JIT] <- Builtin:ArgumentsAdaptorTrampoline[JIT] <- Builtin:JSEntryTrampoline[JIT] <- JIT[JIT]
<- 0xab0110[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- 0xab0720[/usr/lib/x86_64-linux-gnu/libnode.so.64]
<- v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::O
<- v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]
<- 0x630d40[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- JIT[JIT] <- LazyCompile:* /home/peacelee/test/test.js:1[JIT]
<- Builtin:InterpreterEntryTrampoline[JIT] <- Builtin:JSEntryTrampoline[JIT] * 8 <- JIT[JIT]
<- 0xab0110[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- 0xab0720[/usr/lib/x86_64-linux-gnu/libnode.so.64]
<- v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::O
<- v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]
<- 0x52cae0[/usr/lib/x86_64-linux-gnu/libnode.so.64]
<- node::LoadEnvironment(node::Environment*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]
<- node::Start(v8::Isolate*, node::IsolateData*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char
<- node::Start(int, char**)[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- main[/usr/bin/node]
<- __libc_start_main@GLIBC_2.2.5[/usr/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 11>
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py systop -g yes -H
[Top Syscall Info] [Time: 82043.230000] [Interval: 1.000940] [NrSamples: 634] [yes(7202): 5%(Usr/4%+Sys/0%)]
==========================================================================================================================================================
Usage | Function [Count]
==========================================================================================================================================================
100.0% | write [Cnt: 634, Tot: 0.830203, Avg: 0.001309, Max: 0.005875, Err: 0]
100.0% | <- ??[/lib/libc-2.24.so] <- _IO_file_write@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/lib/libc-2.24.so]
<- _IO_do_write@GLIBC_2.17[/lib/libc-2.24.so] <- _IO_file_xsputn@GLIBC_2.17[/lib/libc-2.24.so]
<- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils]
<- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py btop -g a.out -H
[Top Breakcall Info] [Time: 4542869.660] [Interval: 1.001] [NrSamples: 994] [a.out(1219772): 7%(Usr/0%+Sys/6%)] [guider(1219775): 97%]
==========================================================================================================================================================
Usage | Function [PATH] <Interval>
==========================================================================================================================================================
16.7% | __mempcpy_sse2_unaligned_erms [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 166, Avg: 0.005994, Min: 0.002999, Max: 0.012299]
100.0% | <- _IO_new_file_xsputn[/lib/x86_64-linux-gnu/libc-2.31.so] <- __vfprintf_internal[/lib/x86_64-linux-gnu/libc-2.31.so]
<- printf[/lib/x86_64-linux-gnu/libc-2.31.so]
<- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd
<- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]
<- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]
----------------------------------------------------------------------------------------------------------------------------------------------------------
16.7% | _IO_new_file_xsputn [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 166, Avg: 0.005997, Min: 0.002988, Max: 0.012302]
100.0% | <- __vfprintf_internal[/lib/x86_64-linux-gnu/libc-2.31.so] <- printf[/lib/x86_64-linux-gnu/libc-2.31.so]
<- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd
<- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]
<- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]
----------------------------------------------------------------------------------------------------------------------------------------------------------
11.2% | __strchrnul_sse2 [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 111, Avg: 0.008974, Min: 0.006034, Max: 0.012381]
100.0% | <- __vfprintf_internal[/lib/x86_64-linux-gnu/libc-2.31.so] <- printf[/lib/x86_64-linux-gnu/libc-2.31.so]
<- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd
<- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]
<- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]
----------------------------------------------------------------------------------------------------------------------------------------------------------
5.5% | close@GLIBC_2.4 [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 55, Avg: 0.017763, Min: 0.017895, Max: 0.018863]
100.0% | <- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd
<- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]
<- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]
----------------------------------------------------------------------------------------------------------------------------------------------------------
5.5% | __vfprintf_internal [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 55, Avg: 0.017764, Min: 0.017838, Max: 0.018741]
100.0% | <- printf[/lib/x86_64-linux-gnu/libc-2.31.so]
<- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd
<- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]
<- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]
----------------------------------------------------------------------------------------------------------------------------------------------------------
5.5% | _IO_file_overflow@GLIBC_2.2.5 [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 55, Avg: 0.017764, Min: 0.017924, Max: 0.018732]
100.0% | <- _IO_new_file_xsputn[/lib/x86_64-linux-gnu/libc-2.31.so] <- __vfprintf_internal[/lib/x86_64-linux-gnu/libc-2.31.so]
<- printf[/lib/x86_64-linux-gnu/libc-2.31.so]
<- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd
<- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]
<- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py pytop -g iotop -H
[Top Pycall Info] [Time: 7469667.000] [Interval: 1.003] [NrSamples: 283] [iotop(2943070): 13%(Usr/10%+Sys/2%)] [guider(2943073): 53%] [SampleRate: 0.001]
==========================================================================================================================================================
Usage | Function [PATH] <Sample>
==========================================================================================================================================================
56.9% | WAIT(poll@GLIBC_2.2.5) [/usr/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 161>
100.0% | <- run[/usr/lib/python3/dist-packages/iotop/ui.py] <- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py]
<- wrapper[/usr/lib/python3.8/curses/__init__.py] <- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py]
<- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py] <- main[/usr/lib/python3/dist-packages/iotop/ui.py]
<- <module>[/usr/sbin/iotop] <Cnt: 161>
----------------------------------------------------------------------------------------------------------------------------------------------------------
10.2% | parse_proc_pid_status [/usr/lib/python3/dist-packages/iotop/data.py] <Cnt: 29>
100.0% | <- get_cmdline[/usr/lib/python3/dist-packages/iotop/data.py] <- format[/usr/lib/python3/dist-packages/iotop/ui.py]
<- get_data[/usr/lib/python3/dist-packages/iotop/ui.py] <- refresh_display[/usr/lib/python3/dist-packages/iotop/ui.py]
<- run[/usr/lib/python3/dist-packages/iotop/ui.py] <- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py]
<- wrapper[/usr/lib/python3.8/curses/__init__.py] <- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py]
<- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py] <- main[/usr/lib/python3/dist-packages/iotop/ui.py]
<- <module>[/usr/sbin/iotop] <Cnt: 29>
----------------------------------------------------------------------------------------------------------------------------------------------------------
4.6% | read@GLIBC_2.26 [/usr/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 13>
76.9% | <- parse_proc_pid_status[/usr/lib/python3/dist-packages/iotop/data.py] <- get_cmdline[/usr/lib/python3/dist-packages/iotop/data.py]
<- format[/usr/lib/python3/dist-packages/iotop/ui.py] <- get_data[/usr/lib/python3/dist-packages/iotop/ui.py]
<- refresh_display[/usr/lib/python3/dist-packages/iotop/ui.py] <- run[/usr/lib/python3/dist-packages/iotop/ui.py]
<- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py] <- wrapper[/usr/lib/python3.8/curses/__init__.py]
<- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py] <- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py]
<- main[/usr/lib/python3/dist-packages/iotop/ui.py] <- <module>[/usr/sbin/iotop] <Cnt: 10>
23.1% | <- get_cmdline[/usr/lib/python3/dist-packages/iotop/data.py] <- format[/usr/lib/python3/dist-packages/iotop/ui.py]
<- get_data[/usr/lib/python3/dist-packages/iotop/ui.py] <- refresh_display[/usr/lib/python3/dist-packages/iotop/ui.py]
<- run[/usr/lib/python3/dist-packages/iotop/ui.py] <- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py]
<- wrapper[/usr/lib/python3.8/curses/__init__.py] <- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py]
<- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py] <- main[/usr/lib/python3/dist-packages/iotop/ui.py]
<- <module>[/usr/sbin/iotop] <Cnt: 3>
----------------------------------------------------------------------------------------------------------------------------------------------------------
4.2% | format [/usr/lib/python3/dist-packages/iotop/ui.py] <Cnt: 12>
100.0% | <- get_data[/usr/lib/python3/dist-packages/iotop/ui.py] <- refresh_display[/usr/lib/python3/dist-packages/iotop/ui.py]
<- run[/usr/lib/python3/dist-packages/iotop/ui.py] <- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py]
<- wrapper[/usr/lib/python3.8/curses/__init__.py] <- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py]
<- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py] <- main[/usr/lib/python3/dist-packages/iotop/ui.py]
<- <module>[/usr/sbin/iotop] <Cnt: 12>
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py ftop -g nginx
[Top File Info] [Time: 497555.620] [Proc: 41] [FD: 2,047] [File: 87] [CPU: 95%(Usr:54%/Sys:41%)] (Unit: %/MB/NR)
==========================================================================================================================================================
Process ( ID / Pid / Nr / Pri)| FD | Path |
----------------------------------------------------------------------------------------------------------------------------------------------------------
nginx ( 1348/ 1333/ 1/C 0)| 49| SOCKET: 42 NORMAL: 3 DEVICE: 2 EVENT: 2 PIPE: 0 PROC: 0 |
| 49| /var/log/nginx/error.log (0, O_WRONLY|O_APPEND|O_CLOEXEC) |
| 48| socket:[32124] |
| 37| socket:[32102] |
| 36| anon_inode:[eventfd] |
| 35| anon_inode:[eventpoll] |
| 34| socket:[32073] |
| 8| socket:[32074] |
| 7| socket:[20935] |
| 6| socket:[20934] (TCP:0.0.0.0:80/LISTEN) |
| 5| /var/log/nginx/access.log (0, O_WRONLY|O_APPEND|O_CLOEXEC) |
| 3| socket:[32046] |
| 2| /var/log/nginx/error.log (0, O_WRONLY) |
| 1| /dev/null (0, O_RDWR) |
| 0| /dev/null (0, O_RDWR) |
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py stacktop -g syslog
[Top Info] [Time: 7176163.830] [Interval: 1.0] [Ctxt: 2914] [Life: +13/-12] [IRQ: 5103] [Core: 24] [Task: 328/435] [RAM: 63876] [Swap: 65491] (Unit: %/MB/NR)
[Cycle: 2G / Inst: 3G / IPC: 1.34 / CacheMiss: 6M(34%) / BranchMiss: 4M(0%) / Clock: 23G / MinFlt: 53,257 / MajFlt: 0]
==========================================================================================================================================================
ID | CPU (Usr/Ker/Blk/IRQ)| Mem (Diff/ User/Cache/Kern)| Swap (Diff/ I/O )|NrPgRclm | BlkRW | NrFlt | NrBlk | NrSIRQ | NrMlk | NrDrt | Network |
----------------------------------------------------------------------------------------------------------------------------------------------------------
Total | 6 %( 3 / 1 / 0 / 0 )| 4913(-204/ 974/56824/1165)| 0 ( 0 / 0/0 )| 0/0 | 0/42 | 0 | 0 | 3713 | 0 | 90901 | 2K/13K |
==========================================================================================================================================================
Thread ( TID/ PID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| Mem(RSS/Txt/Shr/Swp)| Blk( RD / WR /NrFlt)| Yld | Prmt | FD | LifeTime| WaitChannel |
----------------------------------------------------------------------------------------------------------------------------------------------------------
rsyslogd ( 2702/ 2702/ 4/C 0)| 0( 0/ 0/ -)| 244( 5/ 0/ 2/ 0)| 0( -/ -/ 0)| 0| 0| 64| 1K:22:40|poll_schedule_timeout|
100% | poll_schedule_timeout+0x43/0x70 <- do_select+0x711/0x7f0 <- core_sys_select+0x196/0x280 <-
SyS_select+0xa6/0xe0 <- entry_SYSCALL_64_fastpath+0x1a/0xa5
----------------------------------------------------------------------------------------------------------------------------------------------------------
rsyslogd ( 2779/ 2702/ 4/C 0)| 0( 0/ 0/ -)| 244( 5/ 0/ 2/ 0)| 0( -/ -/ 0)| 0| 0| 64| 1K:22:40|poll_schedule_timeout|
100% | poll_schedule_timeout+0x43/0x70 <- do_select+0x711/0x7f0 <- core_sys_select+0x196/0x280 <-
SyS_select+0xa6/0xe0 <- entry_SYSCALL_64_fastpath+0x1a/0xa5
----------------------------------------------------------------------------------------------------------------------------------------------------------
rsyslogd ( 2780/ 2702/ 4/C 0)| 0( 0/ 0/ 0)| 244( 5/ 0/ 2/ 0)| 0( -/ -/ 0)| 116| 0| 64| 1K:22:40| do_syslog |
99% | do_syslog+0x446/0x4c0 <- kmsg_read+0x3f/0x50 <- proc_reg_read+0x3d/0x60 <- __vfs_read+0x23/0x110 <-
vfs_read+0x91/0x130 <- SyS_read+0x41/0xa0 <- entry_SYSCALL_64_fastpath+0x1a/0xa5
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py ptop -g yes
[Top Info] [Time: 7181955.420] [Interval: 1.0] [Ctxt: 121] [Life: +0/-0] [IRQ: 1947] [Core: 24] [Task: 317/424] [RAM: 63876] [Swap: 65491] (Unit: %/MB/NR)
==========================================================================================================================================================
ID | CPU (Usr/Ker/Blk/IRQ)| Mem (Diff/ User/Cache/Kern)| Swap (Diff/ I/O )|NrPgRclm | BlkRW | NrFlt | NrBlk | NrSIRQ | NrMlk | NrDrt | Network |
----------------------------------------------------------------------------------------------------------------------------------------------------------
Total | 5 %( 4 / 0 / 0 / 0 )| 3783( 0/ 875/58078/1140)| 0 ( 0 / 0/0 )| 0/0 | 0/0 | 0 | 0 | 2023 | 0 | 0 | 1K/3K |
==========================================================================================================================================================
Process ( PID/ PPID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| Mem(RSS/Txt/Shr/Swp)| Blk( RD / WR /NrFlt)| Yld | Prmt | FD | LifeTime| WaitChannel |
----------------------------------------------------------------------------------------------------------------------------------------------------------
yes (22371/ 9085/ 1/R 90)| 99( 99/ 0/ 0)| 8( 0/ 0/ 0/ 0)| 0( -/ -/ 0)| 0| 0| 256| 1:34:11| RUNNING |
| [Cycle: 2G / Inst: 6G / IPC: 2.82 / CacheMiss: 11K(98%) / BranchMiss: 26K(0%) / Clock: 972M / MinFlt: 0 / MajFlt: 0]
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py mtop
[Top Info] [Time: 92097.250] [Inter: 1.0] [Ctxt: 41] [Life: +0/-0] [IRQ: 6] [Core: 8] [Task: 49/77] [Load: 0/0/0] [RAM: 3.7G] [Swap: 1.0G] [Bat: 99%/08:43:
[SYSTEM > Active: 490.2M, Active(anon): 3.8M, Active(file): 486.4M, AnonHugePages: 46.0M, AnonPages: 139.8M
Buffers: 127.7M, Cached: 698.4M, CommitLimit: 2.9G, Committed_AS: 675.7M, DirectMap1G: 8.0G
DirectMap2M: 3.8G, DirectMap4k: 101.0M, Dirty: 88.0K, Hugepagesize: 2.0M, Inactive: 483.1M
Inactive(anon): 159.6M, Inactive(file): 323.5M, KReclaimable: 66.2M, KernelStack: 3.6M, Mapped: 99.9M
MemAvailable: 3.1G, MemFree: 2.4G, MemTotal: 3.7G, PageTables: 3.5M, Percpu: 3.9M
SReclaimable: 66.2M, SUnreclaim: 49.3M, Shmem: 16.2M, Slab: 115.5M, SwapFree: 1.0G
SwapTotal: 1.0G, VmallocTotal: 32.0T, VmallocUsed: 24.7M]
[BUDDY > DMA: 0_0_0_0_0_0_0_0_0_1_3 / DMA32: 1,721_922_562_1,003_698_425_265_98_13_15_543 / Normal: 7_4_2_2_1_0_0_1_0_0_0]
[KSM > full_scans: 0, max_page_sharing: 256, pages_shared: 0, pages_sharing: 0, pages_to_scan: 100, pages_total: 0, pages_unshared: 0
pages_volatile: 0, run: 0, sleep_millisecs: 20, stable_node_chains: 0, stable_node_chains_prune_millisecs: 2,000, stable_node_dups: 0
use_zero_pages: 0]
[VM > swappiness: 60 / cache_pressure: 100 / overcommit: 0]
[N0-DMA > diff: 0 / free: 14.0M / min: 244.0K / low: 304.0K / high: 364.0K / managed: 14.0M / present: 14.6M / spanned: 16.0M]
[N0-DMA32 > diff: -252.0K / free: 2.4G / min: 65.2M / low: 81.5M / high: 97.8M / managed: 3.7G / present: 3.9G / spanned: 4.0G]
[N0-Device > diff: 0 / free: 0 / min: 0 / low: 0 / high: 0 / managed: 0 / present: 0 / spanned: 8.0G]
[N0-Normal > diff: 0 / free: 732.0K / min: 592.0K / low: 740.0K / high: 888.0K / managed: 33.5M / present: 42.0M / spanned: 42.0M]
==========================================================================================================================================================
ID | CPU(Usr/Ker/Blk/IRQ)|MemAvl(Per/ User/ Cache/ Kern)| Swap( Per/ In/Out)| PgRclm | BlkRW | NrFlt |Blk| NrSIRQ | PgMlk | PgDirt | NetIO |
----------------------------------------------------------------------------------------------------------------------------------------------------------
Total | 0 %( 0/ 0/ 0/ 0)| 3143( 18/ 139/ 941/ 259)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 0 | 0 | 22 | 255/52 |
----------------------------------------------------------------------------------------------------------------------------------------------------------
CPU [ ] MEM [####### ] SWAP [ ]|
==========================================================================================================================================================
Process ( PID/PPID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS( RSS/Txt/Shr/Swp)| Blk( RD/ WR/NrFlt)| SID| USER| FD| LifeTime| Parent|
----------------------------------------------------------------------------------------------------------------------------------------------------------
snapd (3094/ 1/ 15/C 0)| 0( 0/ 0/ -)|1722( 43/ 9/ 18/ 0)| 0( -/ -/ 0)| 3094| root| 128| 16:50:57| systemd(1)|
MEM(ANON/73) | VSS: 1.7G / RSS: 23.7M / PSS: 23.7M / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|
MEM(FILE/4) | VSS: 23.7M / RSS: 21.5M / PSS: 19.9M / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|
MEM(HEAP/1) | VSS: 132.0K / RSS: 4.0K / PSS: 4.0K / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|
MEM(OTHER/2) | VSS: 24.0K / RSS: 4.0K / PSS: 0 / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|
MEM(STACK/1) | VSS: 132.0K / RSS: 20.0K / PSS: 20.0K / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|
MEM(SUM) | VmPeak: 1.7G, VmHWM: 54.2M, VmData: 175.5M, HugetlbPages: 0, RssAnon: 24.7M, RssFile: 19.0M, RssShmem: 0 |
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py ntop
[Top Info] [Time: 186473.960] [Interval: 1.0] [Ctxt: 7865] [Life: +0/-0] [OOM: 0] [IRQ: 4229] [Core: 8] [Task: 328/1171] [Load: 0.5/0.3/0.3] [RAM: 62.8G]
==========================================================================================================================================================
ID | CPU(Usr/Ker/Blk/IRQ)| Avl(Diff/ User/Cache/Kern)| Swap(Diff/ In/Out)| PgRclm | BlkRW | NrFlt | PrBlk | NrSIRQ | PgMlk | PgDrt | Network |
----------------------------------------------------------------------------------------------------------------------------------------------------------
Total | 1 %( 0 / 0 / 0 / 0 )|59939( -2/ 3054/ 6429/ 350)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 1661 | 1607 | 343 | 652K/9K |
==========================================================================================================================================================
Network | Receive | Transfer |
----------------------------------------------------------------------------------------------------------------------------------------------------------
Dev | IP | Size | Packet | Error | Drop | Multicast | Size | Packet | Error | Drop | Multicast |
==========================================================================================================================================================
docker0 | 166.104.101.26 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
eno1 | 166.104.101.1 | 665.9K | 475 | 0 | 0 | 1 | 12.0K | 168 | 0 | 0 | 0 |
enx201601190a25 | 166.104.101.27 | 48 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
lo | 127.0.0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
virbr0 | | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
virbr0-nic | | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
[ TOTAL ] | | 666.0K | 476 | 0 | 0 | 1 | 12.0K | 168 | 0 | 0 | 0 |
==========================================================================================================================================================
>>>
# python3 guider/guider.py disktop
[Top Info] [Time: 262411.830] [Inter: 1.0] [Ctxt: 802] [Life: +0/-0] [IRQ: 10675] [Core: 40] [Task: 481/700] [Load: 38/38/38] [RAM: 125.7G] [Swap: 4.0G]
==========================================================================================================================================================
ID | CPU(Usr/Ker/Blk/IRQ)| Avl( Per/ User/Cache/Kern)| Swap( Per/ In/Out)| PgRclm | BlkRW | NrFlt | PrBlk | NrSIRQ | PgMlk | PgDrt | Network |
----------------------------------------------------------------------------------------------------------------------------------------------------------
Total | 98 %(97 / 0 / 0 / 0 )|124431( 96/ 994/ 3531/1733)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 11620 | 4613 | 70 | 1K/0 |
==========================================================================================================================================================
DEV |BUSY| AVQ | READ | WRITE | FREE( DIFF)|USAGE| TOTAL | AVF | FS | MountPoint <Option> |
----------------------------------------------------------------------------------------------------------------------------------------------------------
/dev/sda2 | 0%| 0| 0| 0| 670.6G( 0)| 28%| 937.4G| 57.6M| ext4 | / <rw,relatime> |
/dev/loop4 | 0%| 0| 0| 0| 0( 0)| 100%| 30.0M| 0|squashfs| /snap/snapd/9279 <ro,nodev,relatime> |
/dev/loop5 | 0%| 0| 0| 0| 0( 0)| 100%| 70.0M| 0|squashfs| /snap/lxd/16922 <ro,nodev,relatime> |
/dev/sda1 | 0%| 0| 0| 0| 503.0M( 0)| 1%| 510.0M| 0| vfat | /boot/efi <rw,relatime> |
/dev/loop1 | 0%| 0| 0| 0| 0( 0)| 100%| 55.0M| 0|squashfs| /snap/core18/1885 <ro,nodev,relatime> |
/dev/loop2 | 0%| 0| 0| 0| 0( 0)| 100%| 70.0M| 0|squashfs| /snap/lxd/16894 <ro,nodev,relatime> |
/dev/loop0 | 0%| 0| 0| 0| 0( 0)| 100%| 55.0M| 0|squashfs| /snap/core18/1880 <ro,nodev,relatime> |
/dev/loop3 | 0%| 0| 0| 0| 0( 0)| 100%| 30.0M| 0|squashfs| /snap/snapd/8790 <ro,nodev,relatime> |
/run/snapd/ns | 0%| 0| 0| 0| 12.6G( 0)| 0%| 12.6G| 15.7M| tmpfs | /run/snapd/ns |
/run/user/1004 | 0%| 0| 0| 0| 12.6G( 0)| 0%| 12.6G| 15.7M| tmpfs | /run/user/1004 <rw,nosuid,nodev,relatime> |
/sys/fs/cgroup | 0%| 0| 0| 0| 62.9G( 0)| 0%| 62.9G| 15.7M| tmpfs | /sys/fs/cgroup <ro,nosuid,nodev,noexec> |
/run | 0%| 0| 0| 0| 12.6G( 0)| 0%| 12.6G| 15.7M| tmpfs | /run <rw,nosuid,nodev,noexec,relatime> |
/run/lock | 0%| 0| 0| 0| 5.0M( 0)| 0%| 5.0M| 15.7M| tmpfs | /run/lock <rw,nosuid,nodev,noexec,relatime> |
/dev/shm | 0%| 0| 0| 0| 62.9G( 0)| 0%| 62.9G| 15.7M| tmpfs | /dev/shm <rw,nosuid,nodev> |
==========================================================================================================================================================
>>>
# python3 guider/guider.py wtop -g yes
[Top Info] [Time: 92197.480] [Inter: 1.0] [Ctxt: 72] [Life: +0/-0] [IRQ: 18] [Core: 8] [Task: 49/77] [Load: 0/0/0] [RAM: 3.7G] [Swap: 1.0G] [Bat: 99%/08:43:53/+]
==========================================================================================================================================================
ID | CPU(Usr/Ker/Blk/IRQ)|MemAvl(Per/ User/ Cache/ Kern)| Swap( Per/ In/Out)| PgRclm | BlkRW | NrFlt |Blk| NrSIRQ | PgMlk | PgDirt | NetIO |
----------------------------------------------------------------------------------------------------------------------------------------------------------
Total | 1 %( 0/ 0/ 0/ 0)| 3134( 18/ 140/ 941/ 267)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 0 | 0 | 36 | 0/0 |
----------------------------------------------------------------------------------------------------------------------------------------------------------
CPU [ ] MEM [####### ] SWAP [ ]|
==========================================================================================================================================================
Process ( PID/PPID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS( RSS/Txt/Shr/Swp)| Blk( RD/ WR/NrFlt)| SID| USER| FD| LifeTime| Parent|
----------------------------------------------------------------------------------------------------------------------------------------------------------
snapd (3094/ 1/ 15/C 0)| 0( 0/ 0/ 0)|1722( 43/ 9/ 18/ 0)| 0( -/ -/ 0)| 3094| root| 128| 16:52:37| systemd(1)|
MEM(VSS) | VSS: [ 1.7G] -> 1.7G -> 1.7G -> 1.7G -> 1.7G -> 1.7G -> 1.7G -> 1.7G -> 1.7G
MEM(RSS) | RSS: [ 45.4M] -> 45.4M -> 45.4M -> 45.4M -> 45.4M -> 45.4M -> 45.4M -> 45.4M -> 45.4M
MEM(PSS) | PSS: [ 43.8M] -> 43.8M -> 43.8M -> 43.8M -> 43.8M -> 43.8M -> 43.8M -> 43.8M -> 43.8M
MEM(USS) | USS: [ 43.7M] -> 43.7M -> 43.7M -> 43.7M -> 43.7M -> 43.7M -> 43.7M -> 43.7M -> 43.7M
MEM(WSS) | WSS: [ 1.7M] -> 0 -> 12.7M -> 12.7M -> 12.7M -> 12.7M -> 12.7M -> 12.7M -> 12.7M
MEM(ANON/73) | VSS: 1.7G / RSS: 23.9M / PSS: 23.9M / SWAP: 0 / HUGE: 16M / LOCK: 0 / SDRT: 0 / PDRT: 23.9M|
| WSS: [ 0] -> 0 -> 12.2M -> 12.2M -> 12.2M -> 12.2M -> 12.2M -> 12.2M -> 12.2M
MEM(FILE/4) | VSS: 23.7M / RSS: 21.5M / PSS: 19.9M / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 1.9M|
| WSS: [ 1.7M] -> 0 -> 436.0K -> 436.0K -> 436.0K -> 436.0K -> 436.0K -> 436.0K -> 436.0K
MEM(HEAP/1) | VSS: 132.0K / RSS: 4.0K / PSS: 4.0K / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 4.0K|
| WSS: [ 0] -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0
MEM(OTHER/2) | VSS: 24.0K / RSS: 4.0K / PSS: 0 / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|
| WSS: [ 4.0K] -> 0 -> 4.0K -> 4.0K -> 4.0K -> 4.0K -> 4.0K -> 4.0K -> 4.0K
MEM(STACK/1) | VSS: 132.0K / RSS: 20.0K / PSS: 20.0K / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 20.0K|
| WSS: [ 0] -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0
MEM(SUM) | VmPeak: 1.7G, VmHWM: 54.2M, VmData: 175.5M, HugetlbPages: 0, RssAnon: 24.7M, RssFile: 19.0M, RssShmem: 0 |
----------------------------------------------------------------------------------------------------------------------------------------------------------
[ TOTAL ]| 0.0( 0/ 0)| RSS: 43.0M|Swp: 0| 0( -/ -/ 0)| Yld: -| Prmt: -| Task: 1|
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py btrace -g a.out -H
_start/0x55e321d151ee [/home/peacelee/test/a.out]
__libc_start_main/0x7ffb520af0b3 [/lib/x86_64-linux-gnu/libc-2.31.so]
main/0x55e321d15478 [/home/peacelee/test/a.out]
printPeace/0x55e321d15451 [/home/peacelee/test/a.out]
printPeace2/0x55e321d15392 [/home/peacelee/test/a.out]
asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfas/0x55e321d152e2 [/home/peacelee/test/a.out]
0.000384 read@GLIBC_2.26/0x7ffb52199130(-0x1,0x0,0x0,0x0,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000391 close@GLIBC_2.4/0x7ffb52199970(-0x1,0x0,0xffffffffffffff80,0x0,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000398 printf/0x7ffb520ece10(0x55e321d1600a,0x9,0xffffffffffffff80,0x0,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000405 __vfprintf_internal/0x7ffb521019e0(0x7ffb522746a0,0x55e321d1600a,0x7fff41688b40,0x55e321d1600a,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000412 __strchrnul_sse2/0x7ffb5213c820(0x55e321d1600a,0x25,0x7fff41688b40,0x55e321d1600a,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000420 _IO_new_file_xsputn/0x7ffb5211a750(0x7ffb522746a0,0x55e321d1600a,0x3,0x55e321d1600a,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000426 __mempcpy_sse2_unaligned_erms/0x7ffb52146d00(0x55e322290330,0x55e321d1600a,0x3,0x55e321d1600a,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000432 _itoa_word/0x7ffb520e6760(0x9,0x7fff41688af8,0xa,0x55e321d1600e,-0x1,0x3) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000439 _IO_new_file_xsputn/0x7ffb5211a750(0x7ffb522746a0,0x7fff41688af7,0x1,0x55e321d1600e,0x0,0x3) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000446 __mempcpy_sse2_unaligned_erms/0x7ffb52146d00(0x55e322290333,0x7fff41688af7,0x1,0x55e321d1600e,0x0,0x3) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000452 __strchrnul_sse2/0x7ffb5213c820(0x55e321d1600f,0x25,0x1,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000458 _IO_new_file_xsputn/0x7ffb5211a750(0x7ffb522746a0,0x55e321d1600f,0x1,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000464 __mempcpy_sse2_unaligned_erms/0x7ffb52146d00(0x55e322290334,0x55e321d1600f,0x1,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000471 _IO_file_overflow@GLIBC_2.2.5/0x7ffb5211bf00(0x7ffb522746a0,-0x1,0xc00,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000480 _IO_do_write@GLIBC_2.2.5/0x7ffb5211ba20(0x7ffb522746a0,0x55e322290330,0x5,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000486 _IO_file_write@GLIBC_2.2.5/0x7ffb52119fe0(0x7ffb522746a0,0x55e322290330,0x5,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.000493 write@GLIBC_2.2.5/0x7ffb521991d0(0x1,0x55e322290330,0x5,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]
>>>
# python3 guider/guider.py btrace -g yes -H -c "*|getret"
0.532473 0x2cf0/0x560d7fd28cf0(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]
0.532488 0x4c40/0x560d7fd2ac40(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]
0.532501 write@GLIBC_2.2.5/0x7faab22f1040(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.532516 write@GLIBC_2.2.5[RET]=0x2000(8192)/0.000015 -> 0x4c40/0x560d7fd26000 [/usr/bin/yes]
0.532557 0x4c40[RET]=0x2000(8192)/0.000069 -> 0x2cf0/0x560d7fd26000 [/usr/bin/yes]
0.532618 0x2cf0[RET]=0x2000(8192)/0.000145 -> 0x2580/0x560d7fd26000 [/usr/bin/yes]
0.532678 0x2cf0/0x560d7fd28cf0(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]
0.532691 0x4c40/0x560d7fd2ac40(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]
0.532706 write@GLIBC_2.2.5/0x7faab22f1040(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.532721 write@GLIBC_2.2.5[RET]=0x2000(8192)/0.000015 -> 0x4c40/0x560d7fd26000 [/usr/bin/yes]
0.532798 0x4c40[RET]=0x2000(8192)/0.000107 -> 0x2cf0/0x560d7fd26000 [/usr/bin/yes]
0.532881 0x2cf0[RET]=0x2000(8192)/0.000204 -> 0x2580/0x560d7fd26000 [/usr/bin/yes]
0.532946 0x2cf0/0x560d7fd28cf0(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]
0.532961 0x4c40/0x560d7fd2ac40(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]
0.532975 write@GLIBC_2.2.5/0x7faab22f1040(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/lib/x86_64-linux-gnu/libc-2.31.so]
0.532990 write@GLIBC_2.2.5[RET]=0x2000(8192)/0.000015 -> 0x4c40/0x560d7fd26000 [/usr/bin/yes]
0.533067 0x4c40[RET]=0x2000(8192)/0.000106 -> 0x2cf0/0x560d7fd26000 [/usr/bin/yes]
0.533194 0x2cf0[RET]=0x2000(8192)/0.000248 -> 0x2580/0x560d7fd26000 [/usr/bin/yes]
>>>
$ python3 guider/guider.py rtop &
$ cat /tmp/guider.report
{
"task": {
"nrThread": 397,
"nrBlocked": 0,
"nrCtx": 4290,
"nrProc": 292
},
"mem": {
"kernel": 1432,
"anonDiff": -1,
"pgRclmFg": 0,
"cache": 35332,
"slabDiff": 0,
"free": 26929,
"anon": 698,
"pgDirty": 28,
"file": 31751,
"freeDiff": -1,
"pgRclmBg": 0,
"total": 64391,
"slab": 3581,
"fileDiff": -1
"procs": {
"1954": {
"text": 0,
"pid": 1954,
"rank": 2,
"comm": "ruby1.9.1",
"runtime": "110:43:32",
"rss": 104
},
},
"storage": {
"total": {
"read": 0,
"mount": {},
"favail": 133443655,
"free": 1141633,
"write": 1,
"usage": 1152423,
"total": 2294056,
"usageper": 50
},
"/dev/sdb1": {
"read": 0,
"mount": {
"path": "/mnt/hdd1",
"fs": "ext4",
"option": "rw,relatime,data=ordered"
},
"favail": 50709466,
"free": 293649,
"write": 0,
"usage": 645251,
"total": 938900,
"usageper": 68
},
},
"system": {
"load5m": 2.38,
"uptime": 4191643.92,
"nrSoftIrq": 7405,
"nrIrq": 7289,
"load15m": 0.84,
"interval": 1.029999999795109,
"pid": 14578,
"load1m": 9.39
},
"event": {
"CPU_INTENSIVE": {
"14592": {
"kernel": 0,
"runtime": "0:0:47",
"pid": 14592,
"rank": 3,
"comm": "yes",
"user": 99,
"total": 100
},
"14593": {
"kernel": 0,
"runtime": "0:0:46",
"pid": 14593,
"rank": 10,
"comm": "yes",
"user": 99,
"total": 100
},
},
"swap": {
"usage": 76,
"total": 65491,
"usageDiff": 0
},
"net": {
"inbound": 1479,
"outbound": 392
},
"cpu": {
"kernel": 0,
"iowait": 0,
"nrCore": 24,
"idle": 8,
"user": 91,
"irq": 0,
"total": 92,
"procs": {
"14592": {
"kernel": 0,
"runtime": "0:0:47",
"pid": 14592,
"rank": 3,
"comm": "yes",
"user": 99,
"total": 100
},
},
"block": {
"read": 0,
"write": 0,
"procs": {},
"nrMajFlt": 0,
"ioWait": 0
}
}
>>>
# python3 guider/guider.py limitcpu -g yes:50 -v
[Info] limited cpu usage of yes(22371) process to 50%, it used 50%
[WARN] <guider(574420)> started 1th guider(574420)
[WARN] <guider(574420)> 1th guider(574420) took 0.421747 seconds to finish one job
>>>
# python3 guider/guider.py sigtrace -g a.out
0.000929 [SIGABRT] {code=SI_TKILL, pid=signal(6858)|addr=0x1aca, uid=root(0), status=0}
[INFO] load /usr/lib/x86_64-linux-gnu/libc.so.6... [done]
[INFO] load /home/iipeace/test/a.out... [done]
==========================================================================================================================================================
Backtrace Info [a.out(6858)<-a.out(6858)]
----------------------------------------------------------------------------------------------------------------------------------------------------------
pthread_kill@GLIBC_2.34+300/0x7f9656bd29fc[/usr/lib/x86_64-linux-gnu/libc.so.6]
gsignal@GLIBC_2.13+22/0x7f9656b7e476[/usr/lib/x86_64-linux-gnu/libc.so.6]
abort@GLIBC_2.2.5+211/0x7f9656b647f3[/usr/lib/x86_64-linux-gnu/libc.so.6]
0x893e0+662/0x7f9656bc5676[/usr/lib/x86_64-linux-gnu/libc.so.6]
__fortify_fail@GLIBC_2.2.5+42/0x7f9656c7259a[/usr/lib/x86_64-linux-gnu/libc.so.6]
__stack_chk_fail+22/0x7f9656c72566[/usr/lib/x86_64-linux-gnu/libc.so.6]
main+64/0x55a53b20e1f5[/home/iipeace/test/a.out]
0x29d10+128/0x7f9656b65d90[/usr/lib/x86_64-linux-gnu/libc.so.6]
__libc_start_main@GLIBC_2.2.5+128/0x7f9656b65e40[/usr/lib/x86_64-linux-gnu/libc.so.6]
[.text]+37/0x55a53b20e0a5[/home/iipeace/test/a.out]
----------------------------------------------------------------------------------------------------------------------------------------------------------
0.001051 +++ exited a.out(6858) with 6(SIGABRT) +++
>>>
# python3 guider/guider.py setsched r:90:yes
[Info] changed the priority of yes(22371) to 90[R]
>>>
# python3 guider/guider.py remote -g a.out -c usercall:write#1#HOOK#4
[usercall] write(7f94ed747140)(1, HOOK, 4) = 0x4(4)
>>>
# python3 guider/guider.py printenv -g systemd
[ systemd(1) ]
-----------------------------------------------------------------------------
HOME=/
init=/sbin/init
NETWORK_SKIP_ENSLAVED=
recovery=
TERM=linux
drop_caps=
BOOT_IMAGE=/boot/vmlinuz-5.3.0-28-generic
PATH=/sbin:/usr/sbin:/bin:/usr/bin
PWD=/
rootmnt=/root
[ systemd(3310) ]
-----------------------------------------------------------------------------
LANG=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
NOTIFY_SOCKET=/run/systemd/notify
HOME=/home/syjung
LOGNAME=syjung
USER=syjung
SHELL=/bin/bash
INVOCATION_ID=bbc56cc8552e4a1d815197e0a6160270
JOURNAL_STREAM=9:10617556
XDG_RUNTIME_DIR=/run/user/1002
[ systemd(7094) ]
-----------------------------------------------------------------------------
LANG=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
NOTIFY_SOCKET=/run/systemd/notify
HOME=/home/peacelee
LOGNAME=peacelee
USER=peacelee
SHELL=/bin/bash
INVOCATION_ID=be65ebdd72964e09a3ac06495261702b
JOURNAL_STREAM=9:31410
XDG_RUNTIME_DIR=/run/user/1004
>>>
# python3 guider/guider.py kill -stop yes
[Info] sent SIGSTOP to yes(10594)
>>>
# python3 guider/guider.py printbind -g yes
[Function Bind Info] [Target: yes(410113)]
==========================================================================================================================================================
Path Type Sym[Bind/Vis] => Link
----------------------------------------------------------------------------------------------------------------------------------------------------------
[/usr/bin/yes]
NOTYPE _ITM_deregisterTMCloneTable@GLIBC_2.2.5[WEAK/DEFAULT] => NONE
NOTYPE _ITM_registerTMCloneTable@GLIBC_2.2.5[WEAK/DEFAULT] => NONE
FUNC __ctype_b_loc@GLIBC_2.2.5[GLOBAL/DEFAULT] => __ctype_b_loc/0x7f474b600400[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x37400]
FUNC __cxa_atexit@GLIBC_2.2.5[GLOBAL/DEFAULT] => __cxa_atexit@GLIBC_2.2.5/0x7f474b612f60[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x49f60]
FUNC __cxa_finalize@GLIBC_2.2.5[WEAK/DEFAULT] => __cxa_finalize@GLIBC_2.2.5/0x7f474b613090[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x4a090]
FUNC __fpending@GLIBC_2.2.5[GLOBAL/DEFAULT] => __fpending@GLIBC_2.2.5/0x7f474b658f80[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x8ff80]
FUNC __fprintf_chk[GLOBAL/DEFAULT] => __fprintf_chk@GLIBC_2.14/0x7f474b6fa110[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x131110]
FUNC __freading@GLIBC_2.2.5[GLOBAL/DEFAULT] => __freading@GLIBC_2.2.5/0x7f474b658e90[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x8fe90]
NOTYPE __gmon_start__@GLIBC_2.14[WEAK/DEFAULT] => NONE
FUNC __libc_start_main@GLIBC_2.2.5[GLOBAL/DEFAULT] => __libc_start_main@GLIBC_2.2.5/0x7f474b5effc0[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x26fc0]
FUNC __printf_chk@GLIBC_2.2.5[GLOBAL/DEFAULT] => __printf_chk@GLIBC_2.2.5/0x7f474b6fa040[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x131040]
FUNC __stack_chk_fail@GLIBC_2.2.5[GLOBAL/DEFAULT] => __stack_chk_fail@GLIBC_2.2.5/0x7f474b6fbb00[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x132b00]
FUNC _exit@GLIBC_2.2.5[GLOBAL/DEFAULT] => _Exit@GLIBC_2.3/0x7f474b6af290[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0xe6290]
FUNC abort@GLIBC_2.2.5[GLOBAL/DEFAULT] => abort@GLIBC_2.2.5/0x7f474b5ee72e[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x2572e]
FUNC bindtextdomain@GLIBC_2.2.5[GLOBAL/DEFAULT] => bindtextdomain@GLIBC_2.2.5/0x7f474b600920[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x37920]
FUNC calloc[GLOBAL/DEFAULT] => calloc@GLIBC_2.2.5/0x7f474b667c90[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x9ec90]
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py rec -a -e m,b
[Thread Info] [ Elapsed: 2.050 ] [ Start: 2849868.198 ] [ Running: 112 ] [ CtxSwc: 3357 ] [ LogSize: 4054 KB ] [ Unit: Sec/MB/NR ]
==========================================================================================================================================================
__________Thread Info___________|_____________CPU Info______________|______SCHED Info______|________BLOCK Info________|_____________MEM Info_____________|
| | | | |
Name( Tid/ Pid)|LF|Usage( %)|Delay( Max)|Pri| IRQ | Yld| Lose|Steal| Mig| Read( MB/ Cnt)|WCnt( MB)| Sum(Usr/Buf/Ker)|Rcl|Wst|DRcl(Nr)|
==========================================================================================================================================================
# CPU: 12
CORE/0(-----/-----)|--| 0.00( 0.1)| 0.00( 0.00)| 0| 0.00| 7| -| -| -| 0.00( 0/ 1)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
CORE/1(-----/-----)|--| 0.00( 0.1)| 0.10( 0.00)| 0| 0.00| 147| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
CORE/2(-----/-----)|--| 0.00( 0.1)| 0.16( 0.00)| 0| 0.00| 211| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
CORE/3(-----/-----)|--| 0.00( 0.1)| 0.11( 0.00)| 0| 0.00| 181| -| -| -| 0.00( 0/ 0)| 32( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
CORE/4(-----/-----)|--| 0.00( 0.1)| 0.11( 0.00)| 0| 0.00| 232| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
CORE/5(-----/-----)|--| 0.30( 14.8)| 0.18( 0.00)| 0| 0.00| 179| -| -| -| 1.26( 6/ 495)| 19( 0)| 61( 57/ 0/ 3)| 0| 0|0.00( 0)|
CORE/6(-----/-----)|--| 0.00( 0.0)| 0.35( 0.00)| 0| 0.00| 57| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
CORE/7(-----/-----)|--| 0.00( 0.0)| 0.60( 0.00)| 0| 0.00| 100| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
CORE/8(-----/-----)|--| 0.00( 0.0)| 0.44( 0.00)| 0| 0.00| 59| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
CORE/9(-----/-----)|--| 0.00( 0.0)| 1.94( 0.00)| 0| 0.00| 37| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
CORE/10(-----/-----)|--| 0.07( 3.4)| 0.00( 0.00)| 0| 0.00| 2| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
CORE/11(-----/-----)|--| 0.00( 0.0)| 2.05( 0.00)| 0| 0.00| 39| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
----------------------------------------------------------------------------------------------------------------------------------------------------------
# Hot: 4
synergyc( 3604/ 3602)| | 0.17( 8.5)| 0.00( 0.00)| 0| 0.00| 3| 14| 3| 0| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
arm-starfish-li(16087/16087)| | 0.13( 6.3)| 0.00( 0.00)| 0| 0.00| 0| 20| 157| 4| 1.26( 6/ 496)| 0( 0)| 61( 57/ 0/ 3)| 0| 0|0.00( 0)|
guider(16088/16088)| | 0.07( 3.4)| 0.00( 0.00)|R90| 0.00| 2| 0| 2| 0| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py iorec -s
# python3 guider/guider.py report -a
[Thread Block Info] (Unit: NR)
==========================================================================================================================================================
ID OPT NrDev TOTAL SEQUENTIAL( %) FS PATH
[ACCESS] COUNT
==========================================================================================================================================================
TOTAL READ 8:3 131.8M 131.3M( 99.6) - /dev/sda3
[ 4.0K - 7.0K] 370
[ 16.0K - 31.0K] 11
[ 32.0K - 63.0K] 6
[ 64.0K - 127.0K] 5
[ 128.0K - 255.0K] 1037
253:0 131.8M 131.3M( 99.6) ext4 / <rw,relatime>
[ 4.0K - 7.0K] 370
[ 16.0K - 31.0K] 11
[ 32.0K - 63.0K] 6
[ 64.0K - 127.0K] 5
[ 128.0K - 255.0K] 1037
WRITE 253:0 40.0K 20.0K( 50.0) ext4 / <rw,relatime>
[ 4.0K - 7.0K] 10
8:3 24.0K 20.0K( 83.3) - /dev/sda3
[ 4.0K - 7.0K] 6
----------------------------------------------------------------------------------------------------------------------------------------------------------
guider(4011197) READ 8:3 100.0M 100.0M(100.0) - /dev/sda3
[ 16.0K - 31.0K] 2
[ 32.0K - 63.0K] 1
[ 64.0K - 127.0K] 1
[ 128.0K - 255.0K] 799
253:0 100.0M 100.0M(100.0) ext4 / <rw,relatime>
[ 16.0K - 31.0K] 2
[ 32.0K - 63.0K] 1
[ 64.0K - 127.0K] 1
[ 128.0K - 255.0K] 799
----------------------------------------------------------------------------------------------------------------------------------------------------------
[Thread FS Info] (Unit: NR)
==========================================================================================================================================================
ID OPT NrDev INODE Size FS PATH
==========================================================================================================================================================
TOTAL WRITE 16.0K
253:0 16.0K ext4 / <rw,relatime>
0 16.0K
READ 131.8M
0:3 1.4M ? ?
0 1.4M
253:0 130.4M ext4 / <rw,relatime>
24520383 100.0M /home/peacelee/guider/guider/TEST2[100.0M]
24520372 20.0M /home/peacelee/guider/guider/TEST[20.0M]
24520353 10.0M /home/peacelee/guider/guider/TEST3[10.0M]
6030383 84.0K
6819964 72.0K
6029790 68.0K
6031485 44.0K
6031543 40.0K
6819797 16.0K
6035523 16.0K
0 16.0K
6818557 4.0K
6818689 4.0K
7078584 4.0K
----------------------------------------------------------------------------------------------------------------------------------------------------------
guider(4011197) READ 100.0M
253:0 100.0M ext4 / <rw,relatime>
24520383 100.0M /home/peacelee/guider/guider/TEST2[100.0M]
----------------------------------------------------------------------------------------------------------------------------------------------------------
guider(4011193) READ 20.0M
253:0 20.0M ext4 / <rw,relatime>
24520372 20.0M /home/peacelee/guider/guider/TEST[20.0M]
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py iorec -s
# python3 guider/guider.py report -q RALIST
# python3 guider/guider.py readahead readahead.list
[INFO] start readahead from '/home/peacelee/guider/guider/readahead.list'
[INFO] changed the CPU scheduling priority for guider(4011281) to 10[C]
[INFO] changed the I/O scheduling priority for guider(4011281) to IOPRIO_CLASS_IDLE(0)[IOPRIO_WHO_PROCESS]
[INFO] finished readahead a total of 130.0M data for 0.002 sec
>>>
# python3 guider/guider.py sysrec
[Thread Syscall Info] (Unit: Sec/NR)
==========================================================================================================================================================
Name( Tid) Syscall( ID) Elapsed Count Error Min Max Avg
==========================================================================================================================================================
arm-linux-gnuea( 3000)
close( 3) 0.039396 69 0 0.000001 0.005353 0.000571
stat( 4) 0.011521 74 0 0.000001 0.009423 0.000156
fchmod( 91) 0.000046 3 0 0.000002 0.000039 0.000015
getpriority(140) 0.000017 33 0 0.000000 0.000001 0.000001
lgetxattr(192) 0.000014 3 0 0.000003 0.000008 0.000005
recvfrom( 45) 0.000004 1 0 0.000004 0.000004 0.000004
----------------------------------------------------------------------------------------------------------------------------------------------------------
guider( 3001)
pause( 34) 0.283474 1 1 0.283474 0.283474 0.283474
select( 23) 0.100122 1 0 0.100122 0.100122 0.100122
write( 1) 0.000234 6 0 0.000031 0.000059 0.000039
open( 2) 0.000084 7 0 0.000007 0.000038 0.000012
ioctl( 16) 0.000009 14 14 0.000001 0.000001 0.000001
fstat( 5) 0.000006 14 0 0.000001 0.000001 0.000000
lseek( 8) 0.000006 21 0 0.000000 0.000001 0.000000
close( 3) 0.000005 7 0 0.000000 0.000001 0.000001
rt_sigaction( 13) 0.000001 1 0 0.000001 0.000001 0.000001
----------------------------------------------------------------------------------------------------------------------------------------------------------
mysqld( 3237)
futex(202) 0.000000 1 0 0.000000 0.000000 0.000000
----------------------------------------------------------------------------------------------------------------------------------------------------------
mysqld( 3238)
futex(202) 0.000002 1 0 0.000002 0.000002 0.000002
----------------------------------------------------------------------------------------------------------------------------------------------------------
screen( 9045)
select( 23) 0.000082 4 0 0.000004 0.000069 0.000021
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py rec -e L
[Thread Futex Lock Info] [ Elapsed : 1.225 ] (Unit: Sec/NR)
==========================================================================================================================================================
Name( Tid/ Pid) Elapsed Process Block NrBlock CallMax Lock LockMax NrLock NrWait LBlock NrLBlock LastStat
==========================================================================================================================================================
mysqld( 3236/ 3208) 0.469 0.000 0.469 1 0.469 0.000 0.000 0 1 0.000 0 Wait
----------------------------------------------------------------------------------------------------------------------------------------------------------
mysqld( 3237/ 3208) 0.890 0.000 0.890 1 0.890 0.000 0.000 0 1 0.000 0 Wait
----------------------------------------------------------------------------------------------------------------------------------------------------------
mysqld( 3238/ 3208) 1.075 0.000 1.075 1 1.075 0.000 0.000 0 1 0.000 0 Wait
----------------------------------------------------------------------------------------------------------------------------------------------------------
[Thread File Lock Info] (Unit: Sec/NR)
==========================================================================================================================================================
Name( Tid) Wait Lock nrTryLock nrLocked
==========================================================================================================================================================
smbd( 2631) 0.000 0.000 3 3
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py rec -s . -K openfile:getname::**string
[Thread KERNEL Event Info]
==========================================================================================================================================================
Event Comm( Tid ) Usage Count ProcMax ProcMin InterMax InterMin
==========================================================================================================================================================
openfile TOTAL( - ) 0.000729 1012 0.000013 0.000001 1.979834 0.000109
ps(10728) 0.000640 968 0.000013 0.000000 0.001636 0.000006
python2(10727) 0.000038 26 0.000004 0.000001 1.979834 0.000020
tmux( 6959) 0.000031 9 0.000006 0.000003 0.299492 0.201316
PassengerAgent(23183) 0.000008 5 0.000002 0.000001 0.007375 0.000109
sendmail-mta( 3419) 0.000007 2 0.000006 0.000001 0.000077 0.000077
PassengerAgent(10729) 0.000003 1 0.000003 0.000003 0.000000 0.000000
smbd(11086) 0.000002 1 0.000002 0.000002 0.000000 0.000000
----------------------------------------------------------------------------------------------------------------------------------------------------------
[Thread KERNEL Event History]
==========================================================================================================================================================
EVENT TYPE TIME COMM( TID) CALLER ELAPSED ARG
==========================================================================================================================================================
openfile EXIT 0.063942 tmux( 6959) porch_do_sys_open 0.000003 1>"/proc/7969/cmdline"
openfile ENTER 0.137626 python2(10727) -
openfile EXIT 0.137628 python2(10727) porch_do_sys_open 0.000002 1>"/sys/kernel/debug/tracing/trace"
openfile ENTER 0.363431 tmux( 6959) -
openfile EXIT 0.363437 tmux( 6959) porch_do_sys_open 0.000006 1>"/proc/7197/cmdline"
openfile ENTER 0.510452 smbd(11086) -
openfile EXIT 0.510454 smbd(11086) porch_do_sys_open 0.000002 1>"/var/log/samba/log.jhkim-z97x-ud3h"
openfile ENTER 0.564845 tmux( 6959) -
openfile EXIT 0.564848 tmux( 6959) porch_do_sys_open 0.000003 1>"/proc/7969/cmdline"
openfile ENTER 0.864255 tmux( 6959) -
openfile EXIT 0.864258 tmux( 6959) porch_do_sys_open 0.000003 1>"/proc/7197/cmdline"
openfile ENTER 1.065571 tmux( 6959) -
openfile EXIT 1.065574 tmux( 6959) porch_do_sys_open 0.000003 1>"/proc/7969/cmdline"
openfile ENTER 1.364980 tmux( 6959) -
openfile EXIT 1.364984 tmux( 6959) porch_do_sys_open 0.000004 1>"/proc/7197/cmdline"
openfile ENTER 1.437128 sendmail-mta( 3419) -
openfile EXIT 1.437134 sendmail-mta( 3419) porch_do_sys_open 0.000006 1>"/proc/loadavg"
openfile ENTER 1.437205 sendmail-mta( 3419) -
openfile EXIT 1.437206 sendmail-mta( 3419) porch_do_sys_open 0.000001 1>"/proc/loadavg"
openfile ENTER 1.566369 tmux( 6959) -
openfile EXIT 1.566372 tmux( 6959) porch_do_sys_open 0.000003 1>"/proc/7969/cmdline"
openfile ENTER 1.865776 tmux( 6959) -
openfile EXIT 1.865779 tmux( 6959) porch_do_sys_open 0.000003 1>"/proc/7197/cmdline"
openfile ENTER 1.955265 PassengerAgent(10729) -
openfile EXIT 1.955268 PassengerAgent(10729) porch_do_sys_open 0.000003 1>"/dev/fd"
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py funcrec -s .
# python3 guider/guider.py report -a
# cat guider.out
[Function CPU Info] [Cnt: 394] [Interval: 8ms] (USER)
==========================================================================================================================================================
__Usage__|___________________Function____________________|_____________________________________________Binary_____________________________________________
==========================================================================================================================================================
99.0% | cpuTest | /media/disk/work/test/a.out
+ 100.0% | <- startTest [/media/disk/work/test/a.out] <- main [/media/disk/work/test/a.out]
<- __libc_start_main [/lib/x86_64-linux-gnu/libc-2.19.so]
----------------------------------------------------------------------------------------------------------------------------------------------------------
0.5% | memset | /lib/x86_64-linux-gnu/libc-2.19.so
+ 100.0% | <- startTest [/media/disk/work/test/a.out] <- main [/media/disk/work/test/a.out]
<- __libc_start_main [/lib/x86_64-linux-gnu/libc-2.19.so]
----------------------------------------------------------------------------------------------------------------------------------------------------------
0.3% | _int_malloc | /lib/x86_64-linux-gnu/libc-2.19.so
----------------------------------------------------------------------------------------------------------------------------------------------------------
0.3% | 00007f756e3e7ee4 | ??
+ 100.0% | <- 000000000044676f [/media/disk/work/test/a.out]
----------------------------------------------------------------------------------------------------------------------------------------------------------
[Function CPU Info] [Cnt: 394] [Interval: 8ms] (KERNEL)
==========================================================================================================================================================
__Usage__|____________________________________________________________________Function____________________________________________________________________
==========================================================================================================================================================
100.0% | hrtimer_interrupt
+ 99.5% | <- local_apic_timer_interrupt <- smp_apic_timer_interrupt <- apic_timer_interrupt
+ 0.3% | <- local_apic_timer_interrupt <- smp_apic_timer_interrupt <- apic_timer_interrupt <- do_page_fault <- page_fault
+ 0.3% | <- local_apic_timer_interrupt <- smp_apic_timer_interrupt <- apic_timer_interrupt <- __do_fault <- handle_mm_fault <- __do_page_fault
<- do_page_fault <- page_fault
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py funcrec -e m -s .
# python3 guider/guider.py report -a
# cat guider.out
[Function Page Info] [Total: 11.4M] [Alloc: 11.4M(817)] [Free: 188.0K(47)] (USER)
==========================================================================================================================================================
Usage ( Usr / Buf / Ker )|___________________Function____________________|________________LifeTime________________|______________Binary_______________
==========================================================================================================================================================
10256K( 2048/ 0/ 8208)| memset | AVR: 1.563 / MIN: 1.560 / MAX: 1.568 | /lib/x86_64-linux-gnu/libc-2.19.so
+ 10256K( 2048/ 0/ 8208)| <- startTest [/media/disk/work/test/a.out] <- main [/media/disk/work/test/a.out]
<- __libc_start_main [/lib/x86_64-linux-gnu/libc-2.19.so]
----------------------------------------------------------------------------------------------------------------------------------------------------------
960K( 956/ 0/ 4)| _int_malloc | AVR: 1.559 / MIN: 1.554 / MAX: 1.560 | /lib/x86_64-linux-gnu/libc-2.19.so
----------------------------------------------------------------------------------------------------------------------------------------------------------
56K( 16/ 0/ 40)| 00007f756e3e81e7 | AVR: 1.569 / MIN: 1.568 / MAX: 1.569 | ??
----------------------------------------------------------------------------------------------------------------------------------------------------------
44K( 36/ 0/ 8)| sysmalloc | AVR: 1.560 / MIN: 1.558 / MAX: 1.568 | /lib/x86_64-linux-gnu/libc-2.19.so
----------------------------------------------------------------------------------------------------------------------------------------------------------
12K( 12/ 0/ 0)| elf_machine_rela_relative | AVR: 1.568 / MIN: 1.568 / MAX: 1.568 | /lib/x86_64-linux-gnu/ld-2.19.so
+ 12K( 12/ 0/ 0)| <- dl_main [/lib/x86_64-linux-gnu/ld-2.19.so] <- _dl_sysdep_start [/lib/x86_64-linux-gnu/ld-2.19.so]
----------------------------------------------------------------------------------------------------------------------------------------------------------
8K( 8/ 0/ 0)| realloc | AVR: 1.568 / MIN: 1.568 / MAX: 1.568 | /lib/x86_64-linux-gnu/ld-2.19.so
+ 4K( 4/ 0/ 0)| <- _dl_map_object [/lib/x86_64-linux-gnu/ld-2.19.so]
----------------------------------------------------------------------------------------------------------------------------------------------------------
8K( 4/ 0/ 4)| dl_main | AVR: 1.568 / MIN: 1.568 / MAX: 1.568 | /lib/x86_64-linux-gnu/ld-2.19.so
+ 8K( 4/ 0/ 4)| <- _dl_sysdep_start [/lib/x86_64-linux-gnu/ld-2.19.so]
----------------------------------------------------------------------------------------------------------------------------------------------------------
[Function Page Info] [Total: 11.4K] [Alloc: 11.4K(817)] [Free: 188.0K(47)] (KERNEL)
==========================================================================================================================================================
Usage ( Usr / Buf / Ker )|___________________Function____________________|__________________________________LifeTime__________________________________
==========================================================================================================================================================
8192K( 0/ 0/ 8192)| do_huge_pmd_anonymous_page | AVR: 1.563 / MIN: 1.562 / MAX: 1.564
+ 8192K( 0/ 0/ 8192)| <- handle_mm_fault <- __do_page_fault <- do_page_fault <- page_fault
----------------------------------------------------------------------------------------------------------------------------------------------------------
3084K( 3084/ 0/ 0)| handle_mm_fault | AVR: 1.563 / MIN: 1.554 / MAX: 1.569
+ 3076K( 3076/ 0/ 0)| <- __do_page_fault <- do_page_fault <- page_fault
+ 4K( 4/ 0/ 0)| <- __get_user_pages <- get_user_pages <- copy_strings.isra.17 <- copy_strings_kernel <- do_execve_common.isra.23
<- SyS_execve <- stub_execve
+ 4K( 4/ 0/ 0)| <- __do_page_fault <- do_page_fault <- page_fault <- load_elf_binary <- search_binary_handler
<- do_execve_common.isra.23 <- SyS_execve <- stub_execve
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
# python3 guider/guider.py filerec
[File Usage Info] [File: 213] [RAM: 175.2M] [Reclaim: 0/0] [Uptime: 1d:01:42:33] [Keys: Foward/Back/Save/Quit]
==========================================================================================================================================================
__RAM___|__File__|__%__|__PSS___|____________________________________________________Library & Process____________________________________________________
==========================================================================================================================================================
39.1M | 39.1M | 100 | 39.1M | /var/lib/snapd/snaps/snapd_21184.snap [Proc: 1] [Link: 1] [Open: 1]
| snapfuse ( 125) |
----------------------------------------------------------------------------------------------------------------------------------------------------------
5.3M | 8.0M | 66 | 5.3M | /var/log/journal/758ca7c4e01db1a1cae9325f634ab22a/system.journal [Proc: 1] [Link: 1] [Open: 1]
| systemd-journal ( 56) |
----------------------------------------------------------------------------------------------------------------------------------------------------------
5.2M | 5.2M | 100 | 5.2M | /home/iipeace/guider/guider/.guider.py.swp [Proc: 1] [Link: 1] [Open: 1]
| vi ( 6732) |
----------------------------------------------------------------------------------------------------------------------------------------------------------
5.1M | 5.6M | 90 | 2.5M | /usr/bin/python3.10 [Proc: 2] [Link: 1] [Map: 2]
| networkd-dispat ( 178) | unattended-upgr ( 341) |
----------------------------------------------------------------------------------------------------------------------------------------------------------
3.8M | 4.2M | 89 | 434.7K | /usr/lib/x86_64-linux-gnu/libcrypto.so.3 [Proc: 9] [Link: 1] [Map: 9]
| systemd ( 1) | systemd-journal ( 56) | systemd-udevd ( 85) | systemd-network ( 172) |
| systemd-logind ( 190) | udisksd ( 198) | systemd-resolve ( 262) | sshd ( 829) |
| packagekitd ( 3858) |
----------------------------------------------------------------------------------------------------------------------------------------------------------
3.7M | 8.0M | 46 | 3.7M | /var/log/journal/758ca7c4e01db1a1cae9325f634ab22a/user-1000.journal [Proc: 1] [Link: 1] [Open: 1]
| systemd-journal ( 56) |
----------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
$ python3 guider/guider.py top -o guider.out
$ python3 guider/guider.py draw guider.out
>>>
<img alt="graph" src="https://user-images.githubusercontent.com/15862689/67160607-9b1fc680-f38d-11e9-988e-5d90729d983e.png" width="100%" height="100%">
<img alt="chart" src="https://user-images.githubusercontent.com/15862689/67160609-9bb85d00-f38d-11e9-9280-9ab649bb56b1.png" width="100%" height="100%">
>>>
# python3 guider/guider.py rec -s guider.dat
# python3 guider/guider.py draw guider.dat
>>>
<img alt="timeline" src="https://github.com/iipeace/iipeace.github.io/blob/master/samples/guider_timeline.png" width="100%" height="100%">
>>>
# python3 guider/guider.py utop -g testTask -H -o guider.out
# python3 guider/guider.py drawflame guider.out
>>>
<img alt="flamegraph" src="https://github.com/iipeace/iipeace.github.io/blob/master/samples/guider_flamegraph.png" width="100%" height="100%">
>>>
$ python3 guider/guider.py top -o test1.out
$ python3 guider/guider.py top -o test2.out
$ python3 guider/guider.py top -o test3.out
$ python3 guider/guider.py drawavg "test1.out" "test2.out" "test3.out"
$ python3 guider/guider.py drawavg "test*.out"
>>>
<img alt="drawavg" src="https://github.com/iipeace/iipeace.github.io/blob/master/samples/guider_drawavg.svg" width="100%" height="100%">
>>>
$ python3 guider/guider.py req "https://www.google.com|https://www.naver.com" -R 1000 -o guider.out
$ python3 guider/guider.py drawreq guider.out
>>>
<img alt="drawreq" src="https://github.com/iipeace/iipeace.github.io/blob/master/samples/guider_drawreq.svg" width="100%" height="100%">
>>>
$ python3 guider/guider.py top -o test1.out
$ python3 guider/guider.py top -o test2.out
$ python3 guider/guider.py top -o test3.out
$ python3 guider/guider.py drawviolin "test.out" "test2.out" "test3.out"
$ python3 guider/guider.py drawviolin "test*.out"
>>>
<img alt="violingraph" src="https://github.com/iipeace/iipeace.github.io/blob/master/samples/guider_violingraph.png" width="100%" height="100%">
>>>
webservice
>>>
<img alt="dashboard" src="https://user-images.githubusercontent.com/15862689/67160178-0024ed80-f389-11e9-9a09-6a8eb96e2785.png" width="100%" height="100%">
How to use
=======
```
To view a list of all commands supported by Guider, enter one of the following commands:
$ python3 guider/guider.py --help
$ python3 -m guider --help
$ guider --help
To start tracing for all threads, use the following command:
# python3 guider/guider.py rec -a
To start tracing for all threads, use the following command:
$ python3 guider/guider.py top -a
To view options and examples for each command, enter a command in the following format:
$ python3 guider/guider.py rec -h
$ python3 guider/guider.py top -h
To view the output of Guider, visit the following link:
- https://github.com/iipeace/guider/wiki
```
Build & Installation
=======
```
To install Guider using pip, enter the following commands:
# pip3 install guider
# pip3 install guider --no-deps
# pip3 install guider --force-reinstall
After installation, run one of the following commands to start Guider:
# python3 -m guider
# guider
If you don't have pip on your system, you can download the source code from https://github.com/iipeace/guider, and then run the following command to start Guider:
# python3 guider/guider.py
For faster and lighter operation, you can build and install Guider from the source code by running the following commands:
# cd guider && make && make install
```
Pre-built versions of Guider are available at https://repology.org/project/guider/versions.
Kernel Configuration
=======
```
Enable kernel options as below to take advantage of all profile features,
And if CONFIG_STRICT_MEMORY_RWX is enabled then disable it
CONFIG_RING_BUFFER
CONFIG_FTRACE
CONFIG_TRACING
CONFIG_TRACING_SUPPORT
CONFIG_EVENT_TRACING
CONFIG_NOP_TRACER
CONFIG_TRACEPOINTS
CONFIG_DYNAMIC_FTRACE
CONFIG_HAVE_DYNAMIC_FTRACE
CONFIG_FTRACE_SYSCALLS
CONFIG_HAVE_SYSCALL_TRACEPOINTS
CONFIG_TRACE_IRQFLAGS
CONFIG_TRACE_IRQFLAGS_SUPPORT
CONFIG_STACKTRACE
CONFIG_STACKTRACE_SUPPORT
CONFIG_USER_STACKTRACE_SUPPORT
CONFIG_FUNCTION_TRACER
CONFIG_FUNCTION_GRAPH_TRACER
CONFIG_UPROBES
CONFIG_UPROBE_EVENT
CONFIG_KPROBES
CONFIG_KPROBE_EVENTS
CONFIG_TASKSTATS
CONFIG_TASK_DELAY_ACCT
CONFIG_TASK_XACCT
CONFIG_TASK_IO_ACCOUNTING
CONFIG_PERF_EVENTSÂ
CONFIG_HW_PERF_EVENT
```
Help
=======
```
Usage:
$ guider COMMAND [OPTIONS] [--help]
COMMAND(153):
[CONTROL] cgroup <Cgroup> (Linux)
freeze <Thread> (Linux)
hook <Function> (Linux)
kill/tkill <Signal> (Linux/MacOS)
limitcpu <CPU> (Linux)
limitcpuset <CPU> (Linux)
limitmem <Memory> (Linux)
limitpid <Task> (Linux)
limitread <I/O> (Linux)
limitwrite <I/O> (Linux)
pause <Thread> (Linux)
remote <Command> (Linux)
rlimit <Resource> (Linux)
setafnt <Affinity> (Linux)
setcpu <Clock> (Linux)
setsched <Priority> (Linux)
[LOG] logand <Android> (Linux)
logdlt <DLT> (Linux)
logjrl <Journal> (Linux)
logkmsg <Kernel> (Linux)
logsys <Syslog> (Linux)
logtrace <Ftrace> (Linux)
printand <Android> (Linux)
printdlt <DLT> (Linux/MacOS/Windows)
printjrl <Journal> (Linux)
printkmsg <Kernel> (Linux)
printsyslog <Syslog> (Linux)
printtrace <Ftrace> (Linux)
[MONITOR] atop <All> (Linux)
bgtop <Background> (Linux/MacOS/Windows)
btop <Function> (Linux)
cgtop <Cgroup> (Linux)
ctop <Threshold> (Linux/MacOS/Windows)
dbustop <D-Bus> (Linux)
disktop <Storage> (Linux/MacOS/Windows)
dlttop <DLT> (Linux/MacOS)
fetop <File> (Linux)
ftop <File> (Linux/MacOS)
irqtop <IRQ> (Linux)
kftop <Function> (Linux)
ktop <Function> (Linux)
mtop <Memory> (Linux)
ntop <Network> (Linux/MacOS/Windows)
ptop <PMU> (Linux)
pytop <Python> (Linux)
rtop <JSON> (Linux/MacOS/Windows)
slabtop <Slab> (Linux)
stacktop <Stack> (Linux)
systop <Syscall> (Linux)
top <Process> (Linux/MacOS/Windows)
trtop <Tree> (Linux)
ttop <Thread> (Linux)
utop <Function> (Linux)
vtop <Memory> (Linux)
wtop <WSS> (Linux)
[NETWORK] cli <Client> (Linux/MacOS/Windows)
event <Event> (Linux)
fserver <File> (Linux/MacOS/Windows)
hserver <Http> (Linux/MacOS/Windows)
list <List> (Linux/MacOS/Windows)
send <UDP> (Linux/MacOS/Windows)
server <Server> (Linux/MacOS)
start <Signal> (Linux)
[PROFILE] filerec <File> (Linux)
funcrec <Function> (Linux)
genrec <System> (Linux)
iorec <I/O> (Linux)
mem <Page> (Linux)
rec <Thread> (Linux)
report <Report> (Linux)
sysrec <Syscall> (Linux)
[TEST] cputest <CPU> (Linux/MacOS/Windows)
iotest <Storage> (Linux/MacOS/Windows)
memtest <Memory> (Linux/MacOS/Windows)
nettest <Network> (Linux)
[TRACE] btrace <Function> (Linux)
leaktrace <Leak> (Linux)
mtrace <Memory> (Linux)
pytrace <Python> (Linux)
sigtrace <Signal> (Linux)
strace <Syscall> (Linux)
utrace <Function> (Linux)
[UTIL] addr2sym <Symbol> (Linux/MacOS/Windows)
checkdup <Page> (Linux)
comp <Compress> (Linux/MacOS/Windows)
decomp <Decompress> (Linux/MacOS/Windows)
dirdiff <Dir> (Linux/MacOS/Windows)
dump <Memory> (Linux)
exec <Command> (Linux/MacOS/Windows)
fadvise <File> (Linux)
flush <Memory> (Linux)
getafnt <Affinity> (Linux)
getpid <PID> (Linux)
less <Pager> (Linux/MacOS/Windows)
merge <File> (Linux/MacOS/Windows)
mkcache <Cache> (Linux/MacOS/Windows)
mount <Mount> (Linux)
ping <ICMP> (Linux/MacOS/Windows)
print <File> (Linux/MacOS/Windows)
printbind <Function> (Linux)
printcg <Cgroup> (Linux)
printdbus <D-Bus> (Linux)
printdbusintro <D-Bus> (Linux)
printdbusstat <D-Bus> (Linux)
printdbussub <D-Bus> (Linux)
printdir <Dir> (Linux/MacOS/Windows)
printenv <Env> (Linux)
printext <Ext4> (Linux/MacOS/Windows)
printinfo <System> (Linux)
printkconf <kernel> (Linux)
printns <Namespace> (Linux)
printsdfile <Systemd> (Linux)
printsdinfo <Systemd> (Linux)
printsdunit <Systemd> (Linux)
printsig <Signal> (Linux)
printslab <Slab> (Linux)
printvma <Vmalloc> (Linux)
pstree <Process> (Linux/MacOS/Windows)
readahead <File> (Linux)
readelf <File> (Linux/MacOS/Windows)
req <URL> (Linux/MacOS/Windows)
split <File> (Linux/MacOS/Windows)
strings <Text> (Linux/MacOS/Windows)
sym2addr <Address> (Linux/MacOS/Windows)
sync <File> (Linux)
sysrq <sysrq> (Linux)
systat <Status> (Linux)
topdiff <Diff> (Linux/MacOS/Windows)
topsum <Summary> (Linux/MacOS/Windows)
umount <Unmount> (Linux)
watch <File> (Linux)
[VISUAL] convert <Text> (Linux/MacOS/Windows)
draw <System> (Linux/MacOS/Windows)
drawavg <Average> (Linux/MacOS/Windows)
drawbitmap <Bitmap> (Linux/MacOS/Windows)
drawcpu <CPU> (Linux/MacOS/Windows)
drawcpuavg <CPU> (Linux/MacOS/Windows)
drawdelay <Delay> (Linux/MacOS/Windows)
drawflame <Function> (Linux/MacOS/Windows)
drawhist <Histogram> (Linux/MacOS/Windows)
drawio <I/O> (Linux/MacOS/Windows)
drawleak <Leak> (Linux/MacOS/Windows)
drawmem <Memory> (Linux/MacOS/Windows)
drawmemavg <Memory> (Linux/MacOS/Windows)
drawpri <Prio> (Linux/MacOS/Windows)
drawreq <URL> (Linux/MacOS/Windows)
drawrss <RSS> (Linux/MacOS/Windows)
drawrssavg <RSS> (Linux/MacOS/Windows)
drawstack <System> (Linux/MacOS/Windows)
drawtime <Timeline> (Linux/MacOS/Windows)
drawviolin <Data> (Linux/MacOS/Windows)
drawvss <VSS> (Linux/MacOS/Windows)
drawvssavg <VSS> (Linux/MacOS/Windows)
FILE:
Profile file (e.g. guider.dat)
Report file (e.g. guider.out)
Options:
Check COMMAND with --help (e.g. guider top --help)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/iipeace/guider",
"name": "guider",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "guider, linux, analyzer, performance, profile, trace, kernel",
"author": "Peace Lee",
"author_email": "iipeace5@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/f3/f9/43f1252e9e3ba2b1198acbb7600239ff0d82350d3463ed3a4dc417d0c11b/guider-3.9.8993.tar.gz",
"platform": null,
"description": "[![Build Status](https://travis-ci.org/iipeace/guider.svg?branch=master)](https://travis-ci.org/iipeace/guider) \n[![license](http://img.shields.io/badge/license-GNU-blue.svg)](https://raw.githubusercontent.com/iipeace/guider/master/LICENSE)\n[![Coverity](https://scan.coverity.com/projects/15302/badge.svg)](https://scan.coverity.com/projects/iipeace-guider) \n[![PyPI version](https://badge.fury.io/py/guider.svg)](https://badge.fury.io/py/guider)\n[![Download guider](https://img.shields.io/sourceforge/dt/guider.svg)](https://sourceforge.net/projects/guider/files/latest/download)\n[![Join the chat at https://gitter.im/guiderchat/Lobby](https://badges.gitter.im/guiderchat/Lobby.svg)](https://gitter.im/guiderchat/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\n![Guider_Logo_mini](https://user-images.githubusercontent.com/15862689/69008465-3062aa80-098e-11ea-8185-cfb8d7c4aafe.png)\n\nTable of contents\n=================\n<!--ts-->\n * [Guider](#Guider)\n * [Output](#Output)\n * [How to use](#How-to-use)\n * [Build & Installation](#Build--Installation)\n * [Kernel Configuration](#Kernel-Configuration)\n * [Help](#Help)\n<!--te-->\n\nGuider\n=======\n\nGuider is a comprehensive performance analysis tool designed to meet all your system performance needs.\nWith features like monitoring, profiling, tracing, visualization, control, logging, networking, testing, and utilities,\nGuider provides you with everything you need to measure, analyze, and verify your system's performance.\n\nSome of the key features of Guider include:\n1. Accurate measurements: Guider provides measurements in units of count, time (in microseconds), and size (in bytes) for precise results.\n2. Comprehensive functionality: Guider offers a range of functions for analysis and experimentation.\n3. Detailed reports: Guider provides in-depth reports with as much information as possible.\n4. Browser-based visualization: Guider outputs visualizations in SVG format for easy viewing in a browser.\n5. Easy to use: Guider is designed to be simple and straightforward, with no need for installation or setup.\n\nGuider supports a wide range of platforms based on the Linux kernel,\nincluding distros like Ubuntu, CentOS, and RHEL, as well as Android, ccOS, webOS, Tizen, and AGL.\nLimited support is also available for Windows and MacOS.\nIn terms of architecture, Guider can work on x86, x64, ARM, AArch64, RISC-V.\n\nOutput\n=======\n $ python3 guider/guider.py top -a\n\n [Top Info] [Time: 4588832.570] [Inter: 1.0] [Ctxt: 314463] [Life: +0/-0] [IRQ: 26606] [Core: 4] [Task: 498/625] [Load: 0/0/0] [RAM: 125.7G] [Swap: 4.0G]\n [Cycle: 8.3G / Inst: 5.7G / IPC: 0.69 / CacheMiss : 13.7M(23%) / BrcMiss: 25.7M(1%) / Clk: 38.7G / MinFlt: 358 / MajFlt: 0]\n ==========================================================================================================================================================\n ID | CPU(Usr/Ker/Blk/IRQ)|MemAvl( Per/ User/Cache/Kern)| Swap( Per/ In/Out)| PgRclm | BlkRW | NrFlt | PrBlk | NrSIRQ | PgMlk | PgDirt | Network |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n Total | 10 %( 1 / 6 / 0 / 0 )|124649( 96/ 453/ 5690/1787)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 15889 | 4616 | 20 | 2K/0 |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n CPU [##### ] MEM [### ] SWAP [ ]|\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n Core/0 |100 %(66 /34 / 0 / 0 )|###################################################################| powersave | 0-0 | 24 C | 2874 Mhz [1171-3515]|\n Core/1 | 7 %( 0 / 6 / 0 / 0 )|#### | powersave | 0-1 | 22 C | 2307 Mhz [1171-3515]|\n Core/2 | 0 %( 0 / 0 / 0 / 0 )| | powersave | 0-2 | 23 C | 2165 Mhz [1171-3515]|\n Core/3 | 0 %( 0 / 0 / 0 / 0 )| | powersave | 0-3 | 22 C | 2170 Mhz [1171-3515]|\n ==========================================================================================================================================================\n Process ( PID/ PPID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS( RSS/Txt/Shr/Swp)| Blk( RD/ WR/NrFlt)| SID | USER | FD | LifeTime| Parent |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n screen ( 2451/ 1/ 1/C 0)| 100( 66/ 34/ 0)| 11( 6/ 0/ 2/ 0)| 0( -/ -/ 0)| 2451|peacel| 64|53d:00:22| systemd(1)|\n yes (1341199/1340350/ 1/C 0)| 99( 0/ 99/ 0)| 5( 0/ 0/ 0/ 0)| 0( -/ -/ 0)| 2452|peacel| 64| 00:00:03| vi(1340350)|\n kworker/u80: (1341030/ 2/ 1/C 0)| 90( 0/ 90/ 0)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| root| 64| 00:15:46| kthreadd(2)|\n kworker/u80: (1340705/ 2/ 1/C 0)| 26( 0/ 26/ 0)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| root| 64| 02:04:59| kthreadd(2)|\n kworker/u80: (1340966/ 2/ 1/C 0)| 21( 0/ 21/ 0)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| root| 64| 00:20:56| kthreadd(2)|\n [ TOTAL ]| 344.0( 72/ 271)|RSS: 1G / Swp: 0)| 0.0( -/ -/ 0)| Yld: -| Prmt: -| Task: 498|\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n [Z]bash ( 820918/ 820917/ 1/C 0)| 0( 0/ 0/ -)| 0( 0/ 0/ 0/ -)| 0( -/ -/ 0)| -| -| -| 3d:06:10| tmux: server(820917)|\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n \n $ python3 guider/guider.py top -R 5 -o\n $ cat guider.out\n\n [Top Summary Info]\n ==========================================================================================================================================================\n IDX | Interval | CPU | Avl/User/Cache | BlkRW | Blk | SWAP | NrPgRclm | NrFlt | NrCtx | NrIRQ | NrTask | Core | Network |\n ==========================================================================================================================================================\n 1 | START - 497231.500 | 98 | 124442/962/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 631 | 10660 | 482/701 | 40 | 2K/156 |\n 2 | 497231.500 - 497232.520 | 98 | 124440/963/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 646 | 10506 | 482/701 | 40 | 1K/104 |\n 3 | 497232.520 - 497233.540 | 98 | 124440/964/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 741 | 10562 | 482/701 | 40 | 2K/104 |\n 4 | 497233.540 - 497234.570 | 98 | 124440/964/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 629 | 10489 | 482/701 | 40 | 1K/104 |\n 5 | 497234.570 - 497235.590 | 98 | 124440/964/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 699 | 10602 | 482/701 | 40 | 2K/208 |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n \n [Top CPU Info] (Unit: %)\n ==========================================================================================================================================================\n COMM ( PID / PPID / Nr / Pri)| Min/Avg/Max | 1 2 3 4 5 \n ==========================================================================================================================================================\n [CPU] ( -/ -/ -/ -)| 98/98.0/98 | 98 98 98 98 98 \n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n FahCore_a8 ( 55469/ 55465/ 41/C 19)| 384/387.0/389| 384 3898 3898 3860 3883 \n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n guider ( 55767/ 9591/ 1/C 0)| 1/1.6/3 | 1 1 2 3 1 \n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n \n [Top RSS Info] (Unit: MB)\n ==========================================================================================================================================================\n COMM ( PID / PPID / Nr / Pri)| Max | 1 2 3 4 5 \n ==========================================================================================================================================================\n [FREE/MIN] ( -/ -/ -/ -)|124440 | 124442 124440 124440 124440 124440 \n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n FahCore_a8 ( 55469/ 55465/ 41/C 19)| 548 | 548 548 548 548 548 \n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n guider ( 55767/ 9591/ 1/C 0)| 34 | 33 34 34 34 34 \n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n \n $ python3 guider/guider.py ttop\n\n [Top Info] [Time: 194025.590] [Interval: 1.0] [Ctxt: 4995] [Life: +0/-0] [OOM: 0] [IRQ: 1879] [Core: 8] [Task: 333/1188] [Load: 3.1/1.9/0.9] [RAM: 62.8G]\n ==========================================================================================================================================================\n ID | CPU(Usr/Ker/Blk/IRQ)| Avl(Diff/ User/Cache/Kern)| Swap(Diff/ In/Out)| PgRclm | BlkRW | NrFlt | PrBlk | NrSIRQ | PgMlk | PgDrt | Network |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n Total | 3 %( 1 / 0 /23 / 0 )|59874( -3/ 3110/15153/ 355)| 0( 0/ 0/ 0)| 0/0 | 0/5 | 0 | 2 | 313 | 1607 | 939290 | 0/0 |\n ==========================================================================================================================================================\n Thread ( TID/ PID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS(RSS/Txt/Shr/Swp)| Blk( RD/ WR/NrFlt)| Yld | Prmt | FD | LifeTime| Process |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n guider ( 8160/ 8160/ 1/C 0)| 3( 2/ 0/ 0)| 66( 33/ 2/ 6/ 0)| 0( -/ -/ 0)| 1| 0|2048| 00:00:02| guider(8160)|\n gnome-terminal- ( 4864/ 4864/ 4/C 0)| 1( 0/ 0/ -)| 627( 57/ 0/ 40/ 0)| 0( -/ -/ 0)| -| -| 128| 2d:05:52|gnome-terminal-(4864)|\n Xorg ( 1525/ 1525/ 2/C 0)| 1( 0/ 0/ -)| 431( 84/ 0/ 48/ 0)| 0( -/ -/ 0)| -| -| 128| 2d:05:53| Xorg(1525)|\n [ TOTAL ]| 5( 2/ 0)|RSS: 174M / Swp: 0)| 0.0( -/ -/ 0)| Yld: 1| Prmt: 0| Task: 3|\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n [D]kworker/u16:0 ( 7784/ 7784/ 1/C 0)| 0( 0/ 0/ -)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| -| -| 00:07:07| -|\n [D]pool ( 8024/ 2450/ 13/C 0)| 0( 0/ 0/ -)| 1025( 82/ 1/ -/ -)| 0( -/ -/ 0)| -| -| -| 00:04:31| -|\n [D]usb-storage ( 7825/ 7825/ 1/C 0)| 0( 0/ 0/ -)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| -| -| 00:06:38| -|\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n \n # python3 guider/guider.py utop -g yes -H\n\n [Top Usercall Info] [Time: 82094.260000] [Interval: 1.001784] [NrSamples: 955] [yes(7202): 28%(Usr/27%+Sys/0%)] [SampleTime: 0.000100]\n ==========================================================================================================================================================\n Usage | Function [Path] \n ==========================================================================================================================================================\n 35.6% | _IO_file_xsputn@GLIBC_2.17 [/lib/libc-2.24.so] \n 100.0% | <- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils] <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 17.8% | fputs_unlocked@GLIBC_2.17 [/lib/libc-2.24.so] \n 100.0% | <- ??[/usr/bin/yes.coreutils] <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 16.1% | __libc_start_main@GLIBC_2.17 [/lib/libc-2.24.so] \n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 14.7% | memcpy@GLIBC_2.17 [/lib/libc-2.24.so] \n 100.0% | <- _IO_file_xsputn@GLIBC_2.17[/lib/libc-2.24.so] <- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils]\n <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 12.3% | strlen@GLIBC_2.17 [/lib/libc-2.24.so] \n 100.0% | <- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils] <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 3.0% | _IO_file_write@GLIBC_2.17 [/lib/libc-2.24.so] \n 100.0% | <- ??[/lib/libc-2.24.so] <- _IO_do_write@GLIBC_2.17[/lib/libc-2.24.so] <- _IO_file_xsputn@GLIBC_2.17[/lib/libc-2.24.so]\n <- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils]\n <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n\n # python3 guider/guider.py utop -g node -H -q JITSYM\n\n [Top Usercall Info] [Time: 7249986.900] [Interval: 1.015] [Samples: 442] [SYS: 2%/120G] [node(1068318): 50%(U46%+S3%)/897M] [guider(1068338): 53%/256M] [Freq:\n ==========================================================================================================================================================\n Usage | Function [PATH] <Sample>\n ==========================================================================================================================================================\n 18.6% | write@GLIBC_2.28 [/usr/lib/x86_64-linux-gnu/libpthread-2.31.so] <Cnt: 82>\n 100.0% | <- 0x13250[/usr/lib/x86_64-linux-gnu/libuv.so.1.0.0] <- uv_fs_write[/usr/lib/x86_64-linux-gnu/libuv.so.1.0.0]\n <- 0x573090[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- JIT[JIT] <- LazyCompile:*writeSync fs.js:551[JIT]\n <- Builtin:ArgumentsAdaptorTrampoline[JIT] <- LazyCompile:*writeOrBuffer _stream_writable.js:365[JIT]\n <- LazyCompile:*log console.js:199[JIT] <- Builtin:ArgumentsAdaptorTrampoline[JIT] <- Builtin:JSEntryTrampoline[JIT] <- JIT[JIT]\n <- 0xab0110[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- 0xab0720[/usr/lib/x86_64-linux-gnu/libnode.so.64]\n <- v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::O\n <- v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]\n <- 0x630d40[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- JIT[JIT] <- LazyCompile:* /home/peacelee/test/test.js:1[JIT]\n <- Builtin:InterpreterEntryTrampoline[JIT] <- Builtin:JSEntryTrampoline[JIT] * 8 <- JIT[JIT]\n <- 0xab0110[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- 0xab0720[/usr/lib/x86_64-linux-gnu/libnode.so.64]\n <- v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::O\n <- v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]\n <- 0x52cae0[/usr/lib/x86_64-linux-gnu/libnode.so.64]\n <- node::LoadEnvironment(node::Environment*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]\n <- node::Start(v8::Isolate*, node::IsolateData*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char\n <- node::Start(int, char**)[/usr/lib/x86_64-linux-gnu/libnode.so.64] <Cnt: 82>\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 3.8% | LazyCompile:*writeOrBuffer _stream_writable.js:365 [JIT] <Cnt: 17>\n 64.7% | <- LazyCompile:*log console.js:199[JIT] <- Builtin:ArgumentsAdaptorTrampoline[JIT] <- Builtin:JSEntryTrampoline[JIT] <- JIT[JIT]\n <- 0xab0110[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- 0xab0720[/usr/lib/x86_64-linux-gnu/libnode.so.64]\n <- v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::O\n <- v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]\n <- 0x630d40[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- JIT[JIT] <- LazyCompile:* /home/peacelee/test/test.js:1[JIT]\n <- Builtin:InterpreterEntryTrampoline[JIT] <- Builtin:JSEntryTrampoline[JIT] * 8 <- JIT[JIT]\n <- 0xab0110[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- 0xab0720[/usr/lib/x86_64-linux-gnu/libnode.so.64]\n <- v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::O\n <- v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]\n <- 0x52cae0[/usr/lib/x86_64-linux-gnu/libnode.so.64]\n <- node::LoadEnvironment(node::Environment*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]\n <- node::Start(v8::Isolate*, node::IsolateData*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char\n <- node::Start(int, char**)[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- main[/usr/bin/node]\n <- __libc_start_main@GLIBC_2.2.5[/usr/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 11>\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n \n # python3 guider/guider.py systop -g yes -H\n\n [Top Syscall Info] [Time: 82043.230000] [Interval: 1.000940] [NrSamples: 634] [yes(7202): 5%(Usr/4%+Sys/0%)] \n ==========================================================================================================================================================\n Usage | Function [Count] \n ==========================================================================================================================================================\n 100.0% | write [Cnt: 634, Tot: 0.830203, Avg: 0.001309, Max: 0.005875, Err: 0] \n 100.0% | <- ??[/lib/libc-2.24.so] <- _IO_file_write@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/lib/libc-2.24.so]\n <- _IO_do_write@GLIBC_2.17[/lib/libc-2.24.so] <- _IO_file_xsputn@GLIBC_2.17[/lib/libc-2.24.so]\n <- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils]\n <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n \n # python3 guider/guider.py btop -g a.out -H\n\n [Top Breakcall Info] [Time: 4542869.660] [Interval: 1.001] [NrSamples: 994] [a.out(1219772): 7%(Usr/0%+Sys/6%)] [guider(1219775): 97%]\n ==========================================================================================================================================================\n Usage | Function [PATH] <Interval>\n ==========================================================================================================================================================\n 16.7% | __mempcpy_sse2_unaligned_erms [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 166, Avg: 0.005994, Min: 0.002999, Max: 0.012299]\n 100.0% | <- _IO_new_file_xsputn[/lib/x86_64-linux-gnu/libc-2.31.so] <- __vfprintf_internal[/lib/x86_64-linux-gnu/libc-2.31.so]\n <- printf[/lib/x86_64-linux-gnu/libc-2.31.so]\n <- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd\n <- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]\n <- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 16.7% | _IO_new_file_xsputn [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 166, Avg: 0.005997, Min: 0.002988, Max: 0.012302]\n 100.0% | <- __vfprintf_internal[/lib/x86_64-linux-gnu/libc-2.31.so] <- printf[/lib/x86_64-linux-gnu/libc-2.31.so]\n <- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd\n <- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]\n <- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 11.2% | __strchrnul_sse2 [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 111, Avg: 0.008974, Min: 0.006034, Max: 0.012381]\n 100.0% | <- __vfprintf_internal[/lib/x86_64-linux-gnu/libc-2.31.so] <- printf[/lib/x86_64-linux-gnu/libc-2.31.so]\n <- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd\n <- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]\n <- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 5.5% | close@GLIBC_2.4 [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 55, Avg: 0.017763, Min: 0.017895, Max: 0.018863]\n 100.0% | <- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd\n <- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]\n <- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 5.5% | __vfprintf_internal [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 55, Avg: 0.017764, Min: 0.017838, Max: 0.018741]\n 100.0% | <- printf[/lib/x86_64-linux-gnu/libc-2.31.so]\n <- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd\n <- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]\n <- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 5.5% | _IO_file_overflow@GLIBC_2.2.5 [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 55, Avg: 0.017764, Min: 0.017924, Max: 0.018732]\n 100.0% | <- _IO_new_file_xsputn[/lib/x86_64-linux-gnu/libc-2.31.so] <- __vfprintf_internal[/lib/x86_64-linux-gnu/libc-2.31.so]\n <- printf[/lib/x86_64-linux-gnu/libc-2.31.so]\n <- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd\n <- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]\n <- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n \n # python3 guider/guider.py pytop -g iotop -H\n\n [Top Pycall Info] [Time: 7469667.000] [Interval: 1.003] [NrSamples: 283] [iotop(2943070): 13%(Usr/10%+Sys/2%)] [guider(2943073): 53%] [SampleRate: 0.001]\n ==========================================================================================================================================================\n Usage | Function [PATH] <Sample>\n ==========================================================================================================================================================\n 56.9% | WAIT(poll@GLIBC_2.2.5) [/usr/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 161>\n 100.0% | <- run[/usr/lib/python3/dist-packages/iotop/ui.py] <- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- wrapper[/usr/lib/python3.8/curses/__init__.py] <- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py] <- main[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- <module>[/usr/sbin/iotop] <Cnt: 161>\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 10.2% | parse_proc_pid_status [/usr/lib/python3/dist-packages/iotop/data.py] <Cnt: 29>\n 100.0% | <- get_cmdline[/usr/lib/python3/dist-packages/iotop/data.py] <- format[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- get_data[/usr/lib/python3/dist-packages/iotop/ui.py] <- refresh_display[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- run[/usr/lib/python3/dist-packages/iotop/ui.py] <- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- wrapper[/usr/lib/python3.8/curses/__init__.py] <- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py] <- main[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- <module>[/usr/sbin/iotop] <Cnt: 29>\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 4.6% | read@GLIBC_2.26 [/usr/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 13>\n 76.9% | <- parse_proc_pid_status[/usr/lib/python3/dist-packages/iotop/data.py] <- get_cmdline[/usr/lib/python3/dist-packages/iotop/data.py]\n <- format[/usr/lib/python3/dist-packages/iotop/ui.py] <- get_data[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- refresh_display[/usr/lib/python3/dist-packages/iotop/ui.py] <- run[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py] <- wrapper[/usr/lib/python3.8/curses/__init__.py]\n <- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py] <- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- main[/usr/lib/python3/dist-packages/iotop/ui.py] <- <module>[/usr/sbin/iotop] <Cnt: 10>\n 23.1% | <- get_cmdline[/usr/lib/python3/dist-packages/iotop/data.py] <- format[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- get_data[/usr/lib/python3/dist-packages/iotop/ui.py] <- refresh_display[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- run[/usr/lib/python3/dist-packages/iotop/ui.py] <- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- wrapper[/usr/lib/python3.8/curses/__init__.py] <- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py] <- main[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- <module>[/usr/sbin/iotop] <Cnt: 3>\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 4.2% | format [/usr/lib/python3/dist-packages/iotop/ui.py] <Cnt: 12>\n 100.0% | <- get_data[/usr/lib/python3/dist-packages/iotop/ui.py] <- refresh_display[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- run[/usr/lib/python3/dist-packages/iotop/ui.py] <- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- wrapper[/usr/lib/python3.8/curses/__init__.py] <- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py] <- main[/usr/lib/python3/dist-packages/iotop/ui.py]\n <- <module>[/usr/sbin/iotop] <Cnt: 12>\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n \n # python3 guider/guider.py ftop -g nginx\n\n [Top File Info] [Time: 497555.620] [Proc: 41] [FD: 2,047] [File: 87] [CPU: 95%(Usr:54%/Sys:41%)] (Unit: %/MB/NR)\n ==========================================================================================================================================================\n Process ( ID / Pid / Nr / Pri)| FD | Path |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n nginx ( 1348/ 1333/ 1/C 0)| 49| SOCKET: 42 NORMAL: 3 DEVICE: 2 EVENT: 2 PIPE: 0 PROC: 0 |\n | 49| /var/log/nginx/error.log (0, O_WRONLY|O_APPEND|O_CLOEXEC) |\n | 48| socket:[32124] |\n | 37| socket:[32102] |\n | 36| anon_inode:[eventfd] |\n | 35| anon_inode:[eventpoll] |\n | 34| socket:[32073] |\n | 8| socket:[32074] |\n | 7| socket:[20935] |\n | 6| socket:[20934] (TCP:0.0.0.0:80/LISTEN) |\n | 5| /var/log/nginx/access.log (0, O_WRONLY|O_APPEND|O_CLOEXEC) |\n | 3| socket:[32046] |\n | 2| /var/log/nginx/error.log (0, O_WRONLY) |\n | 1| /dev/null (0, O_RDWR) |\n | 0| /dev/null (0, O_RDWR) |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n \n # python3 guider/guider.py stacktop -g syslog\n\n [Top Info] [Time: 7176163.830] [Interval: 1.0] [Ctxt: 2914] [Life: +13/-12] [IRQ: 5103] [Core: 24] [Task: 328/435] [RAM: 63876] [Swap: 65491] (Unit: %/MB/NR)\n [Cycle: 2G / Inst: 3G / IPC: 1.34 / CacheMiss: 6M(34%) / BranchMiss: 4M(0%) / Clock: 23G / MinFlt: 53,257 / MajFlt: 0]\n ==========================================================================================================================================================\n ID | CPU (Usr/Ker/Blk/IRQ)| Mem (Diff/ User/Cache/Kern)| Swap (Diff/ I/O )|NrPgRclm | BlkRW | NrFlt | NrBlk | NrSIRQ | NrMlk | NrDrt | Network |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n Total | 6 %( 3 / 1 / 0 / 0 )| 4913(-204/ 974/56824/1165)| 0 ( 0 / 0/0 )| 0/0 | 0/42 | 0 | 0 | 3713 | 0 | 90901 | 2K/13K |\n ==========================================================================================================================================================\n Thread ( TID/ PID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| Mem(RSS/Txt/Shr/Swp)| Blk( RD / WR /NrFlt)| Yld | Prmt | FD | LifeTime| WaitChannel |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n rsyslogd ( 2702/ 2702/ 4/C 0)| 0( 0/ 0/ -)| 244( 5/ 0/ 2/ 0)| 0( -/ -/ 0)| 0| 0| 64| 1K:22:40|poll_schedule_timeout|\n 100% | poll_schedule_timeout+0x43/0x70 <- do_select+0x711/0x7f0 <- core_sys_select+0x196/0x280 <-\n SyS_select+0xa6/0xe0 <- entry_SYSCALL_64_fastpath+0x1a/0xa5\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n rsyslogd ( 2779/ 2702/ 4/C 0)| 0( 0/ 0/ -)| 244( 5/ 0/ 2/ 0)| 0( -/ -/ 0)| 0| 0| 64| 1K:22:40|poll_schedule_timeout|\n 100% | poll_schedule_timeout+0x43/0x70 <- do_select+0x711/0x7f0 <- core_sys_select+0x196/0x280 <-\n SyS_select+0xa6/0xe0 <- entry_SYSCALL_64_fastpath+0x1a/0xa5\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n rsyslogd ( 2780/ 2702/ 4/C 0)| 0( 0/ 0/ 0)| 244( 5/ 0/ 2/ 0)| 0( -/ -/ 0)| 116| 0| 64| 1K:22:40| do_syslog |\n 99% | do_syslog+0x446/0x4c0 <- kmsg_read+0x3f/0x50 <- proc_reg_read+0x3d/0x60 <- __vfs_read+0x23/0x110 <-\n vfs_read+0x91/0x130 <- SyS_read+0x41/0xa0 <- entry_SYSCALL_64_fastpath+0x1a/0xa5\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n \n # python3 guider/guider.py ptop -g yes\n\n [Top Info] [Time: 7181955.420] [Interval: 1.0] [Ctxt: 121] [Life: +0/-0] [IRQ: 1947] [Core: 24] [Task: 317/424] [RAM: 63876] [Swap: 65491] (Unit: %/MB/NR)\n ==========================================================================================================================================================\n ID | CPU (Usr/Ker/Blk/IRQ)| Mem (Diff/ User/Cache/Kern)| Swap (Diff/ I/O )|NrPgRclm | BlkRW | NrFlt | NrBlk | NrSIRQ | NrMlk | NrDrt | Network |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n Total | 5 %( 4 / 0 / 0 / 0 )| 3783( 0/ 875/58078/1140)| 0 ( 0 / 0/0 )| 0/0 | 0/0 | 0 | 0 | 2023 | 0 | 0 | 1K/3K |\n ==========================================================================================================================================================\n Process ( PID/ PPID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| Mem(RSS/Txt/Shr/Swp)| Blk( RD / WR /NrFlt)| Yld | Prmt | FD | LifeTime| WaitChannel |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n yes (22371/ 9085/ 1/R 90)| 99( 99/ 0/ 0)| 8( 0/ 0/ 0/ 0)| 0( -/ -/ 0)| 0| 0| 256| 1:34:11| RUNNING |\n | [Cycle: 2G / Inst: 6G / IPC: 2.82 / CacheMiss: 11K(98%) / BranchMiss: 26K(0%) / Clock: 972M / MinFlt: 0 / MajFlt: 0]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n \n # python3 guider/guider.py mtop\n\n [Top Info] [Time: 92097.250] [Inter: 1.0] [Ctxt: 41] [Life: +0/-0] [IRQ: 6] [Core: 8] [Task: 49/77] [Load: 0/0/0] [RAM: 3.7G] [Swap: 1.0G] [Bat: 99%/08:43:\n [SYSTEM > Active: 490.2M, Active(anon): 3.8M, Active(file): 486.4M, AnonHugePages: 46.0M, AnonPages: 139.8M\n Buffers: 127.7M, Cached: 698.4M, CommitLimit: 2.9G, Committed_AS: 675.7M, DirectMap1G: 8.0G\n DirectMap2M: 3.8G, DirectMap4k: 101.0M, Dirty: 88.0K, Hugepagesize: 2.0M, Inactive: 483.1M\n Inactive(anon): 159.6M, Inactive(file): 323.5M, KReclaimable: 66.2M, KernelStack: 3.6M, Mapped: 99.9M\n MemAvailable: 3.1G, MemFree: 2.4G, MemTotal: 3.7G, PageTables: 3.5M, Percpu: 3.9M\n SReclaimable: 66.2M, SUnreclaim: 49.3M, Shmem: 16.2M, Slab: 115.5M, SwapFree: 1.0G\n SwapTotal: 1.0G, VmallocTotal: 32.0T, VmallocUsed: 24.7M]\n [BUDDY > DMA: 0_0_0_0_0_0_0_0_0_1_3 / DMA32: 1,721_922_562_1,003_698_425_265_98_13_15_543 / Normal: 7_4_2_2_1_0_0_1_0_0_0]\n [KSM > full_scans: 0, max_page_sharing: 256, pages_shared: 0, pages_sharing: 0, pages_to_scan: 100, pages_total: 0, pages_unshared: 0\n pages_volatile: 0, run: 0, sleep_millisecs: 20, stable_node_chains: 0, stable_node_chains_prune_millisecs: 2,000, stable_node_dups: 0\n use_zero_pages: 0]\n [VM > swappiness: 60 / cache_pressure: 100 / overcommit: 0]\n [N0-DMA > diff: 0 / free: 14.0M / min: 244.0K / low: 304.0K / high: 364.0K / managed: 14.0M / present: 14.6M / spanned: 16.0M]\n [N0-DMA32 > diff: -252.0K / free: 2.4G / min: 65.2M / low: 81.5M / high: 97.8M / managed: 3.7G / present: 3.9G / spanned: 4.0G]\n [N0-Device > diff: 0 / free: 0 / min: 0 / low: 0 / high: 0 / managed: 0 / present: 0 / spanned: 8.0G]\n [N0-Normal > diff: 0 / free: 732.0K / min: 592.0K / low: 740.0K / high: 888.0K / managed: 33.5M / present: 42.0M / spanned: 42.0M]\n ==========================================================================================================================================================\n ID | CPU(Usr/Ker/Blk/IRQ)|MemAvl(Per/ User/ Cache/ Kern)| Swap( Per/ In/Out)| PgRclm | BlkRW | NrFlt |Blk| NrSIRQ | PgMlk | PgDirt | NetIO |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n Total | 0 %( 0/ 0/ 0/ 0)| 3143( 18/ 139/ 941/ 259)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 0 | 0 | 22 | 255/52 |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n CPU [ ] MEM [####### ] SWAP [ ]|\n ==========================================================================================================================================================\n Process ( PID/PPID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS( RSS/Txt/Shr/Swp)| Blk( RD/ WR/NrFlt)| SID| USER| FD| LifeTime| Parent|\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n snapd (3094/ 1/ 15/C 0)| 0( 0/ 0/ -)|1722( 43/ 9/ 18/ 0)| 0( -/ -/ 0)| 3094| root| 128| 16:50:57| systemd(1)|\n MEM(ANON/73) | VSS: 1.7G / RSS: 23.7M / PSS: 23.7M / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|\n MEM(FILE/4) | VSS: 23.7M / RSS: 21.5M / PSS: 19.9M / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|\n MEM(HEAP/1) | VSS: 132.0K / RSS: 4.0K / PSS: 4.0K / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|\n MEM(OTHER/2) | VSS: 24.0K / RSS: 4.0K / PSS: 0 / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|\n MEM(STACK/1) | VSS: 132.0K / RSS: 20.0K / PSS: 20.0K / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|\n MEM(SUM) | VmPeak: 1.7G, VmHWM: 54.2M, VmData: 175.5M, HugetlbPages: 0, RssAnon: 24.7M, RssFile: 19.0M, RssShmem: 0 |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n \n # python3 guider/guider.py ntop\n\n [Top Info] [Time: 186473.960] [Interval: 1.0] [Ctxt: 7865] [Life: +0/-0] [OOM: 0] [IRQ: 4229] [Core: 8] [Task: 328/1171] [Load: 0.5/0.3/0.3] [RAM: 62.8G]\n ==========================================================================================================================================================\n ID | CPU(Usr/Ker/Blk/IRQ)| Avl(Diff/ User/Cache/Kern)| Swap(Diff/ In/Out)| PgRclm | BlkRW | NrFlt | PrBlk | NrSIRQ | PgMlk | PgDrt | Network |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n Total | 1 %( 0 / 0 / 0 / 0 )|59939( -2/ 3054/ 6429/ 350)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 1661 | 1607 | 343 | 652K/9K |\n ==========================================================================================================================================================\n Network | Receive | Transfer |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n Dev | IP | Size | Packet | Error | Drop | Multicast | Size | Packet | Error | Drop | Multicast |\n ==========================================================================================================================================================\n docker0 | 166.104.101.26 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |\n eno1 | 166.104.101.1 | 665.9K | 475 | 0 | 0 | 1 | 12.0K | 168 | 0 | 0 | 0 |\n enx201601190a25 | 166.104.101.27 | 48 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |\n lo | 127.0.0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |\n virbr0 | | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |\n virbr0-nic | | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |\n [ TOTAL ] | | 666.0K | 476 | 0 | 0 | 1 | 12.0K | 168 | 0 | 0 | 0 |\n ==========================================================================================================================================================\n\n>>>\n \n # python3 guider/guider.py disktop\n \n [Top Info] [Time: 262411.830] [Inter: 1.0] [Ctxt: 802] [Life: +0/-0] [IRQ: 10675] [Core: 40] [Task: 481/700] [Load: 38/38/38] [RAM: 125.7G] [Swap: 4.0G]\n ==========================================================================================================================================================\n ID | CPU(Usr/Ker/Blk/IRQ)| Avl( Per/ User/Cache/Kern)| Swap( Per/ In/Out)| PgRclm | BlkRW | NrFlt | PrBlk | NrSIRQ | PgMlk | PgDrt | Network |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n Total | 98 %(97 / 0 / 0 / 0 )|124431( 96/ 994/ 3531/1733)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 11620 | 4613 | 70 | 1K/0 |\n ==========================================================================================================================================================\n DEV |BUSY| AVQ | READ | WRITE | FREE( DIFF)|USAGE| TOTAL | AVF | FS | MountPoint <Option> |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n /dev/sda2 | 0%| 0| 0| 0| 670.6G( 0)| 28%| 937.4G| 57.6M| ext4 | / <rw,relatime> |\n /dev/loop4 | 0%| 0| 0| 0| 0( 0)| 100%| 30.0M| 0|squashfs| /snap/snapd/9279 <ro,nodev,relatime> |\n /dev/loop5 | 0%| 0| 0| 0| 0( 0)| 100%| 70.0M| 0|squashfs| /snap/lxd/16922 <ro,nodev,relatime> |\n /dev/sda1 | 0%| 0| 0| 0| 503.0M( 0)| 1%| 510.0M| 0| vfat | /boot/efi <rw,relatime> |\n /dev/loop1 | 0%| 0| 0| 0| 0( 0)| 100%| 55.0M| 0|squashfs| /snap/core18/1885 <ro,nodev,relatime> |\n /dev/loop2 | 0%| 0| 0| 0| 0( 0)| 100%| 70.0M| 0|squashfs| /snap/lxd/16894 <ro,nodev,relatime> |\n /dev/loop0 | 0%| 0| 0| 0| 0( 0)| 100%| 55.0M| 0|squashfs| /snap/core18/1880 <ro,nodev,relatime> |\n /dev/loop3 | 0%| 0| 0| 0| 0( 0)| 100%| 30.0M| 0|squashfs| /snap/snapd/8790 <ro,nodev,relatime> |\n /run/snapd/ns | 0%| 0| 0| 0| 12.6G( 0)| 0%| 12.6G| 15.7M| tmpfs | /run/snapd/ns |\n /run/user/1004 | 0%| 0| 0| 0| 12.6G( 0)| 0%| 12.6G| 15.7M| tmpfs | /run/user/1004 <rw,nosuid,nodev,relatime> |\n /sys/fs/cgroup | 0%| 0| 0| 0| 62.9G( 0)| 0%| 62.9G| 15.7M| tmpfs | /sys/fs/cgroup <ro,nosuid,nodev,noexec> |\n /run | 0%| 0| 0| 0| 12.6G( 0)| 0%| 12.6G| 15.7M| tmpfs | /run <rw,nosuid,nodev,noexec,relatime> |\n /run/lock | 0%| 0| 0| 0| 5.0M( 0)| 0%| 5.0M| 15.7M| tmpfs | /run/lock <rw,nosuid,nodev,noexec,relatime> |\n /dev/shm | 0%| 0| 0| 0| 62.9G( 0)| 0%| 62.9G| 15.7M| tmpfs | /dev/shm <rw,nosuid,nodev> |\n ==========================================================================================================================================================\n\n>>>\n \n # python3 guider/guider.py wtop -g yes\n\n [Top Info] [Time: 92197.480] [Inter: 1.0] [Ctxt: 72] [Life: +0/-0] [IRQ: 18] [Core: 8] [Task: 49/77] [Load: 0/0/0] [RAM: 3.7G] [Swap: 1.0G] [Bat: 99%/08:43:53/+]\n ==========================================================================================================================================================\n ID | CPU(Usr/Ker/Blk/IRQ)|MemAvl(Per/ User/ Cache/ Kern)| Swap( Per/ In/Out)| PgRclm | BlkRW | NrFlt |Blk| NrSIRQ | PgMlk | PgDirt | NetIO |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n Total | 1 %( 0/ 0/ 0/ 0)| 3134( 18/ 140/ 941/ 267)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 0 | 0 | 36 | 0/0 |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n CPU [ ] MEM [####### ] SWAP [ ]|\n ==========================================================================================================================================================\n Process ( PID/PPID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS( RSS/Txt/Shr/Swp)| Blk( RD/ WR/NrFlt)| SID| USER| FD| LifeTime| Parent|\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n snapd (3094/ 1/ 15/C 0)| 0( 0/ 0/ 0)|1722( 43/ 9/ 18/ 0)| 0( -/ -/ 0)| 3094| root| 128| 16:52:37| systemd(1)|\n MEM(VSS) | VSS: [ 1.7G] -> 1.7G -> 1.7G -> 1.7G -> 1.7G -> 1.7G -> 1.7G -> 1.7G -> 1.7G\n MEM(RSS) | RSS: [ 45.4M] -> 45.4M -> 45.4M -> 45.4M -> 45.4M -> 45.4M -> 45.4M -> 45.4M -> 45.4M\n MEM(PSS) | PSS: [ 43.8M] -> 43.8M -> 43.8M -> 43.8M -> 43.8M -> 43.8M -> 43.8M -> 43.8M -> 43.8M\n MEM(USS) | USS: [ 43.7M] -> 43.7M -> 43.7M -> 43.7M -> 43.7M -> 43.7M -> 43.7M -> 43.7M -> 43.7M\n MEM(WSS) | WSS: [ 1.7M] -> 0 -> 12.7M -> 12.7M -> 12.7M -> 12.7M -> 12.7M -> 12.7M -> 12.7M\n MEM(ANON/73) | VSS: 1.7G / RSS: 23.9M / PSS: 23.9M / SWAP: 0 / HUGE: 16M / LOCK: 0 / SDRT: 0 / PDRT: 23.9M|\n | WSS: [ 0] -> 0 -> 12.2M -> 12.2M -> 12.2M -> 12.2M -> 12.2M -> 12.2M -> 12.2M\n MEM(FILE/4) | VSS: 23.7M / RSS: 21.5M / PSS: 19.9M / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 1.9M|\n | WSS: [ 1.7M] -> 0 -> 436.0K -> 436.0K -> 436.0K -> 436.0K -> 436.0K -> 436.0K -> 436.0K\n MEM(HEAP/1) | VSS: 132.0K / RSS: 4.0K / PSS: 4.0K / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 4.0K|\n | WSS: [ 0] -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0\n MEM(OTHER/2) | VSS: 24.0K / RSS: 4.0K / PSS: 0 / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|\n | WSS: [ 4.0K] -> 0 -> 4.0K -> 4.0K -> 4.0K -> 4.0K -> 4.0K -> 4.0K -> 4.0K\n MEM(STACK/1) | VSS: 132.0K / RSS: 20.0K / PSS: 20.0K / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 20.0K|\n | WSS: [ 0] -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0\n MEM(SUM) | VmPeak: 1.7G, VmHWM: 54.2M, VmData: 175.5M, HugetlbPages: 0, RssAnon: 24.7M, RssFile: 19.0M, RssShmem: 0 |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n [ TOTAL ]| 0.0( 0/ 0)| RSS: 43.0M|Swp: 0| 0( -/ -/ 0)| Yld: -| Prmt: -| Task: 1|\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n \n # python3 guider/guider.py btrace -g a.out -H\n\n _start/0x55e321d151ee [/home/peacelee/test/a.out]\n __libc_start_main/0x7ffb520af0b3 [/lib/x86_64-linux-gnu/libc-2.31.so]\n main/0x55e321d15478 [/home/peacelee/test/a.out]\n printPeace/0x55e321d15451 [/home/peacelee/test/a.out]\n printPeace2/0x55e321d15392 [/home/peacelee/test/a.out]\n asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfas/0x55e321d152e2 [/home/peacelee/test/a.out]\n 0.000384 read@GLIBC_2.26/0x7ffb52199130(-0x1,0x0,0x0,0x0,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000391 close@GLIBC_2.4/0x7ffb52199970(-0x1,0x0,0xffffffffffffff80,0x0,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000398 printf/0x7ffb520ece10(0x55e321d1600a,0x9,0xffffffffffffff80,0x0,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000405 __vfprintf_internal/0x7ffb521019e0(0x7ffb522746a0,0x55e321d1600a,0x7fff41688b40,0x55e321d1600a,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000412 __strchrnul_sse2/0x7ffb5213c820(0x55e321d1600a,0x25,0x7fff41688b40,0x55e321d1600a,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000420 _IO_new_file_xsputn/0x7ffb5211a750(0x7ffb522746a0,0x55e321d1600a,0x3,0x55e321d1600a,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000426 __mempcpy_sse2_unaligned_erms/0x7ffb52146d00(0x55e322290330,0x55e321d1600a,0x3,0x55e321d1600a,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000432 _itoa_word/0x7ffb520e6760(0x9,0x7fff41688af8,0xa,0x55e321d1600e,-0x1,0x3) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000439 _IO_new_file_xsputn/0x7ffb5211a750(0x7ffb522746a0,0x7fff41688af7,0x1,0x55e321d1600e,0x0,0x3) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000446 __mempcpy_sse2_unaligned_erms/0x7ffb52146d00(0x55e322290333,0x7fff41688af7,0x1,0x55e321d1600e,0x0,0x3) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000452 __strchrnul_sse2/0x7ffb5213c820(0x55e321d1600f,0x25,0x1,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000458 _IO_new_file_xsputn/0x7ffb5211a750(0x7ffb522746a0,0x55e321d1600f,0x1,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000464 __mempcpy_sse2_unaligned_erms/0x7ffb52146d00(0x55e322290334,0x55e321d1600f,0x1,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000471 _IO_file_overflow@GLIBC_2.2.5/0x7ffb5211bf00(0x7ffb522746a0,-0x1,0xc00,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000480 _IO_do_write@GLIBC_2.2.5/0x7ffb5211ba20(0x7ffb522746a0,0x55e322290330,0x5,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000486 _IO_file_write@GLIBC_2.2.5/0x7ffb52119fe0(0x7ffb522746a0,0x55e322290330,0x5,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.000493 write@GLIBC_2.2.5/0x7ffb521991d0(0x1,0x55e322290330,0x5,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]\n\n>>>\n \n # python3 guider/guider.py btrace -g yes -H -c \"*|getret\"\n\n 0.532473 0x2cf0/0x560d7fd28cf0(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]\n 0.532488 0x4c40/0x560d7fd2ac40(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]\n 0.532501 write@GLIBC_2.2.5/0x7faab22f1040(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.532516 write@GLIBC_2.2.5[RET]=0x2000(8192)/0.000015 -> 0x4c40/0x560d7fd26000 [/usr/bin/yes]\n 0.532557 0x4c40[RET]=0x2000(8192)/0.000069 -> 0x2cf0/0x560d7fd26000 [/usr/bin/yes]\n 0.532618 0x2cf0[RET]=0x2000(8192)/0.000145 -> 0x2580/0x560d7fd26000 [/usr/bin/yes]\n 0.532678 0x2cf0/0x560d7fd28cf0(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]\n 0.532691 0x4c40/0x560d7fd2ac40(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]\n 0.532706 write@GLIBC_2.2.5/0x7faab22f1040(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.532721 write@GLIBC_2.2.5[RET]=0x2000(8192)/0.000015 -> 0x4c40/0x560d7fd26000 [/usr/bin/yes]\n 0.532798 0x4c40[RET]=0x2000(8192)/0.000107 -> 0x2cf0/0x560d7fd26000 [/usr/bin/yes]\n 0.532881 0x2cf0[RET]=0x2000(8192)/0.000204 -> 0x2580/0x560d7fd26000 [/usr/bin/yes]\n 0.532946 0x2cf0/0x560d7fd28cf0(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]\n 0.532961 0x4c40/0x560d7fd2ac40(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]\n 0.532975 write@GLIBC_2.2.5/0x7faab22f1040(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/lib/x86_64-linux-gnu/libc-2.31.so]\n 0.532990 write@GLIBC_2.2.5[RET]=0x2000(8192)/0.000015 -> 0x4c40/0x560d7fd26000 [/usr/bin/yes]\n 0.533067 0x4c40[RET]=0x2000(8192)/0.000106 -> 0x2cf0/0x560d7fd26000 [/usr/bin/yes]\n 0.533194 0x2cf0[RET]=0x2000(8192)/0.000248 -> 0x2580/0x560d7fd26000 [/usr/bin/yes]\n\n>>>\n \n $ python3 guider/guider.py rtop &\n $ cat /tmp/guider.report\n\n {\n \"task\": {\n \"nrThread\": 397,\n \"nrBlocked\": 0,\n \"nrCtx\": 4290,\n \"nrProc\": 292\n },\n \"mem\": {\n \"kernel\": 1432,\n \"anonDiff\": -1,\n \"pgRclmFg\": 0,\n \"cache\": 35332,\n \"slabDiff\": 0,\n \"free\": 26929,\n \"anon\": 698,\n \"pgDirty\": 28,\n \"file\": 31751,\n \"freeDiff\": -1,\n \"pgRclmBg\": 0,\n \"total\": 64391,\n \"slab\": 3581,\n \"fileDiff\": -1\n \"procs\": {\n \"1954\": {\n \"text\": 0,\n \"pid\": 1954,\n \"rank\": 2,\n \"comm\": \"ruby1.9.1\",\n \"runtime\": \"110:43:32\",\n \"rss\": 104\n },\n },\n \"storage\": {\n \"total\": {\n \"read\": 0,\n \"mount\": {},\n \"favail\": 133443655,\n \"free\": 1141633,\n \"write\": 1,\n \"usage\": 1152423,\n \"total\": 2294056,\n \"usageper\": 50\n },\n \"/dev/sdb1\": {\n \"read\": 0,\n \"mount\": {\n \"path\": \"/mnt/hdd1\",\n \"fs\": \"ext4\",\n \"option\": \"rw,relatime,data=ordered\"\n },\n \"favail\": 50709466,\n \"free\": 293649,\n \"write\": 0,\n \"usage\": 645251,\n \"total\": 938900,\n \"usageper\": 68\n },\n },\n \"system\": {\n \"load5m\": 2.38,\n \"uptime\": 4191643.92,\n \"nrSoftIrq\": 7405,\n \"nrIrq\": 7289,\n \"load15m\": 0.84,\n \"interval\": 1.029999999795109,\n \"pid\": 14578,\n \"load1m\": 9.39\n },\n \"event\": {\n \"CPU_INTENSIVE\": {\n \"14592\": {\n \"kernel\": 0,\n \"runtime\": \"0:0:47\",\n \"pid\": 14592,\n \"rank\": 3,\n \"comm\": \"yes\",\n \"user\": 99,\n \"total\": 100\n },\n \"14593\": {\n \"kernel\": 0,\n \"runtime\": \"0:0:46\",\n \"pid\": 14593,\n \"rank\": 10,\n \"comm\": \"yes\",\n \"user\": 99,\n \"total\": 100\n },\n },\n \"swap\": {\n \"usage\": 76,\n \"total\": 65491,\n \"usageDiff\": 0\n },\n \"net\": {\n \"inbound\": 1479,\n \"outbound\": 392\n },\n \"cpu\": {\n \"kernel\": 0,\n \"iowait\": 0,\n \"nrCore\": 24,\n \"idle\": 8,\n \"user\": 91,\n \"irq\": 0,\n \"total\": 92,\n \"procs\": {\n \"14592\": {\n \"kernel\": 0,\n \"runtime\": \"0:0:47\",\n \"pid\": 14592,\n \"rank\": 3,\n \"comm\": \"yes\",\n \"user\": 99,\n \"total\": 100\n },\n },\n \"block\": {\n \"read\": 0,\n \"write\": 0,\n \"procs\": {},\n \"nrMajFlt\": 0,\n \"ioWait\": 0\n }\n }\n\n>>>\n \n # python3 guider/guider.py limitcpu -g yes:50 -v\n\n [Info] limited cpu usage of yes(22371) process to 50%, it used 50%\n\n [WARN] <guider(574420)> started 1th guider(574420)\n \n [WARN] <guider(574420)> 1th guider(574420) took 0.421747 seconds to finish one job\n\n>>>\n \n # python3 guider/guider.py sigtrace -g a.out\n\n 0.000929 [SIGABRT] {code=SI_TKILL, pid=signal(6858)|addr=0x1aca, uid=root(0), status=0}\n [INFO] load /usr/lib/x86_64-linux-gnu/libc.so.6... [done]\n [INFO] load /home/iipeace/test/a.out... [done]\n ==========================================================================================================================================================\n Backtrace Info [a.out(6858)<-a.out(6858)]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n pthread_kill@GLIBC_2.34+300/0x7f9656bd29fc[/usr/lib/x86_64-linux-gnu/libc.so.6]\n gsignal@GLIBC_2.13+22/0x7f9656b7e476[/usr/lib/x86_64-linux-gnu/libc.so.6]\n abort@GLIBC_2.2.5+211/0x7f9656b647f3[/usr/lib/x86_64-linux-gnu/libc.so.6]\n 0x893e0+662/0x7f9656bc5676[/usr/lib/x86_64-linux-gnu/libc.so.6]\n __fortify_fail@GLIBC_2.2.5+42/0x7f9656c7259a[/usr/lib/x86_64-linux-gnu/libc.so.6]\n __stack_chk_fail+22/0x7f9656c72566[/usr/lib/x86_64-linux-gnu/libc.so.6]\n main+64/0x55a53b20e1f5[/home/iipeace/test/a.out]\n 0x29d10+128/0x7f9656b65d90[/usr/lib/x86_64-linux-gnu/libc.so.6]\n __libc_start_main@GLIBC_2.2.5+128/0x7f9656b65e40[/usr/lib/x86_64-linux-gnu/libc.so.6]\n [.text]+37/0x55a53b20e0a5[/home/iipeace/test/a.out]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n 0.001051 +++ exited a.out(6858) with 6(SIGABRT) +++\n\n>>>\n \n # python3 guider/guider.py setsched r:90:yes\n\n [Info] changed the priority of yes(22371) to 90[R]\n\n>>>\n \n # python3 guider/guider.py remote -g a.out -c usercall:write#1#HOOK#4\n\n [usercall] write(7f94ed747140)(1, HOOK, 4) = 0x4(4)\n\n>>>\n \n # python3 guider/guider.py printenv -g systemd\n\n [ systemd(1) ]\n -----------------------------------------------------------------------------\n HOME=/\n init=/sbin/init\n NETWORK_SKIP_ENSLAVED=\n recovery=\n TERM=linux\n drop_caps=\n BOOT_IMAGE=/boot/vmlinuz-5.3.0-28-generic\n PATH=/sbin:/usr/sbin:/bin:/usr/bin\n PWD=/\n rootmnt=/root\n\n [ systemd(3310) ]\n -----------------------------------------------------------------------------\n LANG=en_US.UTF-8\n PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n NOTIFY_SOCKET=/run/systemd/notify\n HOME=/home/syjung\n LOGNAME=syjung\n USER=syjung\n SHELL=/bin/bash\n INVOCATION_ID=bbc56cc8552e4a1d815197e0a6160270\n JOURNAL_STREAM=9:10617556\n XDG_RUNTIME_DIR=/run/user/1002\n\n [ systemd(7094) ]\n -----------------------------------------------------------------------------\n LANG=en_US.UTF-8\n PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n NOTIFY_SOCKET=/run/systemd/notify\n HOME=/home/peacelee\n LOGNAME=peacelee\n USER=peacelee\n SHELL=/bin/bash\n INVOCATION_ID=be65ebdd72964e09a3ac06495261702b\n JOURNAL_STREAM=9:31410\n XDG_RUNTIME_DIR=/run/user/1004\n\n>>>\n \n # python3 guider/guider.py kill -stop yes\n\n [Info] sent SIGSTOP to yes(10594)\n\n>>>\n \n # python3 guider/guider.py printbind -g yes\n\n [Function Bind Info] [Target: yes(410113)]\n ==========================================================================================================================================================\n Path Type Sym[Bind/Vis] => Link\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n [/usr/bin/yes]\n \tNOTYPE _ITM_deregisterTMCloneTable@GLIBC_2.2.5[WEAK/DEFAULT] => NONE\n \tNOTYPE _ITM_registerTMCloneTable@GLIBC_2.2.5[WEAK/DEFAULT] => NONE\n \t FUNC __ctype_b_loc@GLIBC_2.2.5[GLOBAL/DEFAULT] => __ctype_b_loc/0x7f474b600400[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x37400]\n \t FUNC __cxa_atexit@GLIBC_2.2.5[GLOBAL/DEFAULT] => __cxa_atexit@GLIBC_2.2.5/0x7f474b612f60[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x49f60]\n \t FUNC __cxa_finalize@GLIBC_2.2.5[WEAK/DEFAULT] => __cxa_finalize@GLIBC_2.2.5/0x7f474b613090[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x4a090]\n \t FUNC __fpending@GLIBC_2.2.5[GLOBAL/DEFAULT] => __fpending@GLIBC_2.2.5/0x7f474b658f80[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x8ff80]\n \t FUNC __fprintf_chk[GLOBAL/DEFAULT] => __fprintf_chk@GLIBC_2.14/0x7f474b6fa110[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x131110]\n \t FUNC __freading@GLIBC_2.2.5[GLOBAL/DEFAULT] => __freading@GLIBC_2.2.5/0x7f474b658e90[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x8fe90]\n \tNOTYPE __gmon_start__@GLIBC_2.14[WEAK/DEFAULT] => NONE\n \t FUNC __libc_start_main@GLIBC_2.2.5[GLOBAL/DEFAULT] => __libc_start_main@GLIBC_2.2.5/0x7f474b5effc0[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x26fc0]\n \t FUNC __printf_chk@GLIBC_2.2.5[GLOBAL/DEFAULT] => __printf_chk@GLIBC_2.2.5/0x7f474b6fa040[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x131040]\n \t FUNC __stack_chk_fail@GLIBC_2.2.5[GLOBAL/DEFAULT] => __stack_chk_fail@GLIBC_2.2.5/0x7f474b6fbb00[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x132b00]\n \t FUNC _exit@GLIBC_2.2.5[GLOBAL/DEFAULT] => _Exit@GLIBC_2.3/0x7f474b6af290[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0xe6290]\n \t FUNC abort@GLIBC_2.2.5[GLOBAL/DEFAULT] => abort@GLIBC_2.2.5/0x7f474b5ee72e[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x2572e]\n \t FUNC bindtextdomain@GLIBC_2.2.5[GLOBAL/DEFAULT] => bindtextdomain@GLIBC_2.2.5/0x7f474b600920[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x37920]\n \t FUNC calloc[GLOBAL/DEFAULT] => calloc@GLIBC_2.2.5/0x7f474b667c90[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x9ec90]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n \n # python3 guider/guider.py rec -a -e m,b\n\n [Thread Info] [ Elapsed: 2.050 ] [ Start: 2849868.198 ] [ Running: 112 ] [ CtxSwc: 3357 ] [ LogSize: 4054 KB ] [ Unit: Sec/MB/NR ]\n ==========================================================================================================================================================\n __________Thread Info___________|_____________CPU Info______________|______SCHED Info______|________BLOCK Info________|_____________MEM Info_____________|\n | | | | |\n Name( Tid/ Pid)|LF|Usage( %)|Delay( Max)|Pri| IRQ | Yld| Lose|Steal| Mig| Read( MB/ Cnt)|WCnt( MB)| Sum(Usr/Buf/Ker)|Rcl|Wst|DRcl(Nr)|\n ==========================================================================================================================================================\n # CPU: 12\n \n CORE/0(-----/-----)|--| 0.00( 0.1)| 0.00( 0.00)| 0| 0.00| 7| -| -| -| 0.00( 0/ 1)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|\n CORE/1(-----/-----)|--| 0.00( 0.1)| 0.10( 0.00)| 0| 0.00| 147| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|\n CORE/2(-----/-----)|--| 0.00( 0.1)| 0.16( 0.00)| 0| 0.00| 211| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|\n CORE/3(-----/-----)|--| 0.00( 0.1)| 0.11( 0.00)| 0| 0.00| 181| -| -| -| 0.00( 0/ 0)| 32( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|\n CORE/4(-----/-----)|--| 0.00( 0.1)| 0.11( 0.00)| 0| 0.00| 232| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|\n CORE/5(-----/-----)|--| 0.30( 14.8)| 0.18( 0.00)| 0| 0.00| 179| -| -| -| 1.26( 6/ 495)| 19( 0)| 61( 57/ 0/ 3)| 0| 0|0.00( 0)|\n CORE/6(-----/-----)|--| 0.00( 0.0)| 0.35( 0.00)| 0| 0.00| 57| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|\n CORE/7(-----/-----)|--| 0.00( 0.0)| 0.60( 0.00)| 0| 0.00| 100| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|\n CORE/8(-----/-----)|--| 0.00( 0.0)| 0.44( 0.00)| 0| 0.00| 59| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|\n CORE/9(-----/-----)|--| 0.00( 0.0)| 1.94( 0.00)| 0| 0.00| 37| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|\n CORE/10(-----/-----)|--| 0.07( 3.4)| 0.00( 0.00)| 0| 0.00| 2| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|\n CORE/11(-----/-----)|--| 0.00( 0.0)| 2.05( 0.00)| 0| 0.00| 39| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|\n \n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n # Hot: 4\n \n synergyc( 3604/ 3602)| | 0.17( 8.5)| 0.00( 0.00)| 0| 0.00| 3| 14| 3| 0| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|\n arm-starfish-li(16087/16087)| | 0.13( 6.3)| 0.00( 0.00)| 0| 0.00| 0| 20| 157| 4| 1.26( 6/ 496)| 0( 0)| 61( 57/ 0/ 3)| 0| 0|0.00( 0)|\n guider(16088/16088)| | 0.07( 3.4)| 0.00( 0.00)|R90| 0.00| 2| 0| 2| 0| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|\n \n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n \n>>>\n \n # python3 guider/guider.py iorec -s\n # python3 guider/guider.py report -a\n\n [Thread Block Info] (Unit: NR)\n ==========================================================================================================================================================\n ID OPT NrDev TOTAL SEQUENTIAL( %) FS PATH \n [ACCESS] COUNT \n ==========================================================================================================================================================\n TOTAL READ 8:3 131.8M 131.3M( 99.6) - /dev/sda3\n [ 4.0K - 7.0K] 370 \n [ 16.0K - 31.0K] 11 \n [ 32.0K - 63.0K] 6 \n [ 64.0K - 127.0K] 5 \n [ 128.0K - 255.0K] 1037 \n 253:0 131.8M 131.3M( 99.6) ext4 / <rw,relatime>\n [ 4.0K - 7.0K] 370 \n [ 16.0K - 31.0K] 11 \n [ 32.0K - 63.0K] 6 \n [ 64.0K - 127.0K] 5 \n [ 128.0K - 255.0K] 1037 \n WRITE 253:0 40.0K 20.0K( 50.0) ext4 / <rw,relatime>\n [ 4.0K - 7.0K] 10 \n 8:3 24.0K 20.0K( 83.3) - /dev/sda3\n [ 4.0K - 7.0K] 6 \n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n guider(4011197) READ 8:3 100.0M 100.0M(100.0) - /dev/sda3\n [ 16.0K - 31.0K] 2 \n [ 32.0K - 63.0K] 1 \n [ 64.0K - 127.0K] 1 \n [ 128.0K - 255.0K] 799 \n 253:0 100.0M 100.0M(100.0) ext4 / <rw,relatime>\n [ 16.0K - 31.0K] 2 \n [ 32.0K - 63.0K] 1 \n [ 64.0K - 127.0K] 1 \n [ 128.0K - 255.0K] 799 \n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n [Thread FS Info] (Unit: NR)\n ==========================================================================================================================================================\n ID OPT NrDev INODE Size FS PATH \n ==========================================================================================================================================================\n TOTAL WRITE 16.0K \n 253:0 16.0K ext4 / <rw,relatime>\n 0 16.0K\n READ 131.8M\n 0:3 1.4M ? ?\n 0 1.4M\n 253:0 130.4M ext4 / <rw,relatime>\n 24520383 100.0M /home/peacelee/guider/guider/TEST2[100.0M]\n 24520372 20.0M /home/peacelee/guider/guider/TEST[20.0M]\n 24520353 10.0M /home/peacelee/guider/guider/TEST3[10.0M]\n 6030383 84.0K\n 6819964 72.0K\n 6029790 68.0K\n 6031485 44.0K\n 6031543 40.0K\n 6819797 16.0K\n 6035523 16.0K\n 0 16.0K\n 6818557 4.0K\n 6818689 4.0K\n 7078584 4.0K\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n guider(4011197) READ 100.0M\n 253:0 100.0M ext4 / <rw,relatime>\n 24520383 100.0M /home/peacelee/guider/guider/TEST2[100.0M]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n guider(4011193) READ 20.0M\n 253:0 20.0M ext4 / <rw,relatime>\n 24520372 20.0M /home/peacelee/guider/guider/TEST[20.0M]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n \n>>>\n \n # python3 guider/guider.py iorec -s\n # python3 guider/guider.py report -q RALIST\n # python3 guider/guider.py readahead readahead.list\n\n [INFO] start readahead from '/home/peacelee/guider/guider/readahead.list'\n\n [INFO] changed the CPU scheduling priority for guider(4011281) to 10[C]\n\n [INFO] changed the I/O scheduling priority for guider(4011281) to IOPRIO_CLASS_IDLE(0)[IOPRIO_WHO_PROCESS]\n\n [INFO] finished readahead a total of 130.0M data for 0.002 sec\n \n>>>\n \n # python3 guider/guider.py sysrec \n\n [Thread Syscall Info] (Unit: Sec/NR)\n ==========================================================================================================================================================\n Name( Tid) Syscall( ID) Elapsed Count Error Min Max Avg\n ==========================================================================================================================================================\n arm-linux-gnuea( 3000)\n close( 3) 0.039396 69 0 0.000001 0.005353 0.000571\n stat( 4) 0.011521 74 0 0.000001 0.009423 0.000156\n fchmod( 91) 0.000046 3 0 0.000002 0.000039 0.000015\n getpriority(140) 0.000017 33 0 0.000000 0.000001 0.000001\n lgetxattr(192) 0.000014 3 0 0.000003 0.000008 0.000005\n recvfrom( 45) 0.000004 1 0 0.000004 0.000004 0.000004\n\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n guider( 3001)\n pause( 34) 0.283474 1 1 0.283474 0.283474 0.283474\n select( 23) 0.100122 1 0 0.100122 0.100122 0.100122\n write( 1) 0.000234 6 0 0.000031 0.000059 0.000039\n open( 2) 0.000084 7 0 0.000007 0.000038 0.000012\n ioctl( 16) 0.000009 14 14 0.000001 0.000001 0.000001\n fstat( 5) 0.000006 14 0 0.000001 0.000001 0.000000\n lseek( 8) 0.000006 21 0 0.000000 0.000001 0.000000\n close( 3) 0.000005 7 0 0.000000 0.000001 0.000001\n rt_sigaction( 13) 0.000001 1 0 0.000001 0.000001 0.000001\n\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n mysqld( 3237)\n futex(202) 0.000000 1 0 0.000000 0.000000 0.000000\n\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n mysqld( 3238)\n futex(202) 0.000002 1 0 0.000002 0.000002 0.000002\n\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n screen( 9045)\n select( 23) 0.000082 4 0 0.000004 0.000069 0.000021\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n \n>>>\n \n # python3 guider/guider.py rec -e L\n\n [Thread Futex Lock Info] [ Elapsed : 1.225 ] (Unit: Sec/NR)\n ==========================================================================================================================================================\n Name( Tid/ Pid) Elapsed Process Block NrBlock CallMax Lock LockMax NrLock NrWait LBlock NrLBlock LastStat\n ==========================================================================================================================================================\n mysqld( 3236/ 3208) 0.469 0.000 0.469 1 0.469 0.000 0.000 0 1 0.000 0 Wait\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n mysqld( 3237/ 3208) 0.890 0.000 0.890 1 0.890 0.000 0.000 0 1 0.000 0 Wait\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n mysqld( 3238/ 3208) 1.075 0.000 1.075 1 1.075 0.000 0.000 0 1 0.000 0 Wait\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n [Thread File Lock Info] (Unit: Sec/NR)\n ==========================================================================================================================================================\n Name( Tid) Wait Lock nrTryLock nrLocked\n ==========================================================================================================================================================\n smbd( 2631) 0.000 0.000 3 3\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n \n>>>\n \n # python3 guider/guider.py rec -s . -K openfile:getname::**string\n\n [Thread KERNEL Event Info]\n ==========================================================================================================================================================\n Event Comm( Tid ) Usage Count ProcMax ProcMin InterMax InterMin\n ==========================================================================================================================================================\n openfile TOTAL( - ) 0.000729 1012 0.000013 0.000001 1.979834 0.000109\n ps(10728) 0.000640 968 0.000013 0.000000 0.001636 0.000006\n python2(10727) 0.000038 26 0.000004 0.000001 1.979834 0.000020\n tmux( 6959) 0.000031 9 0.000006 0.000003 0.299492 0.201316\n PassengerAgent(23183) 0.000008 5 0.000002 0.000001 0.007375 0.000109\n sendmail-mta( 3419) 0.000007 2 0.000006 0.000001 0.000077 0.000077\n PassengerAgent(10729) 0.000003 1 0.000003 0.000003 0.000000 0.000000\n smbd(11086) 0.000002 1 0.000002 0.000002 0.000000 0.000000\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n [Thread KERNEL Event History]\n ==========================================================================================================================================================\n EVENT TYPE TIME COMM( TID) CALLER ELAPSED ARG\n ==========================================================================================================================================================\n openfile EXIT 0.063942 tmux( 6959) porch_do_sys_open 0.000003 1>\"/proc/7969/cmdline\"\n openfile ENTER 0.137626 python2(10727) -\n openfile EXIT 0.137628 python2(10727) porch_do_sys_open 0.000002 1>\"/sys/kernel/debug/tracing/trace\"\n openfile ENTER 0.363431 tmux( 6959) -\n openfile EXIT 0.363437 tmux( 6959) porch_do_sys_open 0.000006 1>\"/proc/7197/cmdline\"\n openfile ENTER 0.510452 smbd(11086) -\n openfile EXIT 0.510454 smbd(11086) porch_do_sys_open 0.000002 1>\"/var/log/samba/log.jhkim-z97x-ud3h\"\n openfile ENTER 0.564845 tmux( 6959) -\n openfile EXIT 0.564848 tmux( 6959) porch_do_sys_open 0.000003 1>\"/proc/7969/cmdline\"\n openfile ENTER 0.864255 tmux( 6959) -\n openfile EXIT 0.864258 tmux( 6959) porch_do_sys_open 0.000003 1>\"/proc/7197/cmdline\"\n openfile ENTER 1.065571 tmux( 6959) -\n openfile EXIT 1.065574 tmux( 6959) porch_do_sys_open 0.000003 1>\"/proc/7969/cmdline\"\n openfile ENTER 1.364980 tmux( 6959) -\n openfile EXIT 1.364984 tmux( 6959) porch_do_sys_open 0.000004 1>\"/proc/7197/cmdline\"\n openfile ENTER 1.437128 sendmail-mta( 3419) -\n openfile EXIT 1.437134 sendmail-mta( 3419) porch_do_sys_open 0.000006 1>\"/proc/loadavg\"\n openfile ENTER 1.437205 sendmail-mta( 3419) -\n openfile EXIT 1.437206 sendmail-mta( 3419) porch_do_sys_open 0.000001 1>\"/proc/loadavg\"\n openfile ENTER 1.566369 tmux( 6959) -\n openfile EXIT 1.566372 tmux( 6959) porch_do_sys_open 0.000003 1>\"/proc/7969/cmdline\"\n openfile ENTER 1.865776 tmux( 6959) -\n openfile EXIT 1.865779 tmux( 6959) porch_do_sys_open 0.000003 1>\"/proc/7197/cmdline\"\n openfile ENTER 1.955265 PassengerAgent(10729) -\n openfile EXIT 1.955268 PassengerAgent(10729) porch_do_sys_open 0.000003 1>\"/dev/fd\"\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n \n>>>\n \n # python3 guider/guider.py funcrec -s .\n # python3 guider/guider.py report -a\n # cat guider.out\n\n [Function CPU Info] [Cnt: 394] [Interval: 8ms] (USER)\n ==========================================================================================================================================================\n __Usage__|___________________Function____________________|_____________________________________________Binary_____________________________________________\n ==========================================================================================================================================================\n 99.0% | cpuTest | /media/disk/work/test/a.out\n + 100.0% | <- startTest [/media/disk/work/test/a.out] <- main [/media/disk/work/test/a.out]\n <- __libc_start_main [/lib/x86_64-linux-gnu/libc-2.19.so]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 0.5% | memset | /lib/x86_64-linux-gnu/libc-2.19.so\n + 100.0% | <- startTest [/media/disk/work/test/a.out] <- main [/media/disk/work/test/a.out]\n <- __libc_start_main [/lib/x86_64-linux-gnu/libc-2.19.so]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 0.3% | _int_malloc | /lib/x86_64-linux-gnu/libc-2.19.so\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 0.3% | 00007f756e3e7ee4 | ??\n + 100.0% | <- 000000000044676f [/media/disk/work/test/a.out]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n \n [Function CPU Info] [Cnt: 394] [Interval: 8ms] (KERNEL)\n ==========================================================================================================================================================\n __Usage__|____________________________________________________________________Function____________________________________________________________________\n ==========================================================================================================================================================\n 100.0% | hrtimer_interrupt\n + 99.5% | <- local_apic_timer_interrupt <- smp_apic_timer_interrupt <- apic_timer_interrupt\n + 0.3% | <- local_apic_timer_interrupt <- smp_apic_timer_interrupt <- apic_timer_interrupt <- do_page_fault <- page_fault\n + 0.3% | <- local_apic_timer_interrupt <- smp_apic_timer_interrupt <- apic_timer_interrupt <- __do_fault <- handle_mm_fault <- __do_page_fault\n <- do_page_fault <- page_fault\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n \n>>>\n \n # python3 guider/guider.py funcrec -e m -s .\n # python3 guider/guider.py report -a\n # cat guider.out\n\n [Function Page Info] [Total: 11.4M] [Alloc: 11.4M(817)] [Free: 188.0K(47)] (USER)\n ==========================================================================================================================================================\n Usage ( Usr / Buf / Ker )|___________________Function____________________|________________LifeTime________________|______________Binary_______________\n ==========================================================================================================================================================\n 10256K( 2048/ 0/ 8208)| memset | AVR: 1.563 / MIN: 1.560 / MAX: 1.568 | /lib/x86_64-linux-gnu/libc-2.19.so\n + 10256K( 2048/ 0/ 8208)| <- startTest [/media/disk/work/test/a.out] <- main [/media/disk/work/test/a.out]\n <- __libc_start_main [/lib/x86_64-linux-gnu/libc-2.19.so]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 960K( 956/ 0/ 4)| _int_malloc | AVR: 1.559 / MIN: 1.554 / MAX: 1.560 | /lib/x86_64-linux-gnu/libc-2.19.so\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 56K( 16/ 0/ 40)| 00007f756e3e81e7 | AVR: 1.569 / MIN: 1.568 / MAX: 1.569 | ??\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 44K( 36/ 0/ 8)| sysmalloc | AVR: 1.560 / MIN: 1.558 / MAX: 1.568 | /lib/x86_64-linux-gnu/libc-2.19.so\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 12K( 12/ 0/ 0)| elf_machine_rela_relative | AVR: 1.568 / MIN: 1.568 / MAX: 1.568 | /lib/x86_64-linux-gnu/ld-2.19.so\n + 12K( 12/ 0/ 0)| <- dl_main [/lib/x86_64-linux-gnu/ld-2.19.so] <- _dl_sysdep_start [/lib/x86_64-linux-gnu/ld-2.19.so]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 8K( 8/ 0/ 0)| realloc | AVR: 1.568 / MIN: 1.568 / MAX: 1.568 | /lib/x86_64-linux-gnu/ld-2.19.so\n + 4K( 4/ 0/ 0)| <- _dl_map_object [/lib/x86_64-linux-gnu/ld-2.19.so]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 8K( 4/ 0/ 4)| dl_main | AVR: 1.568 / MIN: 1.568 / MAX: 1.568 | /lib/x86_64-linux-gnu/ld-2.19.so\n + 8K( 4/ 0/ 4)| <- _dl_sysdep_start [/lib/x86_64-linux-gnu/ld-2.19.so]\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n \n [Function Page Info] [Total: 11.4K] [Alloc: 11.4K(817)] [Free: 188.0K(47)] (KERNEL)\n ==========================================================================================================================================================\n Usage ( Usr / Buf / Ker )|___________________Function____________________|__________________________________LifeTime__________________________________\n ==========================================================================================================================================================\n 8192K( 0/ 0/ 8192)| do_huge_pmd_anonymous_page | AVR: 1.563 / MIN: 1.562 / MAX: 1.564\n + 8192K( 0/ 0/ 8192)| <- handle_mm_fault <- __do_page_fault <- do_page_fault <- page_fault\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 3084K( 3084/ 0/ 0)| handle_mm_fault | AVR: 1.563 / MIN: 1.554 / MAX: 1.569\n + 3076K( 3076/ 0/ 0)| <- __do_page_fault <- do_page_fault <- page_fault\n + 4K( 4/ 0/ 0)| <- __get_user_pages <- get_user_pages <- copy_strings.isra.17 <- copy_strings_kernel <- do_execve_common.isra.23\n <- SyS_execve <- stub_execve\n + 4K( 4/ 0/ 0)| <- __do_page_fault <- do_page_fault <- page_fault <- load_elf_binary <- search_binary_handler\n <- do_execve_common.isra.23 <- SyS_execve <- stub_execve\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n \n>>>\n \n # python3 guider/guider.py filerec \n\n [File Usage Info] [File: 213] [RAM: 175.2M] [Reclaim: 0/0] [Uptime: 1d:01:42:33] [Keys: Foward/Back/Save/Quit]\n ==========================================================================================================================================================\n __RAM___|__File__|__%__|__PSS___|____________________________________________________Library & Process____________________________________________________\n ==========================================================================================================================================================\n 39.1M | 39.1M | 100 | 39.1M | /var/lib/snapd/snaps/snapd_21184.snap [Proc: 1] [Link: 1] [Open: 1]\n | snapfuse ( 125) |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 5.3M | 8.0M | 66 | 5.3M | /var/log/journal/758ca7c4e01db1a1cae9325f634ab22a/system.journal [Proc: 1] [Link: 1] [Open: 1]\n | systemd-journal ( 56) |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 5.2M | 5.2M | 100 | 5.2M | /home/iipeace/guider/guider/.guider.py.swp [Proc: 1] [Link: 1] [Open: 1]\n | vi ( 6732) |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 5.1M | 5.6M | 90 | 2.5M | /usr/bin/python3.10 [Proc: 2] [Link: 1] [Map: 2]\n | networkd-dispat ( 178) | unattended-upgr ( 341) |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 3.8M | 4.2M | 89 | 434.7K | /usr/lib/x86_64-linux-gnu/libcrypto.so.3 [Proc: 9] [Link: 1] [Map: 9]\n | systemd ( 1) | systemd-journal ( 56) | systemd-udevd ( 85) | systemd-network ( 172) |\n | systemd-logind ( 190) | udisksd ( 198) | systemd-resolve ( 262) | sshd ( 829) |\n | packagekitd ( 3858) |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n 3.7M | 8.0M | 46 | 3.7M | /var/log/journal/758ca7c4e01db1a1cae9325f634ab22a/user-1000.journal [Proc: 1] [Link: 1] [Open: 1]\n | systemd-journal ( 56) |\n ----------------------------------------------------------------------------------------------------------------------------------------------------------\n\n>>>\n \n $ python3 guider/guider.py top -o guider.out\n $ python3 guider/guider.py draw guider.out\n\n>>>\n\n<img alt=\"graph\" src=\"https://user-images.githubusercontent.com/15862689/67160607-9b1fc680-f38d-11e9-988e-5d90729d983e.png\" width=\"100%\" height=\"100%\">\n<img alt=\"chart\" src=\"https://user-images.githubusercontent.com/15862689/67160609-9bb85d00-f38d-11e9-9280-9ab649bb56b1.png\" width=\"100%\" height=\"100%\">\n\n>>>\n \n # python3 guider/guider.py rec -s guider.dat\n # python3 guider/guider.py draw guider.dat\n\n>>>\n\n<img alt=\"timeline\" src=\"https://github.com/iipeace/iipeace.github.io/blob/master/samples/guider_timeline.png\" width=\"100%\" height=\"100%\">\n\n>>>\n \n # python3 guider/guider.py utop -g testTask -H -o guider.out\n # python3 guider/guider.py drawflame guider.out\n\n>>>\n\n<img alt=\"flamegraph\" src=\"https://github.com/iipeace/iipeace.github.io/blob/master/samples/guider_flamegraph.png\" width=\"100%\" height=\"100%\">\n\n>>>\n \n $ python3 guider/guider.py top -o test1.out\n $ python3 guider/guider.py top -o test2.out\n $ python3 guider/guider.py top -o test3.out\n $ python3 guider/guider.py drawavg \"test1.out\" \"test2.out\" \"test3.out\"\n $ python3 guider/guider.py drawavg \"test*.out\"\n\n>>>\n\n<img alt=\"drawavg\" src=\"https://github.com/iipeace/iipeace.github.io/blob/master/samples/guider_drawavg.svg\" width=\"100%\" height=\"100%\">\n\n>>>\n \n $ python3 guider/guider.py req \"https://www.google.com|https://www.naver.com\" -R 1000 -o guider.out\n $ python3 guider/guider.py drawreq guider.out\n\n>>>\n\n<img alt=\"drawreq\" src=\"https://github.com/iipeace/iipeace.github.io/blob/master/samples/guider_drawreq.svg\" width=\"100%\" height=\"100%\">\n\n>>>\n \n $ python3 guider/guider.py top -o test1.out\n $ python3 guider/guider.py top -o test2.out\n $ python3 guider/guider.py top -o test3.out\n $ python3 guider/guider.py drawviolin \"test.out\" \"test2.out\" \"test3.out\"\n $ python3 guider/guider.py drawviolin \"test*.out\"\n\n>>>\n\n<img alt=\"violingraph\" src=\"https://github.com/iipeace/iipeace.github.io/blob/master/samples/guider_violingraph.png\" width=\"100%\" height=\"100%\">\n\n>>>\n\n webservice\n\n>>>\n\n<img alt=\"dashboard\" src=\"https://user-images.githubusercontent.com/15862689/67160178-0024ed80-f389-11e9-9a09-6a8eb96e2785.png\" width=\"100%\" height=\"100%\">\n\nHow to use\n=======\n\n```\nTo view a list of all commands supported by Guider, enter one of the following commands:\n $ python3 guider/guider.py --help\n $ python3 -m guider --help\n $ guider --help\n\nTo start tracing for all threads, use the following command:\n # python3 guider/guider.py rec -a\n\nTo start tracing for all threads, use the following command:\n $ python3 guider/guider.py top -a\n\nTo view options and examples for each command, enter a command in the following format:\n $ python3 guider/guider.py rec -h\n $ python3 guider/guider.py top -h\n\nTo view the output of Guider, visit the following link:\n - https://github.com/iipeace/guider/wiki\n```\n\n\nBuild & Installation\n=======\n\n```\nTo install Guider using pip, enter the following commands:\n # pip3 install guider\n # pip3 install guider --no-deps\n # pip3 install guider --force-reinstall\n\nAfter installation, run one of the following commands to start Guider:\n # python3 -m guider\n # guider\n\nIf you don't have pip on your system, you can download the source code from https://github.com/iipeace/guider, and then run the following command to start Guider:\n # python3 guider/guider.py\n\nFor faster and lighter operation, you can build and install Guider from the source code by running the following commands:\n # cd guider && make && make install\n```\n\nPre-built versions of Guider are available at https://repology.org/project/guider/versions.\n\nKernel Configuration\n=======\n\n```\nEnable kernel options as below to take advantage of all profile features,\nAnd if CONFIG_STRICT_MEMORY_RWX is enabled then disable it\n\nCONFIG_RING_BUFFER\nCONFIG_FTRACE\nCONFIG_TRACING\nCONFIG_TRACING_SUPPORT\nCONFIG_EVENT_TRACING\nCONFIG_NOP_TRACER\nCONFIG_TRACEPOINTS\nCONFIG_DYNAMIC_FTRACE\nCONFIG_HAVE_DYNAMIC_FTRACE\nCONFIG_FTRACE_SYSCALLS\nCONFIG_HAVE_SYSCALL_TRACEPOINTS\nCONFIG_TRACE_IRQFLAGS\nCONFIG_TRACE_IRQFLAGS_SUPPORT\n\nCONFIG_STACKTRACE\nCONFIG_STACKTRACE_SUPPORT\nCONFIG_USER_STACKTRACE_SUPPORT\nCONFIG_FUNCTION_TRACER\nCONFIG_FUNCTION_GRAPH_TRACER\nCONFIG_UPROBES\nCONFIG_UPROBE_EVENT\nCONFIG_KPROBES\nCONFIG_KPROBE_EVENTS\n\nCONFIG_TASKSTATS\nCONFIG_TASK_DELAY_ACCT\nCONFIG_TASK_XACCT\nCONFIG_TASK_IO_ACCOUNTING\nCONFIG_PERF_EVENTS\u00a0\nCONFIG_HW_PERF_EVENT\n```\n\n\nHelp\n=======\n\n```\nUsage:\n $ guider COMMAND [OPTIONS] [--help]\n \nCOMMAND(153):\n [CONTROL] cgroup <Cgroup> (Linux)\n freeze <Thread> (Linux)\n hook <Function> (Linux)\n kill/tkill <Signal> (Linux/MacOS)\n limitcpu <CPU> (Linux)\n limitcpuset <CPU> (Linux)\n limitmem <Memory> (Linux)\n limitpid <Task> (Linux)\n limitread <I/O> (Linux)\n limitwrite <I/O> (Linux)\n pause <Thread> (Linux)\n remote <Command> (Linux)\n rlimit <Resource> (Linux)\n setafnt <Affinity> (Linux)\n setcpu <Clock> (Linux)\n setsched <Priority> (Linux)\n\n [LOG] logand <Android> (Linux)\n logdlt <DLT> (Linux)\n logjrl <Journal> (Linux)\n logkmsg <Kernel> (Linux)\n logsys <Syslog> (Linux)\n logtrace <Ftrace> (Linux)\n printand <Android> (Linux)\n printdlt <DLT> (Linux/MacOS/Windows)\n printjrl <Journal> (Linux)\n printkmsg <Kernel> (Linux)\n printsyslog <Syslog> (Linux)\n printtrace <Ftrace> (Linux)\n\n [MONITOR] atop <All> (Linux)\n bgtop <Background> (Linux/MacOS/Windows)\n btop <Function> (Linux)\n cgtop <Cgroup> (Linux)\n ctop <Threshold> (Linux/MacOS/Windows)\n dbustop <D-Bus> (Linux)\n disktop <Storage> (Linux/MacOS/Windows)\n dlttop <DLT> (Linux/MacOS)\n fetop <File> (Linux)\n ftop <File> (Linux/MacOS)\n irqtop <IRQ> (Linux)\n kftop <Function> (Linux)\n ktop <Function> (Linux)\n mtop <Memory> (Linux)\n ntop <Network> (Linux/MacOS/Windows)\n ptop <PMU> (Linux)\n pytop <Python> (Linux)\n rtop <JSON> (Linux/MacOS/Windows)\n slabtop <Slab> (Linux)\n stacktop <Stack> (Linux)\n systop <Syscall> (Linux)\n top <Process> (Linux/MacOS/Windows)\n trtop <Tree> (Linux)\n ttop <Thread> (Linux)\n utop <Function> (Linux)\n vtop <Memory> (Linux)\n wtop <WSS> (Linux)\n\n [NETWORK] cli <Client> (Linux/MacOS/Windows)\n event <Event> (Linux)\n fserver <File> (Linux/MacOS/Windows)\n hserver <Http> (Linux/MacOS/Windows)\n list <List> (Linux/MacOS/Windows)\n send <UDP> (Linux/MacOS/Windows)\n server <Server> (Linux/MacOS)\n start <Signal> (Linux)\n\n [PROFILE] filerec <File> (Linux)\n funcrec <Function> (Linux)\n genrec <System> (Linux)\n iorec <I/O> (Linux)\n mem <Page> (Linux)\n rec <Thread> (Linux)\n report <Report> (Linux)\n sysrec <Syscall> (Linux)\n\n [TEST] cputest <CPU> (Linux/MacOS/Windows)\n iotest <Storage> (Linux/MacOS/Windows)\n memtest <Memory> (Linux/MacOS/Windows)\n nettest <Network> (Linux)\n\n [TRACE] btrace <Function> (Linux)\n leaktrace <Leak> (Linux)\n mtrace <Memory> (Linux)\n pytrace <Python> (Linux)\n sigtrace <Signal> (Linux)\n strace <Syscall> (Linux)\n utrace <Function> (Linux)\n\n [UTIL] addr2sym <Symbol> (Linux/MacOS/Windows)\n checkdup <Page> (Linux)\n comp <Compress> (Linux/MacOS/Windows)\n decomp <Decompress> (Linux/MacOS/Windows)\n dirdiff <Dir> (Linux/MacOS/Windows)\n dump <Memory> (Linux)\n exec <Command> (Linux/MacOS/Windows)\n fadvise <File> (Linux)\n flush <Memory> (Linux)\n getafnt <Affinity> (Linux)\n getpid <PID> (Linux)\n less <Pager> (Linux/MacOS/Windows)\n merge <File> (Linux/MacOS/Windows)\n mkcache <Cache> (Linux/MacOS/Windows)\n mount <Mount> (Linux)\n ping <ICMP> (Linux/MacOS/Windows)\n print <File> (Linux/MacOS/Windows)\n printbind <Function> (Linux)\n printcg <Cgroup> (Linux)\n printdbus <D-Bus> (Linux)\n printdbusintro <D-Bus> (Linux)\n printdbusstat <D-Bus> (Linux)\n printdbussub <D-Bus> (Linux)\n printdir <Dir> (Linux/MacOS/Windows)\n printenv <Env> (Linux)\n printext <Ext4> (Linux/MacOS/Windows)\n printinfo <System> (Linux)\n printkconf <kernel> (Linux)\n printns <Namespace> (Linux)\n printsdfile <Systemd> (Linux)\n printsdinfo <Systemd> (Linux)\n printsdunit <Systemd> (Linux)\n printsig <Signal> (Linux)\n printslab <Slab> (Linux)\n printvma <Vmalloc> (Linux)\n pstree <Process> (Linux/MacOS/Windows)\n readahead <File> (Linux)\n readelf <File> (Linux/MacOS/Windows)\n req <URL> (Linux/MacOS/Windows)\n split <File> (Linux/MacOS/Windows)\n strings <Text> (Linux/MacOS/Windows)\n sym2addr <Address> (Linux/MacOS/Windows)\n sync <File> (Linux)\n sysrq <sysrq> (Linux)\n systat <Status> (Linux)\n topdiff <Diff> (Linux/MacOS/Windows)\n topsum <Summary> (Linux/MacOS/Windows)\n umount <Unmount> (Linux)\n watch <File> (Linux)\n\n [VISUAL] convert <Text> (Linux/MacOS/Windows)\n draw <System> (Linux/MacOS/Windows)\n drawavg <Average> (Linux/MacOS/Windows)\n drawbitmap <Bitmap> (Linux/MacOS/Windows)\n drawcpu <CPU> (Linux/MacOS/Windows)\n drawcpuavg <CPU> (Linux/MacOS/Windows)\n drawdelay <Delay> (Linux/MacOS/Windows)\n drawflame <Function> (Linux/MacOS/Windows)\n drawhist <Histogram> (Linux/MacOS/Windows)\n drawio <I/O> (Linux/MacOS/Windows)\n drawleak <Leak> (Linux/MacOS/Windows)\n drawmem <Memory> (Linux/MacOS/Windows)\n drawmemavg <Memory> (Linux/MacOS/Windows)\n drawpri <Prio> (Linux/MacOS/Windows)\n drawreq <URL> (Linux/MacOS/Windows)\n drawrss <RSS> (Linux/MacOS/Windows)\n drawrssavg <RSS> (Linux/MacOS/Windows)\n drawstack <System> (Linux/MacOS/Windows)\n drawtime <Timeline> (Linux/MacOS/Windows)\n drawviolin <Data> (Linux/MacOS/Windows)\n drawvss <VSS> (Linux/MacOS/Windows)\n drawvssavg <VSS> (Linux/MacOS/Windows)\n\nFILE:\n Profile file (e.g. guider.dat)\n Report file (e.g. guider.out)\n\nOptions:\n Check COMMAND with --help (e.g. guider top --help)\n\n```\n\n\n",
"bugtrack_url": null,
"license": "GPL2",
"summary": "Unified performance analyzer",
"version": "3.9.8993",
"project_urls": {
"Download": "https://github.com/iipeace/guider/archive/master.zip",
"Homepage": "https://github.com/iipeace/guider"
},
"split_keywords": [
"guider",
" linux",
" analyzer",
" performance",
" profile",
" trace",
" kernel"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cfca89c15b34036f16f7fa3d8afc2aa61b01174309b44bf3988e68ad5c4169b1",
"md5": "481b5f3722174b1d2ada47057c9ccbb2",
"sha256": "94e89bc88ffcd505d9a6d4e20a6f8ebdae71eb58789063940f67b2a909f84a03"
},
"downloads": -1,
"filename": "guider-3.9.8993-py3-none-any.whl",
"has_sig": false,
"md5_digest": "481b5f3722174b1d2ada47057c9ccbb2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 871742,
"upload_time": "2024-04-23T12:47:20",
"upload_time_iso_8601": "2024-04-23T12:47:20.957503Z",
"url": "https://files.pythonhosted.org/packages/cf/ca/89c15b34036f16f7fa3d8afc2aa61b01174309b44bf3988e68ad5c4169b1/guider-3.9.8993-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f3f943f1252e9e3ba2b1198acbb7600239ff0d82350d3463ed3a4dc417d0c11b",
"md5": "c164f46c5a99288880ab375cc0c537fa",
"sha256": "cb09dc57352c986e21e3d427c747118fa71b604e761557150319fe080fa00280"
},
"downloads": -1,
"filename": "guider-3.9.8993.tar.gz",
"has_sig": false,
"md5_digest": "c164f46c5a99288880ab375cc0c537fa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 891066,
"upload_time": "2024-04-23T12:47:24",
"upload_time_iso_8601": "2024-04-23T12:47:24.566505Z",
"url": "https://files.pythonhosted.org/packages/f3/f9/43f1252e9e3ba2b1198acbb7600239ff0d82350d3463ed3a4dc417d0c11b/guider-3.9.8993.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-23 12:47:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "iipeace",
"github_project": "guider",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"lcname": "guider"
}