Canonicalはetraceを導入しました、ユーティリティ アプリケーション実行中のアクティビティを追跡するように設計されています。 このプログラムは、straceおよびltraceユーティリティに似ており、実行時にptraceも使用します。
目的 etraceプリンシパル 起動したアプリケーションのデバッグと分析を行っています from snapこのユーティリティを使用すると、スナップパッケージの実行時に使用されるプログラムとファイルをすばやく評価できます。
「exec」と「file」のXNUMXつのコマンドが用意されています。 ファイルにアクセスして他のプロセスを実行する方法については、こちらをご覧ください。 前者の場合、ファイル関連のシステムコールの作業が監視され、後者の場合、エグゼクティブシステムコールファミリが傍受されます。
Etraceは一般的な追跡アプリケーションであり、次のXNUMXつの広範な測定およびデバッグの目的に役立ちます。
- アプリケーションが画面にウィンドウ(グラフィカル/ UI)を表示するのにかかる時間。
- 実行時にメインプログラムによって作成および実行される一連のタスク。 プログラムの実行中にアクセスされるファイルのリスト。
これらのメトリックは、潜在的な問題をデバッグするために使用できます スナップで、パッケージがスナップしようとしているものを理解したり、パフォーマンスのボトルネックを瞬時に見つけたりします。
もちろん ネイティブLinuxパッケージまたは任意の実行可能プログラムでも動作します、すぐに使用できる機能がわずかに削減されていますが(たとえば、ネイティブパッケージは再インストールされません)、アプリをクロールして、ウィンドウの表示にかかる時間を測定できます。
このユーティリティを使用して、ボトルネックを特定することもできます X11ベースのグラフィックアプリケーションでのパフォーマンスと、ウィンドウのレンダリングを開始する前にアプリケーションが初期化するのにかかる時間を示します。
さらに、スナップ固有のオプション「–reinstall-snap」および「–clean-snap-user-data」を使用できるため、スナップパッケージを再インストールして、キャッシュフリーの測定を実行したり、パッケージに関連付けられたユーザーデータを削除したりできます。実行する前に。
基本的な使い方
Etraceはスナップパッケージとして入手できるため、最初にインストールする必要があります。 etraceは、他のスナップパッケージや従来のLinuxパッケージを含む任意のプログラムを実行するために使用されるため、クラシックロックダウンによるシステム全体のアクセス許可が必要です。これは、次のコマンドの実行時に–classicフラグを使用して受け入れることができます。
etraceをインストールするには:
snap install etrace --candidate --classic
最初のetraceユースケース グラフィックアプリケーションが画面にウィンドウを表示するのにかかる時間を測定することです。
単純なプラグインであるgnome-calculatorから始めて、それを10回循環させて、この実行にかかる時間を確認しましょう。 gnome-calculatorをインストールする必要があることに注意してください-gnome-calculatorをインストールします。 ここでは、完全なトレーススタックが必要ないため、–no-traceオプションを使用します。etraceで起動にかかる時間を測定するだけです。 後で完全な追跡機能について説明します。
etrace --repeat = 10 exec --use-snap-run --no-trace gnome-calculator --cmd-stderr = /dev/null Total startup time: 1.531152957s Total startup time: 513.948576ms Total startup time: 512.980061ms Total startup time: 515.576753ms Total startup time: 508.354472ms Total startup time: 515.734329ms Total startup time: 508.414271ms Total startup time: 514.258788ms Total startup time: 508.407346ms Total startup time: 511.950964ms
さらに、 Canonicalは、のスナップサポートの実装を発表しました 圧縮アルゴリズム LZO。 LZOアルゴリズムは、結果のファイルのサイズを大きくするという犠牲を払って、最大の解凍速度を達成することに焦点を合わせています。 Chromiumでパッケージをテストする場合、デフォルトのXZアルゴリズムの代わりにLZOを使用すると、SquashFSイメージの解凍に必要な時間を短縮することで、スナップパッケージのリリースを2〜3倍高速化できます。
特に、通常のdebパッケージからインストールされた最初のChromiumの起動には、約1,7秒かかります。
XZを使用する場合のスナップからの最初のリリースには8.1秒かかり、LZOを使用する場合は3.1秒かかります。 再起動時に、データがキャッシュされている場合、起動時間は0,6、0,7、および0,6秒です。 それぞれ。
スナップパッケージのサイズは、LZOで150MBから250MBに増加しました。