SlideShare a Scribd company logo
1 of 48
Download to read offline
eBPFを⽤いた
トレーシングについて
さくらインターネット株式会社
技術本部 クラウドチーム アプリケーショングループ
穎川 和弘
1
Agenda
u 概説
u eBPFとは
u Bpftraceとは
u Dtrace, Systemtap
u Dtrace, Systemtap
u Dtraceとは
u Systemtapとは
u そしてBpftraceへ
u Bpftrace
u インストール要件
u トレースの種別
u Bpftraceを使ってみる
u bcc-tools
2
誰︖
u 名前: 穎川 和弘 (えがわ かずひろ)
u 業務: IaaSのバックエンドで動作するアプリケーションの開発 (golang)
u 趣味: 分散システムや並⾏処理、⾔語処理系に興味
u アニメも⼤好き (特にまんがタイムきらら枠)
u 実は登壇系は初めてで、めっっっっちゃ緊張してます (><)
3
本スライドの⽬標
u dtrace や systemtapを簡単に説明し、eBPFを⽤いたトレーシングの嬉しいとこ
ろを伝える
u Bpftrace, bcc-toolsといったツールの簡単な使い⽅を紹介し、細かいツールを
調べる上での⾜がかりになるようにする
u GithubのIOvisor org の資料がかなり充実していることを伝える
u このスライドで使ってる画像はまさにそこから使わせていただいております
4
概説
5
eBPFとは
u Linuxカーネル 3.15から、BPFの拡張仕様としてeBPFが導⼊されました
u より詳細な話は少しづつお話ししていきます
u BPFはこれまでにも、パケットフィルタやシステムコールフィルタなど強⼒な
機能を有していましたが、eBPFの導⼊によって、⾼速なネットワーク処理、よ
り詳細なLinuxでのメトリクス取得に活⽤の幅が広がってきています
u eBPFを取り巻くOSSプロダクトでは、開発も盛んに⾏われており、本スライド
では特にbpftrace (+ちょっとbcc) を取り上げ、その⼀⾯を覗こうと思います。
6
トレーシングを可能にするツール
u パフォーマンスのボトルネック調査、エラーの発⽣原因調査の際には、よく
procpsやsysstat, perf-toolsといったパッケージのツール、syslogなどをまずは
調査することが多いかと思います。
u ただし、それらから観測できるカウンタ値、ログのみからは判別できないため
に、より詳細なメトリクスやトレーシングが要求される状況もあるかと思いま
す。
u そうした際、これまでは Dtrace やSystemtapといったツールが利⽤され、DSL
の記述によってトレーシングが実現できていましたが、eBPFがLinuxカーネル
に導⼊されたことに伴い、bpftraceがこれの後継として開発されました。
7
DTrace, Systemtap
u まずは、dtrace, systemtapを⾒てみましょう
u Bpftraceはdtraceやsystemtapの後継にあたるので、これまで使われていたツー
ルを知ることで、bpftraceを使う理由も⾒えてくると思います
8
DTrace, Systemtap
9
DTraceとは
u DTraceは元々、Solaris 10, OpenSolarisに対して⾼度なトレーシングを⾏うため
に開発されました
u D⾔語というプログラミング⾔語を⽤います
u ただ、書き味はpure Dよりも⾼級なDSLです
u Dtraceはいくつかのプロバイダーを提供しており、これらによってプローブが
設置されます
u プローブの先頭にはどのプロバイダを利⽤するのか指定する必要があり、これに
よってどのようにトレースされるのかが決定されます
u プロバイダはカーネルモジュールとして実装され、ユーザランドから ioctl(2)
を⽤いてやり取りが⾏われることで、トレーシングが実現されます
10
DTraceスクリプト
11
Systemtapとは
u Systemtapは、Linuxで⾼度なトレーシングを⾏うために開発されました
u DSLで記述されたコードは、C⾔語のソースに変換され、カーネルモジュールに
コンパイルされます
u Stapdynと呼ばれるユーザランドのSystemtapバックエンドも開発されているよ
うで、この場合はstapフロントエンドによって共有ライブラリにコンパイルさ
れたものを利⽤するようです
u Systemtapは probe points をいくつか定義しており、これらによってどこに対
してトレーシングを実施するかが決定されます
12
Systemtapスクリプト
13
そしてBpftrace へ …
u 「どちらでもやりたいことは実現できそうなんだけど、どちらを使えばいい
の︖」という⾵に悩むケースもあるかと思いますが、このように開発経緯や設
計などが異なるだけで、優劣をつけるのが難しいと思われます
u ⼤きな共通点は、どちらもカーネルモジュールを⽤いていて、それによってト
レーシングが実現されているということです
u Bpftrace はこれらの後継に相当し、良い設計を取り込みつつ、eBPFに併せて
ゼロベースで開発されたOSSです。
14
Bpftrace で可能になったこと
u カーネル空間である程度計算が⾏われるため、ユーザ空間へのデータコピーによる
コストが下がりました
u 例えば、特定プローブ呼び出し回数のヒストグラムを⽣成したい場合に、ヒストグラムの
計算処理をカーネル空間で⾏います
u BPFの命令セットによる中間⾔語に変換され、JITコンパイルできるようになりまし
た
u Linux内部に存在するVerifierによってプログラムが厳格に検査され、より安全性が
向上しました
u これまで利⽤できたMapなどのデータ構造などもeBPFでサポートされました
15
Bpftrace
16
Bpftraceとは
u DSLの記述で⾼レベルなトレーシングが⾏える、eBPFフロントエンドです。
u IOvisor organization のOSSプロダクトとして開発が⾏われています。
17
インストール要件
u 公式 (https://github.com/iovisor/bpftrace/blob/master/INSTALL.md#linux-
kernel-requirements) から、個⼈的な認識では
u Linux 5.x を⽤いた⽅が良いです
u *BPF*, *EBPF*, FTRACE_SYSCALLS 周りのカーネルコンフィグについて設定されてい
ることを確認しておきましょう
u Ubuntuでは、debパッケージやsnapパッケージが利⽤可能ですので、これらで
インストールすればおkです
u より詳しくは、上記公式インストールガイドを参照ください
18
Bpftrace 概観
u 参考: https://github.com/iovisor/bpftrace/blob/master/docs/internals_development.md
19
トレースの種別
u Kprobe
u Uprobe
u Tracepoint
u USDT (User Statically-Defined Tracing)
u Kprobe, uprobe には、関数呼び出しプローブポイントを⽰すkprobe, uprobe,
関数終了プローブポイントを⽰すkretprobe, uretprobeがあります
u これらの中でも、特に安定して使えるトレース種別は Tracepointですので、
Tracepointを使って情報を取得する例について話します
u http://www.brendangregg.com/blog/2018-03-22/tcp-tracepoints.html 20
Bpftraceを使ってみる
u Linuxのプロセススケジューラがプロセスを終了させた時、そのプロセスのコ
マンド名をMapデータ構造に保存し、呼び出し回数を記録してみましょう
21
使う環境
u OS
u Ubuntu 18.04.4 LTS (bionic)
u Uname –a
u Linux kazu-desktop 5.3.0-51-generic #44~18.04.2-Ubuntu SMP Thu Apr 23 14:27:18
UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
u CPU4コア 、メモリ16GB
22
トレーシングの流れ
u Tracepoint⼀覧に欲しいものがあるか探す
u 引数にコマンド名をとっていることを確認する
u DSLを書く
u 実⾏
23
Tracepoint⼀覧に欲しいものがあるか探す
u Bpftrace –l によって列挙が可能で、ワイルドカードで検索ができます
u Tracepoint:sched:sched_process_exit を⽤いれば、トレースできそうですね
24
引数にコマンド名をとっていることを確認す
る
u /sys/kernel/debug/tracing/events/$(先ほど⾒つけたtracepointをパス化した
もの)/format のファイルに詳細が記述されます
u comm[16] がコマンド名を⽰すので、これを使えば良さそうです
25
DSLを書く
u こんな感じになりました。早速実⾏してみましょう
26
実⾏
u 実⾏後、ちょっと時間が経ってから CTRL-C で終了させると、以下のように出
⼒されます
27
bcc-tools
28
Bcc-toolsとは
u Bpftraceと同じように実⾏できるbccというものが、同じく iovisorプロジェク
トで開発されています。
u 詳細な解説はここでは⾏いませんので、「そういうものがあるのね」と認識いただ
ければ問題ありません
u このbccで書かれたツール群、bcc-tools を⽤いることで、これまで⽤いていた
可観測性ツールよりもより役⽴つ情報が得られるようになります
u インストール要件は https://github.com/iovisor/bcc/blob/master/INSTALL.md を
ご覧ください
u もしかすると、procpsやsysstatの代替として bcc-tools が広く使われる未来が
来るかもしれません
29
Linuxに⼊ってすぐ調べること
u LAを⾒て、負荷が⾼いかどうか
u Syslogを⾒て、OOMだとか、パケットドロップが発⽣していないか
u Vmstat で概況を確認
u CPUコアごとの負荷を確認
u リアルタイムに実⾏されてるコマンドを確認
u I/O負荷の確認
u メモリ容量の確認
u ネットワーク、TCP周りの統計情報を確認
u などなど
30
Bcc-toolsをちょっとみてみる
u いくつかの分かりやすく使えそうなツールを紹介してみようと思います
u Execsnoop
u Opensnoop
u Biosnoop
u Biolatency
u Tcpconnect
u Tcpretrans
u Runqlat
31
execsnoop
u 実⾏プロセスを追跡できます (PPIDや終了コードも表⽰してくれます)
32
opensnoop
u どのプロセスがどのファイルを開いているのかが⾒れます (fdやエラー発⽣な
ども)
33
biosnoop
u ブロックI/Oのバイト数、使⽤ディスク、コマンド、PID, 経過時間などを⾒れ
ます
34
biolatency
u ブロックI/O のレイテンシを計測し、それをヒストグラムで表⽰します
35
biolatency
u I/Oフラグ(rwbsと呼ばれる) ごとにヒストグラムを出すことも可能です (--flags
オプション)
u https://elixir.bootlin.com/linux/v4.7/source/kernel/trace/blktrace.c#L1772
36
tcpconnect
u TCPのconnect(3)呼び出しをトレースします
u どのコマンド実⾏によって、どこからどこへのやりとりが⾏われているか把握
できます
37
tcpretrans
u TCPの再送を列挙します
38
runqlat
u プロセスがrun queueに積まれるまでにどれくらいの遅延が起きているかをヒ
ストグラム化してくれます
39
オプション指定について
u Usage, Options, Examplesを
-–helpオプションの指定で確認で
きます
u Examplesにはコマンド例と簡易な
説明が表⽰されます
40
Bcc-tools は何で書かれているか
u 多くがPythonスクリプトで⽤意されています
u Bcc-tools は、 iovisor/bcc リポジトリに同梱されており、toolsディレクトリ配
下に置いてあります
u https://github.com/iovisor/bcc/tree/master/tools
u Iovisor/bcc リポジトリには、Pythonのbccライブラリ実装が配置されており、
bcc-tools がこのライブラリをimportする形で利⽤されています
41
bccライブラリを使った実⾏の⼤まかな
流れ (execsnoop.pyの場合)
u bccライブラリをimport
u Cのソースを bcc.BPFクラス に渡して初期化
u Cのソースは、⽂字列で定義して渡しても良し、別ファイル読み込んでも良し、ヘッダ
ファイルを読み込んでも良しです
u 初期化されたbcc.BPF の attach_xxx メソッドを呼び出します
u xxxは、kprobeとかtracepointとか
u perf_event_open(2) が呼び出されることを契機にカーネル空間でパフォーマンスカウンタ
が収集されるようになります
u bcc.BPF の open_perf_bufferを呼び出し、コールバック関数を登録します
u bcc.BPFの perf_buffer_poll を呼び出し、イベントの発⽣を監視します
u 内部的には、poll(2) が呼び出されることでperf ring bufferのイベント監視が⾏われます
u 以上により、イベントがコールバック関数にわたり、適切に加⼯されて出⼒されま
す
42
Bcc-tools overview
u ここでご紹介したbcc-toolsは実はほんの⼀部で、このほかに⾮常に多くのツールが
⽤意されています
u 参考: https://github.com/iovisor/bcc#tools 43
終わりに
44
より詳しく知りたい⽅向けに
u 「BPF Performance Tools」がおすすめです
u eBPFのトレーシングについては、おそらくこの書籍が⼀番詳しいかと思います
u https://www.amazon.co.jp/Performance-Tools-Addison-Wesley-Professional-
Computing/dp/0136554822/
u ネットワーク処理、XDP周りにも興味があるよ︕と⾔う⽅には 「Linux
Observability with BPF」がおすすめです
u 導⼊に必要な知識が少ないページ数でキッチリ説明されてます
u Githubリポジトリのコードも参照しながら読み進めることをお勧めします
u https://www.amazon.co.jp/Linux-Observability-Bpf-Programming-
Performance/dp/1492050202/
45
おわりに
u ここまでで紹介したトレーシングツールは、障害原因を調査する⽬的はもちろ
んのこと、Linuxについてより詳しく挙動を知りたい場合にも有⽤だと思いま
す
u Bcc-toolsには分かりやすいオプションが定義されているので、そちらも確認してみ
てください︕
u ここでは紹介しきれていませんが、iovisorプロジェクト外の CilliumやKatran
などのOSS、Prometheusと連携できるebpf_exporter、パケット解析できるP4
⾔語、LinuxのLSMであるLandlockなど⾯⽩い活⽤の仕⽅もあったりします
u 今後も⽬が離せなさそうで、⾮常に⾯⽩い技術ネタだと思っています︕
46
その他の参考記事
u [1] Systemtap HomePage
u https://sourceware.org/systemtap/wiki
u [2] Github opendtrace/opendtrace
u https://github.com/opendtrace/opendtrace
u [3] Dtrace is open 2005/01/25
u https://blogs.oracle.com/ahl/dtrace-is-open
u [4] bcc-tools README.md
u https://github.com/iovisor/bcc
u [5] bpftrace README.md
u https://github.com/iovisor/bpftrace
47
ご清聴ありがとうございました
48

More Related Content

What's hot

Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動Takashi Takizawa
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Emma Haruka Iwao
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NETterurou
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはコンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはksk_ha
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPFShuji Yamada
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようShohei Okada
 
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例kazuhcurry
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみましたShuntaro Saiba
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造Taiji Tsuchiya
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化Takuya ASADA
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介VirtualTech Japan Inc.
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説貴仁 大和屋
 
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④Yahoo!デベロッパーネットワーク
 

What's hot (20)

Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NET
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはコンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
 
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみました
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
 
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
 

Similar to eBPFを用いたトレーシングについて

Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境Tadahiro Ishisaka
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Tadahiro Ishisaka
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Hiro Yoshioka
 
hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorockyuzorock
 
170622 02
170622 02170622 02
170622 02openrtm
 
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめMakiko Konoshima
 
Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewallM Hagiwara
 
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくばHirotaka Kawata
 
【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門sandai
 
ネットワークコマンド入力に対応したツール事例
ネットワークコマンド入力に対応したツール事例ネットワークコマンド入力に対応したツール事例
ネットワークコマンド入力に対応したツール事例fumoto kazuhiro
 
DTrace for biginners part(1)
DTrace for biginners part(1)DTrace for biginners part(1)
DTrace for biginners part(1)Shoji Haraguchi
 
20090124shibuya Trac
20090124shibuya Trac20090124shibuya Trac
20090124shibuya TracKazuya Hirobe
 
Osc10do linux nextstep
Osc10do linux nextstepOsc10do linux nextstep
Osc10do linux nextstepsmokey monkey
 
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~Takashi Okamoto
 
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門Akira Shimosako
 
Lxc cf201207-presen
Lxc cf201207-presenLxc cf201207-presen
Lxc cf201207-presenKouhei Maeda
 
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishDbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishYohei Azekatsu
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, CodereadingHiro Yoshioka
 

Similar to eBPFを用いたトレーシングについて (20)

Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
 
hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorock
 
170622 02
170622 02170622 02
170622 02
 
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ
 
Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewall
 
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
 
NW入門
NW入門NW入門
NW入門
 
【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門
 
ネットワークコマンド入力に対応したツール事例
ネットワークコマンド入力に対応したツール事例ネットワークコマンド入力に対応したツール事例
ネットワークコマンド入力に対応したツール事例
 
Tokyor23 doradora09
Tokyor23 doradora09Tokyor23 doradora09
Tokyor23 doradora09
 
DTrace for biginners part(1)
DTrace for biginners part(1)DTrace for biginners part(1)
DTrace for biginners part(1)
 
20090124shibuya Trac
20090124shibuya Trac20090124shibuya Trac
20090124shibuya Trac
 
Osc10do linux nextstep
Osc10do linux nextstepOsc10do linux nextstep
Osc10do linux nextstep
 
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
 
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
 
Lxc cf201207-presen
Lxc cf201207-presenLxc cf201207-presen
Lxc cf201207-presen
 
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishDbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publish
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 

More from さくらインターネット株式会社

正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論
正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論
正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論さくらインターネット株式会社
 
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312さくらインターネット株式会社
 
「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介
「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介
「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介さくらインターネット株式会社
 
セキュアモバイルコネクト&sakura.ioと高火力コンピューティング
セキュアモバイルコネクト&sakura.ioと高火力コンピューティングセキュアモバイルコネクト&sakura.ioと高火力コンピューティング
セキュアモバイルコネクト&sakura.ioと高火力コンピューティングさくらインターネット株式会社
 

More from さくらインターネット株式会社 (20)

さくらの学校支援プロジェクト PyCon mini Sapporo 2019
さくらの学校支援プロジェクト PyCon mini Sapporo 2019さくらの学校支援プロジェクト PyCon mini Sapporo 2019
さくらの学校支援プロジェクト PyCon mini Sapporo 2019
 
石狩での プログラミング教育支援 ~2年目の成果~
石狩でのプログラミング教育支援~2年目の成果~石狩でのプログラミング教育支援~2年目の成果~
石狩での プログラミング教育支援 ~2年目の成果~
 
さくらインターネットとコミュニティをつなぐ
さくらインターネットとコミュニティをつなぐさくらインターネットとコミュニティをつなぐ
さくらインターネットとコミュニティをつなぐ
 
【さくらのクラウド】サービス概要カタログ 2018年10月号
【さくらのクラウド】サービス概要カタログ 2018年10月号【さくらのクラウド】サービス概要カタログ 2018年10月号
【さくらのクラウド】サービス概要カタログ 2018年10月号
 
小学校プログラミング教育 ~石狩の場合~
小学校プログラミング教育 ~石狩の場合~小学校プログラミング教育 ~石狩の場合~
小学校プログラミング教育 ~石狩の場合~
 
【さくらのクラウド】サービス概要カタログ 2018年8月号
【さくらのクラウド】サービス概要カタログ 2018年8月号【さくらのクラウド】サービス概要カタログ 2018年8月号
【さくらのクラウド】サービス概要カタログ 2018年8月号
 
【さくらのクラウド】サービス概要カタログ 2018年7月号
【さくらのクラウド】サービス概要カタログ 2018年7月号【さくらのクラウド】サービス概要カタログ 2018年7月号
【さくらのクラウド】サービス概要カタログ 2018年7月号
 
パートナーと共創する さくらのクラウドのサービス展開
パートナーと共創する さくらのクラウドのサービス展開パートナーと共創する さくらのクラウドのサービス展開
パートナーと共創する さくらのクラウドのサービス展開
 
【さくらのクラウド】サービス概要カタログ 2018年6月号
【さくらのクラウド】サービス概要カタログ 2018年6月号 【さくらのクラウド】サービス概要カタログ 2018年6月号
【さくらのクラウド】サービス概要カタログ 2018年6月号
 
Sakura infini band-20180424
Sakura infini band-20180424Sakura infini band-20180424
Sakura infini band-20180424
 
【さくらのクラウド】サービス概要カタログ 2018年4月号
【さくらのクラウド】サービス概要カタログ 2018年4月号 【さくらのクラウド】サービス概要カタログ 2018年4月号
【さくらのクラウド】サービス概要カタログ 2018年4月号
 
正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論
正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論
正解はどれ?『プログラミング教育』を取り巻くステークホルダーと議論
 
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
 
【さくらのクラウド】サービス概要カタログ 2018年3月号
【さくらのクラウド】サービス概要カタログ 2018年3月号 【さくらのクラウド】サービス概要カタログ 2018年3月号
【さくらのクラウド】サービス概要カタログ 2018年3月号
 
駅すぱあとWebサービス&sakura.io体験ハンズオン 20180302
駅すぱあとWebサービス&sakura.io体験ハンズオン 20180302駅すぱあとWebサービス&sakura.io体験ハンズオン 20180302
駅すぱあとWebサービス&sakura.io体験ハンズオン 20180302
 
sakura.io体験ハンズオン 20180228
sakura.io体験ハンズオン 20180228sakura.io体験ハンズオン 20180228
sakura.io体験ハンズオン 20180228
 
「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介
「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介
「sakura.io」「さくらのセキュアモバイルコネクト」ご紹介
 
【さくらのクラウド】サービス概要カタログ 2018年2月号
【さくらのクラウド】サービス概要カタログ 2018年2月号 【さくらのクラウド】サービス概要カタログ 2018年2月号
【さくらのクラウド】サービス概要カタログ 2018年2月号
 
セキュアモバイルコネクト&sakura.ioと高火力コンピューティング
セキュアモバイルコネクト&sakura.ioと高火力コンピューティングセキュアモバイルコネクト&sakura.ioと高火力コンピューティング
セキュアモバイルコネクト&sakura.ioと高火力コンピューティング
 
sakura.ioご紹介 20180206
sakura.ioご紹介 20180206sakura.ioご紹介 20180206
sakura.ioご紹介 20180206
 

Recently uploaded

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (8)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

eBPFを用いたトレーシングについて