ローファイ日記

出てくるコード片、ぼくが書いたものは断りがない場合 MIT License としています http://udzura.mit-license.org/

社内生活発表会でeBPF(bpftrace)の話をした

カーネル謎機能を活用したパフォーマンスとの戦い」と題してPepabo Tech Fridayで発表していた。ペパボテックフライデーとは下記です。

tech.pepabo.com

しかし、割と生々しい社内のプロジェクトの計測値を出しているので、資料は公開しません...(入社したらあるいは... ;) ) が、一般的な内容にしてどこかで話そうという気持ちはある(言ってしまった...)。

話した内容はわりと一般的ではあって、まずは *BSD/Solarisでの DTrace や perf と bpftrace を比較して、perfのようにさまざまなカーネルの情報を取れる上に、dtraceのようにカーネルランドで集計やフィルタリングが完結して低コストなbpftraceは便利と紹介した (※認識が違ったら突っ込んでください...)。

ちょうど詳解システムパフォーマンスを読んでいて、読んでいるととにかくLinuxにDTraceが欲しくなる一方なんだけど、いい時代が来つつある。

www.oreilly.co.jp

あとは事例として、Haconiwaに先日埋め込んだ USDT で起動時間とかを計測できるよね、とか、

f:id:udzura:20191018233753p:plain

f:id:udzura:20191018233609p:plain

おまけで、主要ディストリビューションカーネルバージョンを一覧したりした。

f:id:udzura:20191018233631p:plain

正直 CentOS 6/7 のシステムが多い中ではやはり eBPF は遠いツールなんだけど、社の Kubernetes 移行が進んでいる中ではかなり高いバージョンのカーネルが使えるので、そういう運用には必要な知識になってくるんじゃないかと思う。

で、もちろん OpenStack 基盤にも刺さりそう(刺さらないようにprobeを刺す...)なので、今後も実証していきたいですね。


あと、事情あってリモート発表して、Meetで画面共有したんだけど、このアプリを使うと自分の顔を隅っこに映しながらスライドも映せて便利だった。何かの機会でまた使いたい技。

Quick Camera

Quick Camera

  • Simon Guest
  • ユーティリティ
  • 無料
apps.apple.com