2020-07-25の開発
現役のエンジニアが毎日どんなことを学んで,どんな開発を行っているのか雑にアウトプットしてみる試みの13日目です.
詳解システム・パフォーマンス 4章を読んだ
4章は実際に,システムを観測するためのツールについて紹介されていた.
紹介されていたツールとしては,DTrace と,SystemTap.
ubuntu で検証していたのだが,DTrace が動かなかった.
具体的には,dtrace の 「-n」オプションがないのと,D言語で書いたスクリプトを読み込ませるのもうまく動かなかった.
なので,代わりとして bpftrace というツールを試してみた.
インストールはINSTALL.md に書いてあるとおり.
ubuntu が 18.04 なので,snap を使ってインストールを行った.
sudo snap install --devmode bpftrace
sudo snap connect bpftrace:system-trace
以下のようにしてシステムコールを数えたりできる.
# Syscall count by program
$ bpftrace -e 'tracepoint:raw_syscalls:sys_enter { @[comm] = count(); }'
使いこなすところまではできていないが,楽しそう.
いまローカルのPCに対して試してみただけだが,実際にサービスが動いているサーバーに対して,Trace してみるなどをやってみたい.
この記事が気に入ったらサポートをしてみませんか?