资源剖析参考¶
您可以在此找到资源剖析数据参考。
使用资源剖析测量运行期间花费了多长时间在您的 Kanzi 应用程序中加载和部署资源和预设。
要了解有关资源分析的更多信息,请参阅 测量资源的加载和部署时间。
Kanzi 资源分析数据包含:
Resource profiling contexts for the Kanzi Resource Manager 主线程 (
"Resource manager main thread") 和加载线程 ("Resource manager loader thread N")。请参阅 资源剖析上下文。资源分析数据样本 (
"ResourceProfilingDataSamples")。请参阅 资源剖析数据样本。
资源剖析上下文¶
资源分析上下文表示执行代码路径的范围,该路径触发资源加载或部署。当定义采样器的范围的执行触发资源加载或部署时,资源分析上下文采样器会创建一个资源分析上下文。资源分析上下文的持续时间与由相应范围的执行触发的资源加载或部署的持续时间相同。
在加载和部署资源的范围内,Kanzi 为资源加载和部署的分析上下文创建采样器 ResourceProfilingLoadContext 和 ResourceProfilingDeployContext。
此表列出了资源剖析上下文的共同特性。所有上下文都有这些特性。
共同特性 |
描述 (Description) |
|---|---|
|
资源剖析上下文的唯一标识符。 使用标识符找到上下文创建的线程、父上下文和触发执行该上下文的线程。 |
|
资源剖析上下文的名称。 |
|
Kanzi 主线程加载和部署资源所依赖的资源所花的时间(以纳秒为单位)。 |
|
Kanzi 主线程加载和部署资源以及此资源所依赖的资源所花费的时间(以纳秒为单位)。 |
|
进入资源剖析上下文范围的时间点。 使用时间戳找出不同的资源剖析上下文相对于其他资源剖析上下文创建的时间。 |
|
依赖上下文列表。 |
此表列出了剖析上下文类型及其具备的特性和共同特性。
资源剖析上下文和上下文名称 |
描述 (Description) |
其他特性 |
|---|---|---|
主循环
|
当应用程序在 Kanzi 主循环迭代期间加载或部署资源时,剖析程序创建此上下文。 |
|
资源获取 |
当资源采集触发资源的加载和部署时,剖析程序创建此上下文。 |
|
资源加载 (Resource loading)
|
当应用程序加载资源时,剖析程序创建此上下文。 |
|
资源部署
|
当应用程序部署资源时,剖析程序创建此上下文。 |
|
获取匿名资源
|
当应用程序获取没有资源 ID 的资源时,剖析程序创建此上下文。这通常发生在获取资源字典时。 |
不适用 |
异步获取资源
|
当应用程序异步获取多个资源时,剖析程序创建此上下文。 请参阅 异步加载节点预设资源。 |
不适用 |
FinishingQueue: 处理任务
|
当 Kanzi 处理加载或部署资源的任务时,剖析程序创建此上下文。此上下文通常是一个或多个资源加载或资源部署上下文的父级。 |
例如, |
预设件模板实例化
|
当预设件模板的实例化触发资源加载或部署时,剖析程序创建此上下文。 |
例如, |
预设件模板节点实例化
|
当预设件模板中的节点实例化触发资源加载或部署时,剖析程序创建此上下文。 |
例如, |
节点附着
|
当节点附着到节点树触发资源加载或部署时,剖析程序创建此上下文。 |
例如, |
消息触发器
|
当处理消息触发器导致资源加载或部署时,剖析系统创建此上下文。 |
例如, |
应用程序处理部署队列 Application::progressDeploymentQueue |
当执行 |
不适用 |
应用程序处理部署队列重写(默认) Application::progressDeploymentQueueOverride(default) |
当执行 Kanzi 的 |
不适用 |
等待加载队列任务完成 WaitingLoadingQueueTaskCompletion |
当应用程序正在获取的资源正由其中一个加载线程加载,并且主线程需等待加载线程完成加载任务时,剖析程序创建此上下文。 |
不适用 |
资源剖析数据样本¶
资源剖析数据样本包括与被剖析资源有关的剖析信息摘要,包括对资源被获取、加载和部署的资源剖析上下文的引用。
您可以在资源分析数据文件的 "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": [
{ ... }
}