問題タブ [systrace]
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.
android - AndroidエミュレーターのSystrace
Android 4.2 (avd 17) エミュレーターで systrace を使用しようとしています。
USB debuggimg を有効にし、トレース オプションで WebView を有効にして、こちらのガイドに従ってください http://www.youtube.com/watch?feature=player_embedded&v=Q8m9sHdyXnE#t=31m15s
しかし、Android ツール ディレクトリで ./systrace.py を使用してトレースを開始しようとすると、次の出力が表示されます。
トレースを機能させるために何をする必要があるか知っている人はいますか?
android - Android FTrace の精度をマイクロ秒に上げる方法は?
以下を使用して、 Android環境内でFTraceファイルを生成しようとしています。
問題は、mytracefile.txtのタイム スタンプの精度がミリ秒単位であることです。
通常、14186.690000ではなく 14186.691234 のように、マイクロ秒単位である必要があります。
私が持っている他のすべてのtrace_clock オプション( local、global、および counter )は既にテストしましたが、結果は常に同じです。そのパラメーターを変更しても、出力ファイルは何も変更されません。
FTrace のドキュメントに注意深く従いましたが、構成で他に何を変更すればよいかわかりません。
インターネットで検索すると、このバグレポートしか見つかりませんでしたが、解決されませんでした: http://lists.linaro.org/pipermail/linaro-dev/2011-February/002720.html
何かアドバイスはありますか?
インストールする必要があるカーネルに追加のモジュールはありますか?
アップデート:
- Android バージョン: 4.2.2
- カーネル Linux バージョン: 3.4.7
dmesg出力もミリ秒の精度を示しています。
ありがとうございました、
systrace - html の代わりに csv やテキスト ファイルなどのログ形式として systrace をエクスポート
レポートを解析して生成できるように、systrace の出力を CSV ファイルとしてエクスポートできますか。
android - performTraversals 再帰の原因、長い egl バッファー スワップ時間
Android 4.2.2 のルート化されていない Nexus 4 で、systrace を使用してアプリのパフォーマンスを測定しています。私には意味のわからないレポートがいくつか見られます。それらが systrace のバグなのか、それともこれらの症状の潜在的な根本原因を誰かが知っているのではないかと考えています。
1- 実行終了時の performTraversals での大規模な再帰
レポートへのリンク- 実行の最後 (~18 秒) に大きな曲線が表示されます。私の理解では、performTraversals はフレームワーク レベルであり、ユーザー インターフェイスの単一フレームを描画します。そのため、その下に再帰呼び出しがある可能性があることは意味がありませんでした。また、実行の最後にこの種の指数関数的なスタッキングが発生するため、これは実際には実行の終了時にデータの systrace に欠陥があるだけだと思いました。この種の再帰は可能ですか?どういう意味ですか?
2- 長いバッファー スワップ時間での実行の途中での performTraversals の再帰
レポートへのリンク - 12 秒前後から興味深い動作が始まります。ランニングの途中で似たようなものを見たとき、これを書き留めるべきではないのではないかと思いました。また、同僚がそれを無視するように私に言ったとき、私は無駄に長い eglSwapBuffers/queueBuffer (私のアプリは openGL を使用せず、フレームワークを直接使用するだけです) の原因を突き止めるために多くの時間を費やしましたバッファーのスワップは常に瞬時に行われるためです。それ以上のことがあるのでしょうか?ここで調べることはありますか?
android - デバイスでの Android systrace の実行
次のようなエラーが発生するため、systrace.pl という Android SDK ツールを実行できません。
実際、 /sys/kernel/debug/tracing ディレクトリは存在しません。
少し調査したところ、次のコマンドで debugfs を有効にする必要があることがわかりました。
そこでマウントを実行すると、debugfs が実行中であることが示されます。
そして、開発者設定メニューでトレースを有効にしました (すべての項目)。Samsung Galaxy S3 でストック ROM 4.1.1 を使用しています。
Android の systrace に関する記事はたくさんありますが、/sys/kernel/debug/tracing に実際にファイルが生成されないという問題を解決できるものはないようです...
android - Android Systrace そのようなファイルまたはディレクトリはありません
ここにエラーメッセージがあります
systrace.py を調べたところ、legacy_script "systrace-legacy.py" がファイル システムにないようです。関連する Stackoverflow の投稿をいくつか読みましたが、すでに adb を含むディレクトリを %PATH% に配置しています。問題はまだ存在します。この問題を解決する方法があるかどうかを尋ねるために書いています。
android - Systrace |Android 4.1.1 (Galaxy S3 I747UCDLK3) に /sys/kernel/debug/tracing ディレクトリがありません
Galaxy S3でAndroid systraceツールを使用しようとしていますが、カーネルの問題と思われる問題に遭遇しました。
この投稿で説明されている手順に従いました: Jelly Bean で systrace を使用できませんでした
「mount -t debugfs nodev /sys/kernel/debug」を実行できました。「mount」コマンドの結果は次のとおりです。
したがって、debugfs がシステムにマウントされていると思います。ただし、ftrace があるはずの /sys/kernel/debug/tracing ディレクトリが見つかりませんでした。adb シェルで「atrace」コマンドを使用したときに発生したエラーは次のとおりです。
私はスタックオーバーフローに関するいくつかの投稿を一瞥しました。systrace ツールを使用するために本当にそれを行う必要がありますか?
また、この投稿 ( Android エミュレーターで systrace ツールを実行できません) の回答では、Samsung GS3 が実際に systrace を使用できることが言及されています。私はここで何か間違ったことをしているのではないかと思っています。
android - Android で FPS を測定するために performTraversals を使用できますか?
既存の Android プロファイリング ツールに基づいて、アプリケーションのパフォーマンスの問題を検出するために FPS を計算したいと考えています。
Systrace では、performTraversals の長さを記録できることに注意しました。私の知る限り、performTraversals は、フレームを更新する際のほとんどのジョブを含む、測定、レイアウト、および描画を実行します。それでは、performTraversals は、フレームの更新に 60 ミリ秒かかるかどうかを測定するのに十分な代表的なものでしょうか?
また、Systrace が SurfaceFlinger に費やした時間を記録していることにも注目しました。SurfaceFlinger がレンダリング目的で提供されていることは知っていますが、フレームの正確な開始点と終了点はわかりません。SurfaceFlinger でフレーム レートに費やされた時間も考慮する必要がありますか? (ただし、SurfaceFlinger が performTraversals よりも頻繁に実行されることは確認していますが、これは、SurfaceFlinger が必ずしも performTraversals に従うとは限らないことを意味します。他のシナリオでもトリガーされます。)
PS sysdump gfxinfo は認識していますが、128 フレーム (~2 秒) しか記録できませんが、必要なものはもっと長く続く可能性があります。