リソースプロファイリングリファレンス¶
ここでは、リソースプロファイリングデータのリファレンスを見つけることができます。
リソースプロファイリングを使用して、Kanzi アプリケーションでリソースとプレハブをロードおよびデプロイするのにかかる時間をランタイム中に測定します。
リソースプロファイリングについて詳しくは、リソースの読み込みとデプロイ時間の測定 を参照してください。
Kanzi リソースプロファイリングデータには以下が含まれます:
Kanzi リソースマネージャーのメインスレッド (
"Resource manager main thread") とロードスレッド ("Resource manager loader thread N") のリソースプロファイリングコンテキスト。リソースプロファイリングコンテキスト を参照してください。リソースプロファイリングデータサンプル (
"ResourceProfilingDataSamples")。リソースプロファイリングデータサンプル を参照してください。
リソースプロファイリングコンテキスト¶
リソースプロファイリングコンテキストは、リソースのロードまたはデプロイメントをトリガーするコードパスを実行するスコープを表します。リソースプロファイリングコンテキストサンプラーは、サンプラーが定義されているスコープの実行がリソースのロードまたはデプロイメントをトリガーしたときに、リソースプロファイリングコンテキストを作成します。リソースプロファイリングコンテキストの期間は、対応するスコープの実行によってトリガーされたリソースのロードまたはデプロイメントの期間と同じです。
リソースがロードおよびデプロイされるスコープでは、Kanzi はリソースのロードおよびデプロイのプロファイリングコンテキストのために ResourceProfilingLoadContext と ResourceProfilingDeployContext のサンプラーを作成します。
この表は、リソースプロファイリングコンテキストの共通属性を一覧にしています。すべてのコンテキストにはこれらの属性があります。
共通属性 |
ディスクリプション (Description) |
|---|---|
|
リソースプロファイリングコンテキストのユニーク識別子。 識別子を使用して、コンテキストが作成されたスレッド、親コンテキスト、およびコンテキストの実行をトリガーしたスレッドを確認します。 |
|
リソースプロファイリングコンテキストの名前。 |
|
リソースが依存するリソースをロードしてデプロイするのに Kanzi メインスレッドがかかった時間(ナノ秒)。 |
|
Kanzi メインスレッドがリソースと、このリソースが依存するリソースをロードおよびデプロイするのにかかった時間(ナノ秒単位)。 |
|
リソースプロファイリングコンテキストのスコープに入る時点。 タイムスタンプを使用して、異なるリソースプロファイリングコンテキストが互いに相対していつ作成されたかを確認します。 |
|
依存コンテキストのリスト。 |
この表は、プロファイリングコンテキストタイプと、共通属性に加えてそれらが持つ属性を一覧にしています。
リソースプロファイリングコンテキストとコンテキスト名 |
ディスクリプション (Description) |
追加属性 |
|---|---|---|
メインループ
|
プロファイラは、Kanzi メインループのイテレーション中にアプリケーションがリソースをロードまたはデプロイする際に、このコンテキストを作成します。 |
|
リソース取得 |
プロファイラーは、リソースの取得がリソースのロードまたはデプロイをトリガーしたときに、このコンテキストを作成します。 |
|
リソースローディング (Resource loading)
|
プロファイラは、アプリケーションがリソースをロードする際にこのコンテキストを作成します。 |
|
リソースのデプロイ
|
プロファイラは、アプリケーションがリソースをデプロイする際にこのコンテキストを作成します。 |
|
匿名リソースの取得
|
プロファイラーは、アプリケーションがリソースIDを持たないリソースを取得する際にこのコンテキストを作成します。これは通常、リソースディクショナリを取得する際に発生します。 |
該当なし |
リソースの非同期取得
|
プロファイラーは、アプリケーションが複数のリソースを非同期に取得する際に、このコンテキストを作成します。 ノードプレハブリソースを非同期でロードする を参照してください。 |
該当なし |
FinishingQueue: タスクを処理する
|
プロファイラは、Kanzi がリソースをロードまたはデプロイするタスクを処理する際にこのコンテキストを作成します。このコンテキストは通常、1つ以上のリソースロードまたはリソースデプロイメントコンテキストの親です。 |
例えば、 |
プレハブテンプレートインスタンス化
|
プロファイラは、プレハブテンプレートのインスタンス化がリソースのロードまたはデプロイメントをトリガーしたときに、このコンテキストを作成します。 |
例えば、 |
プレハブテンプレートノードインスタンシエーション
|
プロファイラは、プレハブテンプレート内のノードのインスタンス化がリソースのロードまたはデプロイメントをトリガーしたときに、このコンテキストを作成します。 |
例えば、 |
ノード添付
|
プロファイラは、ノードをノードツリーにアタッチする際にリソースのロードまたはデプロイメントがトリガーされると、このコンテキストを作成します。 |
例えば、 |
メッセージトリガー
|
プロファイリングシステムは、メッセージトリガーの処理がリソースのロードまたはデプロイメントを引き起こす場合に、このコンテキストを作成します。 |
例えば、 |
アプリケーションプロセスデプロイメントキュー Application::progressDeploymentQueue |
プロファイラーは、 |
該当なし |
アプリケーションプロセスデプロイメントキューオーバーライド (デフォルト) Application::progressDeploymentQueueOverride(default) |
プロファイラーは、 |
該当なし |
ロードキュータスクの完了を待機中 WaitingLoadingQueueTaskCompletion |
プロファイラーは、アプリケーションが取得しているリソースがロードスレッドの1つによってロードされており、メインスレッドがそのロードスレッドのロード完了を待たなければならない場合に、このコンテキストを作成します。 |
該当なし |
リソースプロファイリングデータサンプル¶
リソースプロファイリングデータサンプルには、プロファイルされたリソースに関連するプロファイリング情報の概要が含まれており、リソースが取得、ロード、およびデプロイされるリソースプロファイリングコンテキストへの参照が含まれています。
リソースプロファイリングデータファイルの "ResourceProfilingDataSamples" セクションで、すべてのリソースプロファイリングデータサンプルのリストを見つけることができます。リソースプロファイリングデータのログ記録 を参照してください。
リソースプロファイリングコンテキストの ContextID 属性を使用して、リソースプロファイラがリソースプロファイリングコンテキストを作成するスレッド、親コンテキスト、およびコンテキストの実行をトリガーしたスレッドを確認します。リソースプロファイリングコンテキスト を参照してください。
この表は、リソースプロファイリングデータサンプルの属性を一覧にしています。
アトリビュート (Attribute) |
ディスクリプション (Description) |
|---|---|
|
リソースをデプロイするのにかかった時間(ナノ秒) |
|
リソースの読み込みにかかった時間(ナノ秒) |
|
リソースプロファイリングデータサンプルのユニーク識別子 |
|
プロファイルされたリソースのタイプ |
|
プロファイルされたリソースのURL |
|
Kanzi がリソースの読み込みに成功したかどうか |
|
アプリケーションまたは Kanzi がリソースを取得したリソースプロファイリングコンテキスト |
|
Kanzi がリソースをロードしたリソースプロファイリングコンテキスト |
|
Kanzi がリソースをデプロイしたリソースプロファイリングコンテキスト |
これは、スクロールビューの例 の City メッシュのリソースプロファイリングデータのサンプルです。
"DeploymentDuration": "43838400",
"LoadingDuration": "1473400",
"ResourceID": "217505936",
"ResourceType": "Kanzi.Mesh",
"ResourceUrl": "kzb://scroll_view/Mesh Data/City",
"Success": "true",
"AcquireContext": {
"AcquireAsynchronously": "true",
"ContextID": "216087856",
"ContextName": "ResourceAcquire",
"DependenciesDuration": "0",
"Duration": "9000",
"ResourceUrl": "kzb://scroll_view/Mesh Data/City",
"TimeStamp": "3750800"
},
"LoadingContext": {
"ContextID": "241268536",
"ContextName": "ResourceLoading",
"DependenciesDuration": "0",
"Duration": "1475600",
"LoadedResourceID": "217505936",
"LoadedResourceType": "Kanzi.Mesh",
"LoadedResourceUrl": "kzb://scroll_view/Mesh Data/City",
"ResourceLoadingDuration": "1473400",
"TimeStamp": "3764700"
},
"DeploymentContext": {
"ContextID": "241265456",
"ContextName": "ResourceDeployment",
"DependenciesDuration": "43118600",
"DeployedResourceID": "217505936",
"DeployedResourceType": "Kanzi.Mesh",
"DeployedResourceUrl": "kzb://scroll_view/Mesh Data/City",
"DeploymentDuration": "719800",
"Duration": "43839600",
"TimeStamp": "59705500",
"DependencyContexts": [
{ ... }
}