問題タブ [ftrace]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - ftrace に関する適切な説明/ドキュメント
2.6.27 カーネルには ftrace と呼ばれる新しいモジュールがあり、suns dtrace ユーティリティによく似ていると読みました。ドキュメントのグーグル検索に問題があります。他の誰かが何か持っているのではないかと思っていました。これは dtrace のような完全なプログラミング スタックに実装されるものですか? Linux でトレースするための素敵な小さなスクリプト言語を取得できますか?
profiling - Linux カーネルのパフォーマンス イベント サブシステムのパフォーマンス オーバーヘッド
Linux のパフォーマンス カウンターは、すべてのパフォーマンス分析のフレームワークを提供する新しいカーネル ベースのサブシステムです。ハードウェア レベル (CPU/PMU、パフォーマンス モニタリング ユニット) 機能とソフトウェア機能 (ソフトウェア カウンター、トレースポイント) もカバーしています。2.6.33 以降、カーネルは、開発者がカーネル カウンターを作成してシステム ランタイム情報を収集するための「perf_event_create_kernel_counter」カーネル API を提供します。私が最も懸念しているのは、tracepoint/ftrace が有効になっている場合のシステム全体へのパフォーマンスへの影響です。それらについて見つけることができるドキュメントはありません。ftrace はコードに動的にパッチを適用することによって実装されていると聞いたことがありますが、システムが劇的に遅くなりますか?
linux-kernel - ftrace を使用して、システム コールによって呼び出されるカーネル内コール グラフを取得するにはどうすればよいですか?
これらを試しましたが、すべて「空の」出力ファイルが生成されます。
python - Pythonを使用してCコードから関数名とそのコメントを抽出します(Linuxカーネルを理解するため)
背景情報
ドライバーとLinuxカーネルについて学び始めたところです。write()
ユーザーとその仕組みを理解したいread()
。そこで、関数が進むパスを確認するためにftraceを使い始めました。しかし、次のような単一のプログラムからのトレースは「巨大」です。
また、Linuxカーネルがわからず、重要なものを捨てたくないので、どの関数をフィルタリングできるかもわかりません。
そこで、function_graphトレースの処理を開始しました。これがスニップです。
私はこれらを見.down_write()
て.up_write()
、これがまさに私が探しているものだと思いました。それで調べました。down_write()ソースコード:
しかし、これは単にロックをロックして解放するためのものであることが判明しました。それから私は私のために小さなリファレンスを書き始めました、それで私はそれが9000以上あるように落ちるので、私はいつもこのものを調べる必要はありません。それから私はこれらの関数とそれらのコメントを解析するという考えを持っていましたトレースファイルの関数の後ろにそれらを書き込みますか?このような:
主な問題
それで、どうすればこれを達成できるかを考え始めました。私はそれを最も快適に感じるので、Pythonでそれをやりたいと思います。
1.問題
C関数とコメントを一致させるには、再帰一致文法を定義して実装する必要があります:(
2.問題
一部の関数は単なるラッパーであり、コメントがありません。たとえば、do_brk()
折り返し__do_brk()
、コメントは__do_brk()
だから、コメントの出典は他にもあるのではないかと思いました。多分ドキュメント?また、Pythonを使用したこの「ドキュメント生成」には、すでに誰かが実装されている可能性があります。
それとも、システムを理解する私の方法はread()
write()
非常にインテリジェントではありませんか?深く掘り下げる方法のヒントを教えていただけますか?
読んでくれてありがとう、
ファビアン
linux - ftrace 関数の統計と oprofile の違い
どなたかftrace
統計とを比較していただけoprofile
ませんか? 次の現象が確認されました。
- ネットワーク パフォーマンス テスト中に有効にした場合、 ftrace プロファイラーを使用
oprofile
したパフォーマンス テストへの影響はほとんどありません (有効でない場合と比較して)。oprofile
CONFIG_FUNCTION_PROFILER
- プロファイラーを有効にすると、ネットワーク テストのパフォーマンスが約 90% 低下します。
- レポートではあまりサンプリングされていない関数がたくさんありますが
oprofile
、ftrace プロファイルのレポートでは、実行に多くの時間がかかります (ほとんどがskb_alloc
とskb_free
です)。
以前にこれらのプロファイリングの両方を使用したことがある場合、その精度について提案をお願いします。
android - 関数トレースをオンにすると Android の Ftrace がフリーズします。誰か助けてください :(
Android AVD に Ftrace をインストールし、Ftrace の機能を使用しようとしましたが、機能しません。
以下は私がしたことのリストです:
- ubuntu 10.04 LTS をインストール
- Android SDK、ツールチェーン、ライブラリなどの必須ツールをインストールします
- 金魚カーネルの
参照をダウンロード - http://blog.markloiseau.com/2012/07/how-to-compile-the-android-goldfish-emulator-kernel/ - カーネル構成ファイルを変更します (トレーサー オプションをオンにします)。
- トレーサーオプション付きでコンパイルされたカスタムカーネルで金魚を起動します
- Ftrace 機能を使用しようとしました
- カーネルがフリーズする
これはログです:
上記のように、一部の機能はうまく機能します。しかし、重要な機能である追跡機能をオンにすると、システムがダウンします。
私は何をすべきか ?
linux - Linuxのftraceで特定の関数から開始して完全なコールグラフを取得するにはどうすればよいですか?
ftraceを使用して特定の関数をトレースしたいのですが、その関数からの以降のすべての呼び出しを使用します。
目的の関数でフィルターを使用してftraceを開始することができましたが、現在は、呼び出されたこの1つの特定の関数のみが表示されます。
だから私の質問は:特定の関数から呼び出されたすべての関数、それらの関数によって呼び出された関数などを印刷する方法は?
android - Linux カーネル関数を ftrace function_graph トレーサーで使用できるようにする方法は?
ftracefunction_graph
を使用してカーネル ブート プロセス中に関数をトレースして、その機能を理解したいのですが、.NET では利用できませんavailable_filter_functions
。
でエクスポートしようとしましたEXPORT_SYMBOL()
が、利用できるようになると思いますが、そうではありません。
解決策はありますか?
参考までに、トレースしたい関数はpersistent_ram_init_ringbuffer
、persistent_ram_early_init
Android カーネル 3.4 の と です。
私はドキュメントを読みましたが、これについては何も見つかりませんでした.grepはそれ以上役に立ちませんでした...
ありがとう
android - Android Systrace Trace File Format
Android systrace tool, calls atrace tool via ADB. However, I don't understand very well the format of the traces file. Apparently it is very similar to linux ftrace tool with some differences. The main difference is that is doesn't uses a System.Map file but it includes all that information into the trace file. Also, there are new B|E entries that are android specific.
There is some information about this format in Android Source Code at: http://androidxref.com/4.1.1/xref/external/chromium-trace/src/tracing/linux_perf_importer.js
However, in that documentation we can read that the format belongs to Linux Perf Tool. I don't think so, linux perf gives as an output a very different format... (unless some special configuration is active...)
My question is: Does anybody know where can I found an official documentation about android trace files generated with atrace tool from adb?
Is this format familiar to you ?
#xA;Thanks in advance !
linux - debugfs なしで ftrace を使用することは可能ですか?
function_trace が有効になっているが debugfs が無効になっている Linux KERNEL 構成ファイルを調べていました。このカーネルをターゲットにロードする方法はありますか? function_tracer を利用できますか? debugfs が無効になっている場合、関数トレーサがデフォルトで有効になっていないということですか?