並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 17 件 / 17件

新着順 人気順

bpftraceの検索結果1 - 17 件 / 17件

  • bpftraceを使ってバイナリの謎の性能劣化を突き止めろ - Cybozu Inside Out | サイボウズエンジニアのブログ

    サイボウズ社内ではC++で開発している製品があります。 未知のバッファオーバーランなどの脆弱性への対策として、重要なコンポーネントについてはプロダクション環境で利用しているバイナリでも AddressSanitizer を有効にしてビルドしています。 その製品で利用しているコンパイラをgcc5.3.0からgcc7.5.0に更新したところ性能劣化が発生しました。 製品コードとは別の部分が原因のため、根本原因の追跡が難しそうです。perf,bpftraceを使って性能劣化を追いかけてみましょう。 本記事で利用しているAddressSanitizer, bpftrace, perfコマンドはネット上に良質な記事がありますので、使い方などの解説は今回は省略させていただきます。 gcc7.5.0において、性能劣化が発生する再現コードとして次のようなものを用意しました。 #include <strin

      bpftraceを使ってバイナリの謎の性能劣化を突き止めろ - Cybozu Inside Out | サイボウズエンジニアのブログ
    • bpftraceによるGoアプリケーションのトレース|hayajo

      はじめにシステムの状態を的確に捉え、運用に必要なインサイトを継続的に得るための特性は「オブザーバビリティ」と呼ばれます。オブザーバビリティを実現することで、パフォーマンスのモニタリングやトラブルシューティングを効果的に行い、システムの信頼性を高めることができます。 この重要な特性を実現する上で、eBPFやbpftraceは強力なツールとなります。 本記事では、Goアプリケーションにおけるオブザーバビリティを実現するための一つの方法として、bpftraceを用いたトレースの手法を紹介します。 内容が多いため、目次を活用して段階的に読み進めることをお勧めします。 eBPFとbpftraceはじめに、eBPFとbpftraceについて簡単に説明します。 eBPFとはeBPF(Extended Berkeley Packet Filter)はLinuxカーネル内で動作する柔軟なプログラミングフレー

        bpftraceによるGoアプリケーションのトレース|hayajo
      • bpftrace (DTrace 2.0) for Linux 2018

        Recent posts: 28 Apr 2023 » eBPF Observability Tools Are Not Security Tools 01 Mar 2023 » USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon 17 Feb 2023 » USENIX SREcon APAC 2023: CFP 02 May 2022 » Brendan@Intel.com 15 Apr 2022 » Netflix End of Series 1 09 Apr 2022 » TensorFlow Library Performance 19 Mar 2022 » Why Don't You Use ... 26 Sep 2021 » The Speed of Time 06 Sep 2021 »

        • bpftrace 2020 - 睡分不足

          (この記事はLinux Advent Calendar 2020 - Qiitaの2日目の記事です.前日はmasami256さんのTiny Core LinuxでLinuxのinitプロセスが実行されるあたりを調べるでした.) みなさんこんにちはこんばんは.bpftraceを使っていますか? (e)BPFといえば最近は専らCiliumなどネットワークが話題ですが,bpftraceはBPF*1を利用したトレーシングツールです.私は昨年からぼちぼち使い始めて,機能追加やバグ修正のパッチをいろいろと投げていた(130+)ら気づいたらコミッタになっていました.ということでbpftraceについては比較的よく知っていると思うので,今年にbpftraceに追加された主要な機能や変更点を紹介したいと思います. bpftrace知らないなぁという方はこちら(拙文です)を,bpftrace使ってないなぁとい

            bpftrace 2020 - 睡分不足
          • bpftraceで2048作ってみた - バニキPの気ままに

            はじめに 去年のアドベントカレンダーでeBPFについていろいろ調べた. その時に,ネコの人に「SystemTapで昔ゲームを作ったことがあるから,BPFでも作れるはずだから作ってみたら」と. ちょうどLT会のネタに困っていたこともあり,作るかとなったので,bpftraceで動作する2048を作りました.(SystenTapで動作する2048もあります) 動作環境 bpftraceの環境構築は公式に書いてあるinstallの手順に従って導入してください. Linux5.3以上である事が必須となっています. Linux5.2以前では,命令数制限でverifierでカーネルにロードされずエラーとなってしまいます. また,プログラム内でwhileを使用しており,whileもLinux5.3以上でないとサポートされてないため(確かこのバージョンで入ったはず...)動作しません. このあたりの環境構築

              bpftraceで2048作ってみた - バニキPの気ままに
            • GitHub - iovisor/bpftrace: High-level tracing language for Linux eBPF

              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

                GitHub - iovisor/bpftrace: High-level tracing language for Linux eBPF
              • bpftraceでテトリス - Qiita

                みなさんこんにちは.突然ですがbpftraceってご存知でしょうか? 名前から明らかなようにbpfを利用したトレーシングツールです.bpftraceの設計は以前から存在するDTraceやSystemTapに影響を受けています.それらのツールに馴染みのある人にとってはむしろ,bpftraceはDTraceやSystemTapのBPF版と言った方が(非常に雑ですが)分かりやすいかもしれません. 一般にBPFを利用してトレーシンングを実施する場合は,1) BPFプログラム本体 と 2) トレーシング結果を表示するためのユーザランドのプログラム を書く必要がありますが,bpftraceでは独自のスクリプト言語により,それらを特に意識せずにトレーシング処理が記述できます.例えば,プロセス別にシステムコール発行数を集計したい場合は以下のようにしてできます.便利ですね. % bpftrace -e 't

                  bpftraceでテトリス - Qiita
                • bpftraceで深夜にプロセスをkillした犯人を特定する | GREE Engineering

                  インフラのいわほり(egmc)です。 eBPFを利用したプロダクトとしてはCiliumなどがcloud nativeな文脈として盛り上がっていますが、一方でBCC Toolsやbpftaceは、システム内部のかゆいところに手が届くソリューションとして身近な課題解決にカジュアルに役立つツールとして提供されています。 これらのツールは実際に便利ではあるものの現実世界での事例をそれほど見かけないというのもあり、「こんな感じで役に立った」という事例をカジュアルに紹介していくのもコミュニティにとって有用ではないか、ということで今回はOSのバージョンアップに関連して発生した問題の調査にbpftraceが役立ったというお話をご紹介したいと思います。 環境 Ubuntu 20.04.6 LTS bpftrace v0.9.4 発生した事象 GREEのクラウド環境で利用しているシステムのアラートの配送を行う

                    bpftraceで深夜にプロセスをkillした犯人を特定する | GREE Engineering
                  • Accurate, low-overhead per process bandwidth monitoring on Linux in 40 lines of bpftrace

                    Existing tools to measure bandwidth usage on Linux Measuring bandwidth with bpftrace The full program Preamble Installing kprobes Measuring incoming data Measuring outgoing data Cleanup Adding live updates Future work Further reading Existing tools to measure bandwidth usage on Linux Searching for “per process network usage linux” is disappointing. Most of the recommended tools – like iftop, nload

                    • BPFによるトレーシングが簡単にできる「bpftrace」の使い方

                      Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載「Berkeley Packet Filter(BPF)入門」。前回はBPFによるトレーシングについて、おおまかな仕組みや概要を説明しました。今回は、BPFによる代表的なトレーシングツール「bpftrace」について、具体的にどのようなことができるのかを紹介します。また、bpftraceの注意点や分かりにくい点についてもまとめます。 bpftraceとは bpftraceはBPFを利用したトレーシングツールの一つです。代表的なBPFのライブラリである「BCC(BPF Compiler Collection)」と同じく、現在は「iovisor」が管理しています。BCCと比較すると、bpftraceはトレース処理に特化し、より簡単に利用できるようになって

                        BPFによるトレーシングが簡単にできる「bpftrace」の使い方
                      • Kernel analysis with bpftrace [LWN.net]

                        This article brought to you by LWN subscribersSubscribers to LWN.net made this article — and everything that surrounds it — possible. If you appreciate our content, please buy a subscription and make the next set of articles possible. At the 2019 Linux Storage, Filesystem, and Memory-Management Summit (LSFMM) I gave a keynote on BPF observability that included a kernel issue I had debugged on Netf

                        • GitHub - iovisor/kubectl-trace: Schedule bpftrace programs on your kubernetes cluster using the kubectl

                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

                            GitHub - iovisor/kubectl-trace: Schedule bpftrace programs on your kubernetes cluster using the kubectl
                          • Comparing SystemTap and bpftrace [LWN.net]

                            Benefits for LWN subscribersThe primary benefit from subscribing to LWN is helping to keep us publishing, but, beyond that, subscribers get immediate access to all site content and access to a number of extra site features. Please sign up today! There are times when developers and system administrators need to diagnose problems in running code. The program to be examined can be a user-space proces

                            • Full-system dynamic tracing on Linux using eBPF and bpftrace

                              Linux has two well-known tracing tools: strace allows you to see what system calls are being made. ltrace allows you to see what dynamic library calls are being made. Though useful, these tools are limited. What if you want to trace what happens inside a system call or library call? What if you want to do more than just logging calls, e.g. you want to compile statistics on certain behavior? What i

                                Full-system dynamic tracing on Linux using eBPF and bpftrace
                              • Nginxをbpftraceで追いかける - ローファイ日記

                                このブログは、昨日の分です。だめですかね... カーネルトレーシングシリーズです。今日は、Nginxを、追ってみます。 まず、 uprobe が見えるnginxバイナリを用意する 大抵の場合、パッケージのnginxバイナリはシンボルがstripされていて、uprobeが見えない。 nginx-build などで自分でビルドする。 github.com トレーシングの都合上、 --with-debug でビルドするといいらしい( ngx_request_t * などがトレーサから見えるようになる)。 $ nginx-build -d src/nginx-build -v 1.15.12 \ --with-debug uprobeは以下の通り確認できる。 $ sudo bpftrace -l 'uprobe:/usr/local/nginx/sbin/nginx' | head uprobe:

                                  Nginxをbpftraceで追いかける - ローファイ日記
                                • Let's build a simple system calls monitoring dashboard using bpftrace and streamlit

                                  % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 49.67 0.000301 301 1 execve 14.69 0.000089 11 8 mmap 6.44 0.000039 13 3 openat 4.46 0.000027 9 3 mprotect 4.46 0.000027 6 4 newfstatat 3.47 0.000021 5 4 pread64 3.14 0.000019 19 1 munmap 2.81 0.000017 8 2 close 2.64 0.000016 5 3 brk 2.15 0.000013 6 2 read 2.15 0.000013 13 1 1 access 1

                                    Let's build a simple system calls monitoring dashboard using bpftrace and streamlit
                                  • bpftraceコマンドでダイナミック・トレーシングしてみよう! - Qiita

                                    新しいトレーシング用ツール bpftraceは、Alastair Robertsonさんたちによって開発されているBPFのフロントエンドとして動作するトレーシング・ツールです。同じようなものとしては、BPF Compiler Collection (BCC)という高機能なツール群が既にあるのですが、bpftraceでは、付属する独自の言語を使って、その場に応じたトレーシングが簡単にできるように工夫されています。 こうしたツールは運用の現場で起きる突発的なパーフォーマンスの劣化やリソースの大量消費等のトラブルシューティングに使われることが多いため、「簡単に使える」ことは大切です。現場の担当者がプレッシャーに圧し潰されそうになりながら原因調査を行っている状況を想像してみてください。簡単に使えて、詳細なデータを採取できるツールがあれば、助かりますよね。 bpftraceはそんなツールです。本稿で

                                      bpftraceコマンドでダイナミック・トレーシングしてみよう! - Qiita
                                    1