Skip to content

Instantly share code, notes, and snippets.

@jeehoonkang
Last active October 24, 2015 15:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeehoonkang/d32ed515fc0471c979d3 to your computer and use it in GitHub Desktop.
Save jeehoonkang/d32ed515fc0471c979d3 to your computer and use it in GitHub Desktop.
DTrace on Hello, World! in C & Rust (inspired by https://gist.github.com/bcantrill/b7d031db6e35cfd79201)
root@ubuntu:~/dtrace# cc -v
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.4-2ubuntu1~14.04' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)
root@ubuntu:~/dtrace# cat hello.c
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
root@ubuntu:~/dtrace# cc -O2 -o hello hello.c && dtrace -n 'pid$target:a.out::entry,pid$target:a.out::return{}' -Fc ./hello
dtrace: description 'pid$target:a.out::entry,pid$target:a.out::return' matched 6 probes
Hello, World!
dtrace: pid 17375 has exited
CPU FUNCTION
0 -> __libc_csu_init
0 <- __libc_csu_init
0 -> main
0 <- main
root@ubuntu:~/dtrace# rustc -Vv
rustc 1.3.0 (9a92aaf19 2015-09-15)
binary: rustc
commit-hash: 9a92aaf19a64603b02b4130fe52958cc12488900
commit-date: 2015-09-15
host: x86_64-unknown-linux-gnu
release: 1.3.0
root@ubuntu:~/dtrace# cat hello.rs
fn main() {
println!("Hello World!");
}
root@ubuntu:~/dtrace# rustc -O -o hello hello.rs && dtrace -n 'pid$target:a.out::entry,pid$target:a.out::return{}' -Fc ./hello
dtrace: description 'pid$target:a.out::entry,pid$target:a.out::return' matched 1019 probes
Hello World!
CPU FUNCTION
0 -> __libc_csu_init
0 -> jemalloc_constructor
0 <- jemalloc_constructor
0 -> malloc_init_hard
0 -> je_malloc_tsd_boot
0 <- je_malloc_tsd_boot
0 -> malloc_conf_init
0 -> je_set_errno
0 <- je_set_errno
0 <- malloc_conf_init
0 -> je_base_boot
0 <- je_base_boot
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_chunk_boot
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_chunk_dss_boot
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 <- je_chunk_dss_boot
0 -> je_extent_tree_szad_new
0 <- je_extent_tree_szad_new
0 -> je_extent_tree_ad_new
0 <- je_extent_tree_ad_new
0 -> je_extent_tree_szad_new
0 <- je_extent_tree_szad_new
0 -> je_extent_tree_ad_new
0 <- je_extent_tree_ad_new
0 <- je_chunk_boot
0 -> je_ctl_boot
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 <- je_ctl_boot
0 -> je_arena_boot
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 <- je_arena_boot
0 -> je_bitmap_info_init
0 <- je_bitmap_info_init
0 -> je_tcache_boot
0 -> je_base_alloc
0 -> je_chunk_alloc_base
0 -> je_chunk_dss_prec_get
0 <- je_chunk_dss_prec_get
0 -> chunk_alloc_core
0 -> chunk_recycle
0 <- chunk_recycle
0 -> je_chunk_alloc_mmap
0 <- je_chunk_alloc_mmap
0 <- chunk_alloc_core
0 <- je_chunk_alloc_base
0 <- je_base_alloc
0 <- je_tcache_boot
0 -> je_huge_boot
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_extent_tree_ad_new
0 <- je_extent_tree_ad_new
0 <- je_huge_boot
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_arenas_extend
0 -> je_base_alloc
0 <- je_base_alloc
0 -> je_arena_new
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_base_alloc
0 <- je_base_alloc
0 -> je_chunk_dss_prec_get
0 <- je_chunk_dss_prec_get
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 -> je_malloc_mutex_init
0 <- je_malloc_mutex_init
0 <- je_arena_new
0 <- je_arenas_extend
0 -> __pthread_atfork
0 <- __pthread_atfork
0 -> je_mutex_boot
0 <- je_mutex_boot
0 -> je_base_alloc
0 <- je_base_alloc
0 <- malloc_init_hard
0 <- __libc_csu_init
0 -> main
0 <- main
0 -> _ZN2rt10lang_start20hefba4015e797c325huxE
0 -> _ZN3fmt5write20h9265b15f8b843950XcOE
0 -> _ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_str21h13690770829212504549E
0 -> _ZN3vec12Vec$LT$T$GT$7reserve21h14292925783230783027E
0 <- _ZN3vec12Vec$LT$T$GT$7reserve21h14292925783230783027E
0 <- _ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_str21h13690770829212504549E
0 -> _ZN3fmt25_$RF$$u27$a$u20$T.Display3fmt19h170202807170649309E
0 <- _ZN3fmt25_$RF$$u27$a$u20$T.Display3fmt19h170202807170649309E
0 -> _ZN3fmt11str.Display3fmt20h869ab00dda6e00f7ZNOE
0 <- _ZN3fmt11str.Display3fmt20h869ab00dda6e00f7ZNOE
0 -> _ZN3fmt23Formatter$LT$$u27$a$GT$3pad20hc0f0198f8185b2585nOE
0 -> _ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_str21h13690770829212504549E
0 -> _ZN3vec12Vec$LT$T$GT$7reserve21h14292925783230783027E
0 -> je_mallocx
0 -> je_tcache_get_hard
0 -> je_choose_arena.part.6
0 <- je_choose_arena.part.6
0 -> je_choose_arena_hard
0 <- je_choose_arena_hard
0 <- je_tcache_get_hard
0 -> je_tcache_create
0 -> je_arena_malloc_large
0 -> arena_avail_tree_nsearch
0 <- arena_avail_tree_nsearch
0 -> arena_chunk_init_hard
0 -> je_chunk_alloc_arena
0 -> je_chunk_alloc_default
0 <- je_chunk_alloc_default
0 -> chunk_alloc_core
0 -> chunk_recycle
0 -> je_extent_tree_szad_nsearch
0 <- je_extent_tree_szad_nsearch
0 <- chunk_recycle
0 -> je_chunk_alloc_mmap
0 <- je_chunk_alloc_mmap
0 <- chunk_alloc_core
0 <- je_chunk_alloc_arena
0 <- arena_chunk_init_hard
0 -> arena_avail_tree_insert
0 <- arena_avail_tree_insert
0 -> arena_run_split_large_helper
0 -> arena_run_split_remove
0 -> arena_avail_tree_remove
0 <- arena_avail_tree_remove
0 <- arena_run_split_remove
0 -> arena_avail_tree_insert
0 <- arena_avail_tree_insert
0 <- arena_run_split_large_helper
0 <- je_arena_malloc_large
0 <- je_tcache_create
0 -> je_tcache_alloc_small_hard
0 -> je_arena_tcache_fill_small
0 -> arena_bin_nonfull_run_get
0 -> arena_avail_tree_nsearch
0 <- arena_avail_tree_nsearch
0 -> arena_run_split_small
0 -> arena_run_split_remove
0 -> arena_avail_tree_remove
0 <- arena_avail_tree_remove
0 <- arena_run_split_remove
0 -> arena_avail_tree_insert
0 <- arena_avail_tree_insert
0 <- arena_run_split_small
0 -> je_bitmap_init
0 <- je_bitmap_init
0 <- arena_bin_nonfull_run_get
0 <- je_arena_tcache_fill_small
0 <- je_tcache_alloc_small_hard
0 <- je_mallocx
0 <- _ZN3vec12Vec$LT$T$GT$7reserve21h14292925783230783027E
0 <- _ZN3fmt5Write9write_fmt36Adapter$LT$$u27$a$C$$u20$T$GT$.Write9write_str21h13690770829212504549E
0 <- _ZN3fmt5write20h9265b15f8b843950XcOE
0 -> je_rallocx
0 -> je_arena_ralloc
0 -> je_tcache_alloc_small_hard
0 -> je_arena_tcache_fill_small
0 -> arena_bin_nonfull_run_get
0 -> arena_avail_tree_nsearch
0 <- arena_avail_tree_nsearch
0 -> arena_run_split_small
0 -> arena_run_split_remove
0 -> arena_avail_tree_remove
0 <- arena_avail_tree_remove
0 <- arena_run_split_remove
0 -> arena_avail_tree_insert
0 <- arena_avail_tree_insert
0 <- arena_run_split_small
0 -> je_bitmap_init
0 <- je_bitmap_init
0 <- arena_bin_nonfull_run_get
0 <- je_arena_tcache_fill_small
0 <- je_tcache_alloc_small_hard
0 <- je_arena_ralloc
0 <- je_rallocx
0 -> _ZN6thread6Thread3new20hec1459d009bb05fcmEbE
0 -> je_mallocx
0 -> je_tcache_alloc_small_hard
0 -> je_arena_tcache_fill_small
0 -> arena_bin_nonfull_run_get
0 -> arena_avail_tree_nsearch
0 <- arena_avail_tree_nsearch
0 -> arena_run_split_small
0 -> arena_run_split_remove
0 -> arena_avail_tree_remove
0 <- arena_avail_tree_remove
0 <- arena_run_split_remove
0 -> arena_avail_tree_insert
0 <- arena_avail_tree_insert
0 <- arena_run_split_small
0 -> je_bitmap_init
0 <- je_bitmap_init
0 <- arena_bin_nonfull_run_get
0 <- je_arena_tcache_fill_small
0 <- je_tcache_alloc_small_hard
0 <- je_mallocx
0 -> je_mallocx
0 -> je_tcache_alloc_small_hard
0 -> je_arena_tcache_fill_small
0 -> arena_bin_nonfull_run_get
0 -> arena_avail_tree_nsearch
0 <- arena_avail_tree_nsearch
0 -> arena_run_split_small
0 -> arena_run_split_remove
0 -> arena_avail_tree_remove
0 <- arena_avail_tree_remove
0 <- arena_run_split_remove
0 -> arena_avail_tree_insert
0 <- arena_avail_tree_insert
0 <- arena_run_split_small
0 -> je_bitmap_init
0 <- je_bitmap_init
0 <- arena_bin_nonfull_run_get
0 <- je_arena_tcache_fill_small
0 <- je_tcache_alloc_small_hard
0 <- je_mallocx
0 -> je_mallocx
0 -> je_tcache_alloc_small_hard
0 -> je_arena_tcache_fill_small
0 -> arena_bin_nonfull_run_get
0 -> arena_avail_tree_nsearch
0 <- arena_avail_tree_nsearch
0 -> arena_run_split_small
0 -> arena_run_split_remove
0 -> arena_avail_tree_remove
0 <- arena_avail_tree_remove
0 <- arena_run_split_remove
0 -> arena_avail_tree_insert
0 <- arena_avail_tree_insert
0 <- arena_run_split_small
0 -> je_bitmap_init
0 <- je_bitmap_init
0 <- arena_bin_nonfull_run_get
0 <- je_arena_tcache_fill_small
0 <- je_tcache_alloc_small_hard
0 <- je_mallocx
0 -> _ZN13thread..Inner10drop.3403817hf01274a31a7c8878E
0 <- _ZN13thread..Inner10drop.3403817hf01274a31a7c8878E
0 <- _ZN6thread6Thread3new20hec1459d009bb05fcmEbE
0 -> _ZN10sys_common11thread_info3set20h8f4de4c5c65cdba4jArE
0 -> _ZN6thread5local3imp13register_dtor20h34d8b41e55289150wmbE
0 <- _ZN6thread5local3imp13register_dtor20h34d8b41e55289150wmbE
0 <- _ZN10sys_common11thread_info3set20h8f4de4c5c65cdba4jArE
0 -> _ZN2rt4args4init20h98721e20a0420282Q4wE
0 -> _ZN4iter30Map$LT$I$C$$u20$F$GT$.Iterator4next20h7859851089985586454E
0 -> je_mallocx
0 <- je_mallocx
0 -> _ZN3vec12Vec$LT$T$GT$7reserve21h14292925783230783027E
0 <- _ZN3vec12Vec$LT$T$GT$7reserve21h14292925783230783027E
0 <- _ZN4iter30Map$LT$I$C$$u20$F$GT$.Iterator4next20h7859851089985586454E
0 -> je_mallocx
0 -> je_tcache_alloc_small_hard
0 -> je_arena_tcache_fill_small
0 -> arena_bin_nonfull_run_get
0 -> arena_avail_tree_nsearch
0 <- arena_avail_tree_nsearch
0 -> arena_run_split_small
0 -> arena_run_split_remove
0 -> arena_avail_tree_remove
0 <- arena_avail_tree_remove
0 <- arena_run_split_remove
0 -> arena_avail_tree_insert
0 <- arena_avail_tree_insert
0 <- arena_run_split_small
0 -> je_bitmap_init
0 <- je_bitmap_init
0 <- arena_bin_nonfull_run_get
0 <- je_arena_tcache_fill_small
0 <- je_tcache_alloc_small_hard
0 <- je_mallocx
0 -> _ZN4iter30Map$LT$I$C$$u20$F$GT$.Iterator4next20h7859851089985586454E
0 <- _ZN4iter30Map$LT$I$C$$u20$F$GT$.Iterator4next20h7859851089985586454E
0 -> _ZN2rt4args3imp3put20h1e06bfd387e83cf546wE
0 -> je_mallocx
0 <- je_mallocx
0 -> _ZN3vec18Vec$LT$T$GT$.Clone5clone21h16067696234790279692E
0 -> je_mallocx
0 <- je_mallocx
0 -> _ZN3vec12Vec$LT$T$GT$7reserve21h12326312750935209175E
0 <- _ZN3vec12Vec$LT$T$GT$7reserve21h12326312750935209175E
0 -> _ZN3vec18Vec$LT$T$GT$.Clone5clone20h7981208679549908078E
0 -> je_mallocx
0 <- je_mallocx
0 -> _ZN3vec12Vec$LT$T$GT$7reserve21h14292925783230783027E
0 <- _ZN3vec12Vec$LT$T$GT$7reserve21h14292925783230783027E
0 <- _ZN3vec18Vec$LT$T$GT$.Clone5clone20h7981208679549908078E
0 <- _ZN3vec18Vec$LT$T$GT$.Clone5clone21h16067696234790279692E
0 -> _ZN99core..option..Option$LT$Box$LT$collections..vec..Vec$LT$collections..vec..Vec$LT$u8$GT$$GT$$GT$$GT$10drop.3810717he48bc137
0 <- _ZN99core..option..Option$LT$Box$LT$collections..vec..Vec$LT$collections..vec..Vec$LT$u8$GT$$GT$$GT$$GT$10drop.3810717he48bc137
0 -> je_sdallocx
0 <- je_sdallocx
0 -> je_sdallocx
0 <- je_sdallocx
0 <- _ZN2rt4args3imp3put20h1e06bfd387e83cf546wE
0 <- _ZN2rt4args4init20h98721e20a0420282Q4wE
0 -> __rust_try
0 -> _ZN2rt6unwind3try6try_fn21h13765051561891353190E
0 -> _ZN4main20h3debb9e3c3fa1cc8eaaE
0 -> _ZN2io5stdio6_print20h6c1e242eb8f9b6e0M7gE
0 -> _ZN6thread5local3imp13register_dtor20h34d8b41e55289150wmbE
0 <- _ZN6thread5local3imp13register_dtor20h34d8b41e55289150wmbE
0 -> _ZN2io5stdio6stdout20h920bc3dfc553461dZZgE
0 -> je_mallocx
0 <- je_mallocx
0 -> _ZN2rt11at_exit_imp4push20h269e92ceb89240df6cxE
0 -> je_mallocx
0 <- je_mallocx
0 -> _ZN7raw_vec15RawVec$LT$T$GT$6double21h11092778977353521190E
0 -> je_mallocx
0 <- je_mallocx
0 <- _ZN7raw_vec15RawVec$LT$T$GT$6double21h11092778977353521190E
0 <- _ZN2rt11at_exit_imp4push20h269e92ceb89240df6cxE
0 -> _ZN2io5stdio6stdout11stdout_init20h4529cde5111b6c84m0gE
0 -> je_mallocx
0 -> je_tcache_alloc_small_hard
0 -> je_arena_tcache_fill_small
0 -> arena_bin_nonfull_run_get
0 -> arena_avail_tree_nsearch
0 <- arena_avail_tree_nsearch
0 -> arena_run_split_small
0 -> arena_run_split_remove
0 -> arena_avail_tree_remove
0 <- arena_avail_tree_remove
0 <- arena_run_split_remove
0 -> arena_avail_tree_insert
0 <- arena_avail_tree_insert
0 <- arena_run_split_small
0 -> je_bitmap_init
0 <- je_bitmap_init
0 <- arena_bin_nonfull_run_get
0 <- je_arena_tcache_fill_small
0 <- je_tcache_alloc_small_hard
0 <- je_mallocx
0 -> _ZN76io..buffered..LineWriter$LT$io..stdio..Maybe$LT$io..stdio..StdoutRaw$GT$$GT$10drop.3508017h657bb21095b3c113E
0 <- _ZN76io..buffered..LineWriter$LT$io..stdio..Maybe$LT$io..stdio..StdoutRaw$GT$$GT$10drop.3508017h657bb21095b3c113E
0 -> _ZN76io..buffered..LineWriter$LT$io..stdio..Maybe$LT$io..stdio..StdoutRaw$GT$$GT$10drop.3508017h657bb21095b3c113E
0 <- _ZN76io..buffered..LineWriter$LT$io..stdio..Maybe$LT$io..stdio..StdoutRaw$GT$$GT$10drop.3508017h657bb21095b3c113E
0 -> je_mallocx
0 <- je_mallocx
0 -> _ZN146sys_common..remutex..ReentrantMutex$LT$core..cell..RefCell$LT$io..buffered..LineWriter$LT$io..stdio..Maybe$LT$io..stdio..
0 <- _ZN146sys_common..remutex..ReentrantMutex$LT$core..cell..RefCell$LT$io..buffered..LineWriter$LT$io..stdio..Maybe$LT$io..stdio..
0 -> _ZN76io..buffered..LineWriter$LT$io..stdio..Maybe$LT$io..stdio..StdoutRaw$GT$$GT$10drop.3508017h657bb21095b3c113E
0 <- _ZN76io..buffered..LineWriter$LT$io..stdio..Maybe$LT$io..stdio..StdoutRaw$GT$$GT$10drop.3508017h657bb21095b3c113E
0 -> je_mallocx
0 -> je_tcache_alloc_small_hard
0 -> je_arena_tcache_fill_small
0 -> arena_bin_nonfull_run_get
0 -> arena_avail_tree_nsearch
0 <- arena_avail_tree_nsearch
0 -> arena_run_split_small
0 -> arena_run_split_remove
0 -> arena_avail_tree_remove
0 <- arena_avail_tree_remove
0 <- arena_run_split_remove
0 -> arena_avail_tree_insert
0 <- arena_avail_tree_insert
0 <- arena_run_split_small
0 -> je_bitmap_init
0 <- je_bitmap_init
0 <- arena_bin_nonfull_run_get
0 <- je_arena_tcache_fill_small
0 <- je_tcache_alloc_small_hard
0 <- je_mallocx
0 -> _ZN146sys_common..remutex..ReentrantMutex$LT$core..cell..RefCell$LT$io..buffered..LineWriter$LT$io..stdio..Maybe$LT$io..stdio..
0 <- _ZN146sys_common..remutex..ReentrantMutex$LT$core..cell..RefCell$LT$io..buffered..LineWriter$LT$io..stdio..Maybe$LT$io..stdio..
0 <- _ZN2io5stdio6stdout11stdout_init20h4529cde5111b6c84m0gE
0 -> je_mallocx
0 <- je_mallocx
0 <- _ZN2io5stdio6stdout20h920bc3dfc553461dZZgE
0 -> _ZN2io5stdio12Stdout.Write9write_fmt20h4ce9778ef4b9caceX1gE
0 -> _ZN3fmt5write20h9265b15f8b843950XcOE
0 -> _ZN2io5Write9write_fmt41Adaptor$LT$$u27$a$C$$u20$T$GT$.fmt..Write9write_str20h1418976780013007569E
0 -> _ZN2io5Write9write_all20h4150273684448940566E
0 -> _ZN2io5stdio30StdoutLock$LT$$u27$a$GT$.Write5write20h23a2093839be16a9g2gE
0 -> _ZN2io8buffered24BufWriter$LT$W$GT$.Write5write21h13313231606346610803E
0 -> _ZN3vec12Vec$LT$T$GT$7reserve21h14292925783230783027E
0 <- _ZN3vec12Vec$LT$T$GT$7reserve21h14292925783230783027E
0 <- _ZN2io8buffered24BufWriter$LT$W$GT$.Write5write21h13313231606346610803E
0 -> _ZN2io8buffered18BufWriter$LT$W$GT$9flush_buf21h12717655335477265054E
0 <- _ZN2io8buffered18BufWriter$LT$W$GT$9flush_buf21h12717655335477265054E
0 -> _ZN2io8buffered24BufWriter$LT$W$GT$.Write5write21h13313231606346610803E
0 -> _ZN3vec12Vec$LT$T$GT$7reserve21h14292925783230783027E
0 <- _ZN3vec12Vec$LT$T$GT$7reserve21h14292925783230783027E
0 <- _ZN2io8buffered24BufWriter$LT$W$GT$.Write5write21h13313231606346610803E
0 <- _ZN2io5stdio30StdoutLock$LT$$u27$a$GT$.Write5write20h23a2093839be16a9g2gE
0 <- _ZN2io5Write9write_all20h4150273684448940566E
0 <- _ZN2io5Write9write_fmt41Adaptor$LT$$u27$a$C$$u20$T$GT$.fmt..Write9write_str20h1418976780013007569E
0 <- _ZN3fmt5write20h9265b15f8b843950XcOE
0 <- _ZN2io5stdio12Stdout.Write9write_fmt20h4ce9778ef4b9caceX1gE
0 <- _ZN2io5stdio6_print20h6c1e242eb8f9b6e0M7gE
0 <- _ZN4main20h3debb9e3c3fa1cc8eaaE
0 <- __rust_try
0 -> _ZN2rt7cleanup20ha45843b6ab6412856xxE
0 -> _ZN2rt4args7cleanup20h995125b5df385fde54wE
0 -> _ZN2rt4args3imp4take20hcd2b5c587ff1cd0fl6wE
0 -> _ZN99core..option..Option$LT$Box$LT$collections..vec..Vec$LT$collections..vec..Vec$LT$u8$GT$$GT$$GT$$GT$10drop.3810717he48bc137
0 <- _ZN99core..option..Option$LT$Box$LT$collections..vec..Vec$LT$collections..vec..Vec$LT$u8$GT$$GT$$GT$$GT$10drop.3810717he48bc137
0 -> _ZN99core..option..Option$LT$Box$LT$collections..vec..Vec$LT$collections..vec..Vec$LT$u8$GT$$GT$$GT$$GT$10drop.3810717he48bc137
0 <- _ZN99core..option..Option$LT$Box$LT$collections..vec..Vec$LT$collections..vec..Vec$LT$u8$GT$$GT$$GT$$GT$10drop.3810717he48bc137
0 -> _ZN99core..option..Option$LT$Box$LT$collections..vec..Vec$LT$collections..vec..Vec$LT$u8$GT$$GT$$GT$$GT$10drop.3810717he48bc137
0 <- _ZN99core..option..Option$LT$Box$LT$collections..vec..Vec$LT$collections..vec..Vec$LT$u8$GT$$GT$$GT$$GT$10drop.3810717he48bc137
0 -> _ZN3vec18Vec$LT$T$GT$.Clone5clone21h16067696234790279692E
0 -> je_mallocx
0 <- je_mallocx
0 -> _ZN3vec12Vec$LT$T$GT$7reserve21h12326312750935209175E
0 <- _ZN3vec12Vec$LT$T$GT$7reserve21h12326312750935209175E
0 -> _ZN3vec18Vec$LT$T$GT$.Clone5clone20h7981208679549908078E
0 -> je_mallocx
0 <- je_mallocx
0 -> _ZN3vec12Vec$LT$T$GT$7reserve21h14292925783230783027E
0 <- _ZN3vec12Vec$LT$T$GT$7reserve21h14292925783230783027E
0 <- _ZN3vec18Vec$LT$T$GT$.Clone5clone20h7981208679549908078E
0 <- _ZN3vec18Vec$LT$T$GT$.Clone5clone21h16067696234790279692E
0 -> _ZN99core..option..Option$LT$Box$LT$collections..vec..Vec$LT$collections..vec..Vec$LT$u8$GT$$GT$$GT$$GT$10drop.3810717he48bc137
0 -> je_sdallocx
0 <- je_sdallocx
0 -> je_sdallocx
0 <- je_sdallocx
0 <- _ZN99core..option..Option$LT$Box$LT$collections..vec..Vec$LT$collections..vec..Vec$LT$u8$GT$$GT$$GT$$GT$10drop.3810717he48bc137
0 -> je_sdallocx
0 <- je_sdallocx
0 <- _ZN2rt4args3imp4take20hcd2b5c587ff1cd0fl6wE
0 -> je_sdallocx
0 <- je_sdallocx
0 -> je_sdallocx
0 <- je_sdallocx
0 <- _ZN2rt4args7cleanup20h995125b5df385fde54wE
0 -> _ZN128collections..vec..Vec$LT$Box$LT$alloc..boxed..FnBox$LT$$LP$$RP$$C$$u20$Output$u3d$$LP$$RP$$GT$$u20$$u2b$$u20$$u27$static$
0 <- _ZN128collections..vec..Vec$LT$Box$LT$alloc..boxed..FnBox$LT$$LP$$RP$$C$$u20$Output$u3d$$LP$$RP$$GT$$u20$$u2b$$u20$$u27$static$
0 -> _ZN128collections..vec..Vec$LT$Box$LT$alloc..boxed..FnBox$LT$$LP$$RP$$C$$u20$Output$u3d$$LP$$RP$$GT$$u20$$u2b$$u20$$u27$static$
0 <- _ZN128collections..vec..Vec$LT$Box$LT$alloc..boxed..FnBox$LT$$LP$$RP$$C$$u20$Output$u3d$$LP$$RP$$GT$$u20$$u2b$$u20$$u27$static$
0 -> _ZN5boxed16F.FnBox$LT$A$GT$8call_box20h8819332165608088921E
0 -> _ZN3arc12Arc$LT$T$GT$9drop_slow21h17972711722931516334E
0 -> _ZN146sys_common..remutex..ReentrantMutex$LT$core..cell..RefCell$LT$io..buffered..LineWriter$LT$io..stdio..Maybe$LT$io..stdio..
0 -> je_sdallocx
0 <- je_sdallocx
0 <- _ZN146sys_common..remutex..ReentrantMutex$LT$core..cell..RefCell$LT$io..buffered..LineWriter$LT$io..stdio..Maybe$LT$io..stdio..
0 -> _ZN76io..buffered..LineWriter$LT$io..stdio..Maybe$LT$io..stdio..StdoutRaw$GT$$GT$10drop.3508017h657bb21095b3c113E
0 -> _ZN2io8buffered18BufWriter$LT$W$GT$9flush_buf21h12717655335477265054E
0 <- _ZN2io8buffered18BufWriter$LT$W$GT$9flush_buf21h12717655335477265054E
0 <- _ZN76io..buffered..LineWriter$LT$io..stdio..Maybe$LT$io..stdio..StdoutRaw$GT$$GT$10drop.3508017h657bb21095b3c113E
0 -> je_sdallocx
0 <- je_sdallocx
0 <- _ZN3arc12Arc$LT$T$GT$9drop_slow21h17972711722931516334E
0 -> je_sdallocx
0 <- je_sdallocx
0 -> je_sdallocx
0 <- je_sdallocx
0 <- _ZN5boxed16F.FnBox$LT$A$GT$8call_box20h8819332165608088921E
0 -> je_sdallocx
0 <- je_sdallocx
0 -> _ZN133collections..vec..IntoIter$LT$Box$LT$alloc..boxed..FnBox$LT$$LP$$RP$$C$$u20$Output$u3d$$LP$$RP$$GT$$u20$$u2b$$u20$$u27$st
0 <- _ZN133collections..vec..IntoIter$LT$Box$LT$alloc..boxed..FnBox$LT$$LP$$RP$$C$$u20$Output$u3d$$LP$$RP$$GT$$u20$$u2b$$u20$$u27$st
0 -> je_sdallocx
0 <- je_sdallocx
0 -> _ZN133collections..vec..IntoIter$LT$Box$LT$alloc..boxed..FnBox$LT$$LP$$RP$$C$$u20$Output$u3d$$LP$$RP$$GT$$u20$$u2b$$u20$$u27$st
0 <- _ZN133collections..vec..IntoIter$LT$Box$LT$alloc..boxed..FnBox$LT$$LP$$RP$$C$$u20$Output$u3d$$LP$$RP$$GT$$u20$$u2b$$u20$$u27$st
0 -> _ZN128collections..vec..Vec$LT$Box$LT$alloc..boxed..FnBox$LT$$LP$$RP$$C$$u20$Output$u3d$$LP$$RP$$GT$$u20$$u2b$$u20$$u27$static$
0 <- _ZN128collections..vec..Vec$LT$Box$LT$alloc..boxed..FnBox$LT$$LP$$RP$$C$$u20$Output$u3d$$LP$$RP$$GT$$u20$$u2b$$u20$$u27$static$
0 -> je_sdallocx
0 <- je_sdallocx
0 <- _ZN2rt7cleanup20ha45843b6ab6412856xxE
0 <- _ZN2rt10lang_start20hefba4015e797c325huxE
0 -> _ZN6thread5local3imp13destroy_value21h17225694288258902618E
0 <- _ZN6thread5local3imp13destroy_value21h17225694288258902618E
0 -> _ZN6thread5local3imp13destroy_value21h14828296687214455566E
0 <- _ZN6thread5local3imp13destroy_value21h14828296687214455566E
0 -> _ZN3arc12Arc$LT$T$GT$9drop_slow21h17608424823767143685E
0 -> _ZN13thread..Inner10drop.3403817hf01274a31a7c8878E
0 -> je_sdallocx
0 <- je_sdallocx
0 -> je_sdallocx
0 <- je_sdallocx
0 <- _ZN13thread..Inner10drop.3403817hf01274a31a7c8878E
0 -> je_sdallocx
0 <- je_sdallocx
0 <- _ZN3arc12Arc$LT$T$GT$9drop_slow21h17608424823767143685E
0 -> je_sdallocx
0 <- je_sdallocx
dtrace: pid 17598 has exited
root@ubuntu:~/dtrace# uname -a
Linux ubuntu 3.13.0 BrandZ virtual linux x86_64 x86_64 x86_64 GNU/Linux
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment