タグ

bpfに関するtermoshttのブックマーク (3)

  • eBPFやLD_PRELOADを利用した共有ライブラリの関数フック - TIER IV Tech Blog

    こんにちは、ティアフォーでパートタイムエンジニアをしている石川です。 記事では、楽に「動的ライブラリ(及び実行バイナリ)の特定の関数をフックして何かしらの処理をする」手法について紹介していきます。 この記事は、同じくパートタイムエンジニアの西村さんによる作業の成果を元にして、石川が執筆したものです。ソースコードや図のいくつかも西村さんによる貢献です。 また、ティアフォーでは「自動運転の民主化」をともに実現していく、学生パートタイムエンジニアを常時募集しています。自動運転を実現するためには、Softwareに関してはOSからMiddlewareそしてApplicationに至るまで、Hardwareに関してはSensorからECUそして車両に至るまで異なるスキルを持つ様々な人々が不可欠です。もしご興味があれば以下のページからコンタクトいただければと思います。 https://tier4.j

    eBPFやLD_PRELOADを利用した共有ライブラリの関数フック - TIER IV Tech Blog
  • LinuxのBPFとbccでデバッグする - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    最近公開されたスライドでLinuxのパフォーマンスチューニングとかDTraceで有名なBrendan GreggさんのLinux BPF Superpowersが面白かったのでBPFとbccに手を出してみました。 BPFはLinuxカーネルのパケットフィルタリングの機能で、その名の通りBerkeley Packet Filterです。bcc「BPF Compiler Collection」というのはBPFを使いやすくするためのツールです。 BPFを使う場合、一番基的なのはbpf(2)を使ってc言語で書くことだと思います。bccはpython+c言語でBPFを使うようになっています。 (´-`).oO(BPFとbccの関係というのはkprobesとsystemtapの関係に近いような気がします で、Berkeley Packet Filterでデバッグってなんだよ?ってなると思うのですが、

    LinuxのBPFとbccでデバッグする - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
  • perf, ftraceのしくみ - 睡分不足

    Linuxのトレーサーであるperfやftraceのツールの使い方に関する情報は結構ありますが,構造に関してはあまり見つけられなかったため,ここに簡単に調べたことをまとめようかと思います.(ツールの使い方の説明はあんまりしないです.) この文章はLinux 4.15のソースに基づいています. 全体像 ftrace function trace tracepoint (static event) kprobe (dynamic event) その他のtracer trace-cmd perf PERF_TYPE_HARDWARE, HW_CACHE, RAW PERF_TYPE_SOFTWARE PERF_TYPE_TRACEPOINT PERF_TYPE_BREAKPOINT USDT (SDT Event) perf-tools perf ftrace straceとの比較 その他 pe

    perf, ftraceのしくみ - 睡分不足
    termoshtt
    termoshtt 2018/04/06
  • 1