問題タブ [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.

0 投票する
4 に答える
3569 参照

android - React-native Android Systrace HTML が Ubuntu 14.04 で空白になる

Android SDK の systrace.py ユーティリティを使用して、React-Native ベースの Android アプリのトレースを html ファイルに収集しました。Chrome 50.0.2661.86 (64 ビット) または Firefox 45.0.2 でこの html トレース ファイルを開くと、開発者コンソールに空白の画面といくつかの JavaScript エラーが表示されます。OS Ubuntu 14.04 64 ビット OS。

ただし、私の Windows マシンでは、Chrome 49.0.2623.112 でエラーなしで HTML トレースが正しくレンダリングされます。

この問題を解決するのを手伝ってくれる人はいますか?

0 投票する
1 に答える
212 参照

android - SELinux が原因で、マシュマロの Nexus 6 で Systrace が動作しなくなりましたか? 誰かが再びそれを機能させましたか?

以前は Nexus 6 で systrace を実行できましたが、最近動作しなくなりました (おそらく、最近の毎月の更新の 1 つの後): デバイスからトレースをダウンロードしようとして systrace がハングします。

ではadb logcat、次のような一連の行が表示されます

systrace が を使用していることは知っていますdebugfsが、これは SELinux パーミッションの問題のようです ( https://source.android.com/security/selinux/validate.htmlを参照)。誰かがこれを再び機能させましたか?

0 投票する
1 に答える
4012 参照

android - Android Systrace ツールを使用して trace.html を作成しましたが、chrome で開くことができません

Androidデバイスモニターによって生成されたtrace.htmlを開くためにchromeを使用していますが、空白が表示されます。クロムを設定するにはどうすればよいですか?

0 投票する
0 に答える
551 参照

javascript - React Native Android Systrace JS マーカーのサポート

React のネイティブ Android JS レベル マーカーは、IOS に存在するものほど有用ではありません ( https://www.youtube.com/watch?v=0MlT74erp60を参照)。

RN 0.29-stable の時点で、github の React ネイティブ リポジトリで観察したことがいくつかあります。

1) Systrace.js にログインすると、android の _enabled は常に false になります (android には Java 側に onTraceStarted コードがありますが、トリガーされることはありません)。IOS と比較すると、_enabled は開発オプション ダイアログによって制御されます。

2) Systrace.js は、グローバルにインストールされた関数を使用します: nativeTraceBeginSection など、マーカーを表示するために、IOS ではグローバルにインストールされますが、Android ではインストールされません。jscexecutor に対応する android jni ファイルを見ると、おそらく

グローバル関数をインストールして、tracebeginsection およびその他の関数を実行します。

Android で react-native のプロファイリングを改善するための他の洞察や方法はありますか?

真剣に私が見るのは次のとおりです: ここに画像の説明を入力

0 投票する
4 に答える
2256 参照

android - React ネイティブ プロファイリング。Systrace で JS およびネイティブ モジュール スレッドが表示されない

Android UI パフォーマンスのプロファイリングのガイドに従いました

次のコマンドを実行します: /usr/local/Cellar/android-sdk/24.4.1_1/platform-tools/systrace/systrace.py --time=10 -o trace.html shred gfx view -a com.navigation.

トレース出力を取得できます。ただし、ガイドに記載されているように、Js およびネイティブ モジュール スレッドは使用できません。

生成されたトレースの例を次に示します。ここに画像の説明を入力

ガイドに記載されているように dev=false とこの回答に記載されているように dev=true の両方を使用してトレースを実行しようとしましたが、機能していません

現在、バージョン 0.28.0 を使用しています。プロジェクトで以前にsystraceを使用しようとしたことがないため、機能したかどうかはわかりません。

これが表示されない理由についてのアイデアは大歓迎です。

0 投票する
1 に答える
847 参照

android - ダブル バッファリングによりフレームのレンダリングが遅くなる | systrace 分析

カスタム ビュー キャンバス描画 (postInvalidate()) とHardwareAccelerationを使用して単純な 2D ゲームで作業しています。数週間のパフォーマンス分析の後、Interface Choreographer.FrameCallbackを介して VSYNC パルスと更新および描画操作を同期することにしました。それがスムーズな動きを得る正しい方法だと思います。

しかし、私はまだ途切れ途切れの動きを経験しています。systraceで分析したところ、BufferQueue と関係があることに気付きました。ダブル バッファリングが開始されるとすぐに、フレーム時間が 16 ミリ秒を超えます。いくつかの説明を付けて、トレースのスクリーンショットを作成しました。

描画操作全体は、SurfaceFlinger (コンシューマー) のバッファーが解放されて、独自の新しい空のバッファーがキューから取り出されるのを待ちます。

これが通常の動作なのか、それとも何が原因なのか教えていただけますか?

0 投票する
1 に答える
1635 参照

android - Android アプリの最初の起動が非常に遅く、systrace に 30 秒の bindApplication が表示される

私は現在 Android アプリを開発しており、起動時間を改善しようとしています。そのために、Systraceツールを使用しています。

初めてアプリを実行したとき (インストール直後)、起動に約 40 秒かかり、次のトレースが表示されます。

ファーストラン

ご覧のとおり、 title の付いた 30 秒の薄紫色のタグがありbindApplicationます。

この後、アプリを閉じ (最近のアクティビティからスワイプして離します)、再度開きます。今回のbindApplicationタグの長さはわずか 4 秒です。

2 回目の実行

  • 最初の実行に時間がかかるのが普通かどうか知っている人はいますか?
  • 改善するにはどうすればよいですか?

bindApplicationこれは App メソッドの重い作業に関係していると思いますが、それonCreateがどのように起こるかわかりません。念のため: 私の場合はonCreate、次のライブラリを初期化します: Parse、Crashlytics、Timber、ParseFacebookUtils、Google アナリティクス。

編集:

アプリのサブクラス コードは次のとおりです。

0 投票する
1 に答える
916 参照

ddms - Systrace - /sys/kernel/debug/tracing/set_ftrace_filter の切り捨てエラー: そのようなデバイスはありません (19) 開始できません

私は現在、Android UI での一連のユーザー インタラクションの背後でシステムが何をしているかを調べることを目的としたプロジェクトに取り組んでいます。たとえば、ユーザーが Facebook Messenger の送信ボタンをクリックした場合、そのようなアクションの測定された応答時間は 1.2 秒です。私の目標は、1.2 秒が何で構成されているかを把握することです。私の友人は、「Systrace」を調べてみるべきだと提案しました。

しかし、HTC one M8 で systrace を試したところ、いくつかの問題が発生しました。まず、/sys/kernel/debug/tracing/options/overwrite を開くときにエラーが発生しました - そのようなファイルまたはディレクトリはありません。http://opensourceforu.com/2010/11/kernel-tracing-with-ftrace-part-1/および mount -t debugfs none /sys/kernel/debugに従ってカーネルのサポートを構築することで、この問題を解決しました。その後、トレース ディレクトリを見つけることができました。さらに、Ramdisk 内のファイル default.prop に ro.debuggable=1 を設定し、boot.img を携帯電話に焼き付けました。

今、私は別の問題に遭遇しました:私が実行すると - python systrace.py --time=10 -o mynewtrace.html sched gfx view wm, 次のエラー(19)がポップアップします: /sys/kernel/debug/tracing/set_ftrace_filter の切り捨てエラー: そのようなデバイスはありません (19)。systrace のカーネル サポートを構築する方法が間違っているのか、それとも何かが欠けているのかはわかりません。

誰かがこの問題を手伝ってくれませんか?