-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Report in size
order as well as count
order at the same time
#9
Comments
Bojun requested to make heaptrace support multiple sort keys because sometimes it's useful to show the memory allocation status based on both size and count orders. If someone wants to show allocation status based on count and size, then it can be requested as follows. $ heaptrace -s size,count <target program> The sort orders can be separated by commas(','). Another small change is that it removes heap traced allocation size. Closes: #9 Signed-off-by: Honggyu Kim <[email protected]>
@Bojun-Seo I have pushed the changes to multiple_sort_keys. The change allows Please have a look at the change and let me know if this is what you need. |
@honggyukim it looks great! |
The usage of |
In fact, I don't use |
OK. I got it. We will need another interface to support multiple sort orders for flamegraph. But I’m okay to create an issue and think about it later. I will merge the current change only then. |
@Bojun-Seo Please see #12. |
If user want to ignore certain report, it could be filtered out. The filtering list can be given with the file, each line is used on filtering. Usage with samples/factorial.c compiled samples/factorial.out: $ ./heaptrace --ignore=ignore.txt samples/factorial.out [heaptrace] initialized for /proc/227960/maps (factorial.out) [heaptrace] finalized for /proc/227960/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227960/maps (factorial.out) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.904 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= $ cat ignore.txt libfoo bar fac baz The original execution of samples/factorial.out is like followings $ ./heaptrace samples/factorial.out [heaptrace] initialized for /proc/227946/maps (factorial.out) [heaptrace] finalized for /proc/227946/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227946/maps (factorial.out) === backtrace honggyukim#1 === [count/peak: 1/1] [size/peak: 10 bytes/10 bytes] [age: 325.674 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191c4] fac +0xe (samples/factorial.out +0x11c4) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) --- snip --- === backtrace honggyukim#9 === [count/peak: 2/2] [size/peak: 1 bytes/1 bytes] [age: 330.780 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191a5] fac +0x7 (samples/factorial.out +0x11a5) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.776 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= Signed-off-by: Bojun Seo <[email protected]>
If user want to ignore certain report, it could be filtered out. The filtering list can be given with the file, each line is used on filtering. Usage with samples/factorial.c compiled samples/factorial.out: $ ./heaptrace --ignore=ignore.txt samples/factorial.out [heaptrace] initialized for /proc/227960/maps (factorial.out) [heaptrace] finalized for /proc/227960/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227960/maps (factorial.out) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.904 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= $ cat ignore.txt libfoo bar fac baz The original execution of samples/factorial.out is like followings $ ./heaptrace samples/factorial.out [heaptrace] initialized for /proc/227946/maps (factorial.out) [heaptrace] finalized for /proc/227946/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227946/maps (factorial.out) === backtrace honggyukim#1 === [count/peak: 1/1] [size/peak: 10 bytes/10 bytes] [age: 325.674 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191c4] fac +0xe (samples/factorial.out +0x11c4) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) --- snip --- === backtrace honggyukim#9 === [count/peak: 2/2] [size/peak: 1 bytes/1 bytes] [age: 330.780 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191a5] fac +0x7 (samples/factorial.out +0x11a5) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.776 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= Signed-off-by: Bojun Seo <[email protected]>
If user want to ignore certain report, it could be filtered out. The filtering list can be given with the file, each line is used on filtering. Usage with samples/factorial.c compiled samples/factorial.out: $ ./heaptrace --ignore=ignore.txt samples/factorial.out [heaptrace] initialized for /proc/227960/maps (factorial.out) [heaptrace] finalized for /proc/227960/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227960/maps (factorial.out) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.904 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= $ cat ignore.txt libfoo bar fac baz The original execution of samples/factorial.out is like followings. $ ./heaptrace samples/factorial.out [heaptrace] initialized for /proc/227946/maps (factorial.out) [heaptrace] finalized for /proc/227946/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227946/maps (factorial.out) === backtrace honggyukim#1 === [count/peak: 1/1] [size/peak: 10 bytes/10 bytes] [age: 325.674 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191c4] fac +0xe (samples/factorial.out +0x11c4) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) --- snip --- === backtrace honggyukim#9 === [count/peak: 2/2] [size/peak: 1 bytes/1 bytes] [age: 330.780 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191a5] fac +0x7 (samples/factorial.out +0x11a5) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.776 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= Signed-off-by: Bojun Seo <[email protected]>
If user want to ignore certain report, it could be filtered out. The filtering list can be given with the file, each line is used on filtering. Usage with samples/factorial.c compiled samples/factorial.out: $ ./heaptrace --ignore=ignore.txt samples/factorial.out [heaptrace] initialized for /proc/227960/maps (factorial.out) [heaptrace] finalized for /proc/227960/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227960/maps (factorial.out) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.904 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= $ cat ignore.txt libfoo bar fac baz The original execution of samples/factorial.out is like followings. $ ./heaptrace samples/factorial.out [heaptrace] initialized for /proc/227946/maps (factorial.out) [heaptrace] finalized for /proc/227946/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227946/maps (factorial.out) === backtrace honggyukim#1 === [count/peak: 1/1] [size/peak: 10 bytes/10 bytes] [age: 325.674 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191c4] fac +0xe (samples/factorial.out +0x11c4) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) --- snip --- === backtrace honggyukim#9 === [count/peak: 2/2] [size/peak: 1 bytes/1 bytes] [age: 330.780 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191a5] fac +0x7 (samples/factorial.out +0x11a5) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.776 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= Signed-off-by: Bojun Seo <[email protected]>
If user want to ignore certain report, it could be filtered out. The filtering list can be given with the file, each line is used on filtering. Usage with samples/factorial.c compiled samples/factorial.out: $ ./heaptrace --ignore=ignore.txt samples/factorial.out [heaptrace] initialized for /proc/227960/maps (factorial.out) [heaptrace] finalized for /proc/227960/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227960/maps (factorial.out) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.904 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= $ cat ignore.txt libfoo bar fac baz The original execution of samples/factorial.out is like followings. $ ./heaptrace samples/factorial.out [heaptrace] initialized for /proc/227946/maps (factorial.out) [heaptrace] finalized for /proc/227946/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227946/maps (factorial.out) === backtrace honggyukim#1 === [count/peak: 1/1] [size/peak: 10 bytes/10 bytes] [age: 325.674 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191c4] fac +0xe (samples/factorial.out +0x11c4) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) --- snip --- === backtrace honggyukim#9 === [count/peak: 2/2] [size/peak: 1 bytes/1 bytes] [age: 330.780 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191a5] fac +0x7 (samples/factorial.out +0x11a5) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.776 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= Signed-off-by: Bojun Seo <[email protected]>
If user want to ignore certain report, it could be filtered out. The filtering list can be given with the file, each line is used on filtering. The usage is as follows: $ ./heaptrace --ignore=ignore.txt samples/factorial.out [heaptrace] initialized for /proc/227960/maps (factorial.out) [heaptrace] finalized for /proc/227960/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227960/maps (factorial.out) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.904 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= $ cat ignore.txt libfoo bar fac baz The original execution of samples/factorial.out is like followings: $ ./heaptrace samples/factorial.out [heaptrace] initialized for /proc/227946/maps (factorial.out) [heaptrace] finalized for /proc/227946/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227946/maps (factorial.out) === backtrace honggyukim#1 === [count/peak: 1/1] [size/peak: 10 bytes/10 bytes] [age: 325.674 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191c4] fac +0xe (samples/factorial.out +0x11c4) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) --- snip --- === backtrace honggyukim#9 === [count/peak: 2/2] [size/peak: 1 bytes/1 bytes] [age: 330.780 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191a5] fac +0x7 (samples/factorial.out +0x11a5) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.776 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= Signed-off-by: Bojun Seo <[email protected]>
If user want to ignore certain report, it could be filtered out. The filtering list can be given with the file, each line is used on filtering. The usage is as follows: $ ./heaptrace --ignore=ignore.txt samples/factorial.out [heaptrace] initialized for /proc/227960/maps (factorial.out) [heaptrace] finalized for /proc/227960/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227960/maps (factorial.out) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.904 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= $ cat ignore.txt libfoo bar fac baz The original execution of samples/factorial.out is like followings: $ ./heaptrace samples/factorial.out [heaptrace] initialized for /proc/227946/maps (factorial.out) [heaptrace] finalized for /proc/227946/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227946/maps (factorial.out) === backtrace honggyukim#1 === [count/peak: 1/1] [size/peak: 10 bytes/10 bytes] [age: 325.674 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191c4] fac +0xe (samples/factorial.out +0x11c4) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) --- snip --- === backtrace honggyukim#9 === [count/peak: 2/2] [size/peak: 1 bytes/1 bytes] [age: 330.780 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191a5] fac +0x7 (samples/factorial.out +0x11a5) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.776 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= Signed-off-by: Bojun Seo <[email protected]>
If user want to ignore certain report, it could be filtered out. The filtering list can be given with the file, each line is used on filtering. The usage is as follows: $ ./heaptrace --ignore=ignore.txt samples/factorial.out [heaptrace] initialized for /proc/227960/maps (factorial.out) [heaptrace] finalized for /proc/227960/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227960/maps (factorial.out) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.904 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= $ cat ignore.txt libfoo bar fac baz The original execution of samples/factorial.out is like followings: $ ./heaptrace samples/factorial.out [heaptrace] initialized for /proc/227946/maps (factorial.out) [heaptrace] finalized for /proc/227946/maps (factorial.out) ================================================================= [heaptrace] dump allocation sorted by 'size' for /proc/227946/maps (factorial.out) === backtrace #1 === [count/peak: 1/1] [size/peak: 10 bytes/10 bytes] [age: 325.674 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191c4] fac +0xe (samples/factorial.out +0x11c4) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) --- snip --- === backtrace #9 === [count/peak: 2/2] [size/peak: 1 bytes/1 bytes] [age: 330.780 us] 0 [0x7f71089b8b6f] malloc +0x1f (./libheaptrace.so +0x4b6f) 1 [0x557ebd3191a5] fac +0x7 (samples/factorial.out +0x11a5) 2 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 3 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 4 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 5 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 6 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) 7 [0x557ebd3191d8] fac +0x13 (samples/factorial.out +0x11d8) [heaptrace] heap traced num of backtrace : 9 [heaptrace] heap traced allocation size : 48 bytes [heaptrace] allocator info (virtual) : 135.168 KB [heaptrace] allocator info (resident) : 89.776 KB [heaptrace] statm info (VSS/RSS/shared) : 6.270 MB / 3.932 MB / 3.801 MB ================================================================= Signed-off-by: Bojun Seo <[email protected]>
Current
heaptrace
need to decide the report order.size
orcount
.I want to check the report order in
size
andcount
in some cases.So it would be nice if it is possible to report in
size
order as well ascount
order at the same time.The text was updated successfully, but these errors were encountered: