Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
eBPFインターン 開発ネタ帳
Search
KONDO Uchio
September 08, 2020
Technology
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
eBPFインターン 開発ネタ帳
KONDO Uchio
September 08, 2020
More Decks by KONDO Uchio
See All by KONDO Uchio
大規模レガシーテストを 倒すための CI基盤の作り方 / #CICD2023
udzura
5
2.6k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
330
Narrative of Ruby & Rust
udzura
0
280
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.9k
Talk of RBS
udzura
0
520
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
870
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
830
Device access filtering in cgroup v2
udzura
1
1.1k
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
960
Other Decks in Technology
See All in Technology
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
110
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.4k
re:Invent初参加で変わったこと、2回目にやってみたいこと(JAWS-UG彩の国埼玉 #12)
mhrtech
2
220
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
510
エンタメ企業のM&Aを支えるデータ基盤 ― 統合から店舗のリアルタイム分析まで / Data Engineering Summit 2026
genda
0
170
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
150
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
110
Running Kotlin + Quarkus with Lambda
nealle
1
3.7k
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
860
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
340
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
780
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Everyday Curiosity
cassininazir
0
350
Mind Mapping
helmedeiros
1
400
Automating Front-end Workflow
addyosmani
1369
210k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Transcript
PEPABO SUMMER INTERN VERSION 近藤うちお / GMO Pepabo, Inc. 2020.09.08
eBPF インターンネタ帳
この資料は何 •ペパボインターンで「皆様にやって欲しいこと」のネタ帳です。 •ここにない内容でももちろん構わないのですが、 なかなか現場でeBPFを活用するネタをゼロから提案するのは難しい でしょうので、当座で @udzura が欲しいものを考えてみました。 •@udzura なら時間をかければ書けるものもありますし、 そもそもいったい何なのか調べるところからというものもあります。
ツール作成・検証
コンテナ対応トレースのPoC •「コンテナ対応」には皆さんもご存知の通り2方針がある •eBPFのCgroup v2ヘルパーを利用したもの •task_struct からnamespaceを辿ってフィルタするもの •これらのそれぞれの方針について、違いやメリットデメリット、 それぞれの制限をレポートし、 そして簡単な検証環境とミニマルな実装を作成して欲しい
マネージドクラウド用ツール開発 •マネージドクラウドというコンテナをふんだんに使ったサービスがあ り、コンテナ単位でのトレースをしたい気持ちがある。 •BCCツールの中でも以下あたりをコンテナ対応できると嬉しい •ext4slower •nfsslower •tcpconnlat •syscount •......
mod_dtrace 検証 •https://github.com/Matty9191/apache-dtrace-module •https://prefetch.net/projects/apache_modtrace/index.html •マネージドクラウドやその他ホスティングサービスで使えるかどう か、簡単なドキュメントと、いろいろな設定のApacheに対してどの ような計測ができそうかレポートして欲しい。
PHPまたはRubyのUSDT利用のPoC •PHP、Rubyともに --enable-dtrace でUSDTが入る •これらを使って有益なツールが考えられないか? •e.g. Rack::EBPF https://github.com/udzura/rack-ebpf •e.g. mod_php
や他のUSDTと組み合わせたもの https://myaut.github.io/dtrace-stap-book/app/web.html •WordPress とかで解析できないかな?
systemdのkillを監視するツール開発 •systemdが謎にサービスをkillしているような気配があった •状況証拠から原因を突き止めたが、その現場を突き止められるよう なツールを作成して欲しい。 •killsnoop をベースに作れないかな? •https://github.com/iovisor/bcc/blob/master/tools/killsnoop.py •できれば再現可能な動作環境とともに実装して欲しい
トレース状況を可視化するツール •トレース情報は 1) 多い 2) 雑多 になりがちで、いい感じのグラフ などにならないと運用で常用するのは難しい... •BCCの既存ツールベースでいいので、それらの結果をTUIじゃなくて もっと綺麗にできないか?
•e.g. matplotlib(Rubyならcharty)と簡単連携ライブラリ •e.g. Jupyter Notebook ベースのツール •e.g. Prometheus などと連携した何か
sheer-heart-attackをeBPF対応 •https://github.com/k1LoW/sheer-heart-attack •常駐させて特定のイベントの時に特定のコマンドを発火させるツール このイベントソースにeBPFを用いることでアレできないか? •提案レベルでも動かせたらあとは @k1LoW さんがやってくれる •eBPFのイベント例: システムコールの回数、レイテンシ、TCP接続 の何か、etc...
•gobpf使うかも: https://github.com/iovisor/gobpf
RbBCCの改善 ※ 要Rubyの知識 ※ しかも割と高度な
RbBCC •@udzura が開発しているBCCのRuby port •中身はlibbccのFFIで、BCC同梱のPythonライブラリと全く同じ思想 •Rubyアソシエーション開発助成対象プロジェクト(2019) •https://github.com/udzura/rbbcc
RbBCCで困ってること •テストケースが全然ない •スモークテストだけなので、もう少し現実的なテストケースを考え て追加してくれると嬉しい(これは、Rubyのインターン感が強い) •サンプル、ツールがまだまだ少ない •Python版BCCにあるツールがそもそもRubyに移植できるのかから調 べる。足りない機能は実装する
RbBCCで困ってること(2) •RbBCCにおけるネットワークトレーシング実装の移植 •XDP含めその辺りのAPIを移植していない •BCCの examples/networking/* 以下のサンプルを移植し、 動くようにして欲しい。一つでも増えると嬉しい •@udzura はネットワークあんまり得意じゃないっすので...
その他、RbBCC周辺で •BPFQLで他のProbeを実装して欲しいなあ........ •https://github.com/udzura/bpfql •いまのところtracepointしかうごかなくて、完全にPoCレベル •こいつにはメタプロ含むRubyの知識が必要なので、さすがに大変だ と思いますが...