h2olog を C++ で書き直してみる
March 30, 2020
h2olog を C++ で書き直すことを検討しています。 理由はイベントの読み取り側のパフォーマンスを上げることで、BPF の ring buffer を溢れにくくするためです。
Python が悪いというわけではなく、高スループットのサーバから QUIC のトレースを取るには荷が重いという結論です。 gfx さんが脱帽レベルの最適化を施してくれたにも関わらず、力及ばすでした。 得意でもない C++ を選んだ理由は BCC が C++ API を提供しているからです。 とりあえず実験的にブランチを作りました。 C++ は奥が深いので、しばらくはいわゆる The Better C として扱おうと思います。 誰か CMakeLists.txt を書いてくれないかな。