# Rubyアソシエーション開発助成金2019 メンター報告書

プロジェクト：RbBCC - An improvement for CRuby ecosystem to access Linux 
tracing technologies
開発者：近藤宇智朗
メンター：笹田耕一

# プロジェクト概要

Linux が備える eBPF というローレベルトレース機構を Ruby から利用可能にす
るための RbBCC ライブラリを実装し、その利用例としてトレースアプリを開発
する。

# 計画の達成状況

概ね期待通り進捗した。

計画通り、RbBCC ライブラリを gem としてリリースした。Python 版に同様のラ
イブラリがあるが、これと同程度の機能を有する。また、利用するためのドキュ
メントも作成した。また、RbBCC を用いたトレーサとして、独自 DSL によるト
レーサ BPFQL と、Rack にトレースを組み込む Rack::EBPF を開発した。

# メンターとして果たした役割

1ヶ月に1度程度、進捗を確認するオンラインミーティングを開催した。このよう
なことが出来るようになって欲しい、という希望を伝えることが多かった。

# 今後の期待

ライブラリなので、利用されなければ意味がない。そのため、今後広報活動が重
要になると思われる。そのため、実際の利用例や利用方法を広めていく必要があ
る。また、実際にツールを作ってみるなどのオンライセミナーを行うなども一手
段だろう。

# まとめ

本プロジェクトでは、eBPF を Ruby から活用するためのライブラリ RbBCC を開
発した。パフォーマンスチューニングには、性能評価ツールが不可欠であるが、
ケースごとに必要となる性能指標は変わるため、プログラマブルなツールには大
きな需要がある。実際に多くの人に利用されるのは今後の広報活動によると思わ
れるので、今後の活躍に期待する。有用なライブラリになったと思うので、多く
の人に利用されるライブラリとなって頂きたい。
