Trace 是一种结构化的日志记录框架,用于追踪运行进程中的仪表测量事件。该框架能够生成自我描述、轻松使用、易于分享的高频率追踪事件流。模块 Tracelog 和 TraceAnalysis 是构成框架的重要模块。
Unreal Insights的主要组件包括 Trace事件 、 Unreal Trace服务器 (记录和保存来自应用程序的跟踪数据,以及分析和显示数据的Unreal Insights。
系统保存的跟踪会话十分明晰,并且向后兼容。它们被保存在 .utrace
文件中。伴生数据存储在跟踪文件旁的 .ucache
文件中。
Trace简介
在虚幻引擎中,Trace可以通过"Engine/Binaries/Win64"目录下独立的服务器处理可执行文件 UnrealTraceServer.exe 启动。
当你从虚幻Trace会话浏览器中进行连接时,虚幻编辑器会自动启动该可执行文件。 虚幻Trace服务器作为单一服务器实例会在后台运行,可以由项目的多个实例共享。
这个轻量级程序对性能产生的影响微乎其微,并且不包含用户界面。如果你想手动结束进程,可以在系统的任务管理器中找到它。
系统任务管理器会在"进程"标签页下显示运行中的Server Trace。
它可以同时从多个来源接收与记录数据,并在后台作为单独实例运行,无须终止便可启动新版本。
目前,我们针对运行虚幻追踪服务器的每台机器仅支持一个用户。如果多个用户同时登录,则追踪将存储在第一个用户的追踪目录中,因此无法供其他用户访问。
追踪运行事件
1. 运行Unreal Insights:
找到 Engine\Binaries\Win64
文件夹并双击 UnrealInsights.exe。

2. Insights会话浏览器:
启动 Unreal Insights会话浏览器(Unreal Insights Session Browser) 时,你会注意到,目前没有实时会话可用。
(w:600)
3. 运行你的游戏项目:
从你的操作系统启动 命令提示符 并运行你的项目。
cd C:\MyEngineInstallLocation\
Samples\Games\Binaries\Win64\YourProject.exe
尾部追踪
尾部追踪(Tail Tracing) 会追踪最近几秒内的事件(取决于缓冲区大小),因此所有设备都可以显示出一定的提前量。
缓冲区的默认大小为4MB,如果你希望改动或关闭它,则可以在命令行中输入以下命令:
`-tracetailmb=x`
将 X 设置为 0MB 可以将其关闭,其他数字则会相应地更改缓冲区大小。
改进延迟连接
在旧版的Unreal Insights中,如果你的Insights程序连接存在延迟,则在你完成连接前发生的一次性事件(重要事件)都会被忽略。
重要事件 现在可以缓存在虚幻引擎的客户端侧,能够在连接期间发送至延迟连接的设备。
Insights可以指示运行中的远程虚幻引擎实例与本地Unreal Insights实例的远程追踪服务器连接,而无需涉及本地设备。
延迟连接可以通过 Unreal Insights -> Connect ,或在 编辑器命令控制台 中输入以下任意命令启动:
`"trace.send [ip]" / "trace.start [filename]"
-trace.start[file][channelSet] -tracehost=[ip]
-tracefile = [filepath]
Unreal Insights拥有基于文件的缓存系统,使应用能够在追踪中附加额外信息。该功能可更快地检索此前的计算结果,或者存储符号等原本会丢失的数据。该缓存会存储在追踪文件旁的".ucache"文件中。
Trace开发者指南
你可以在Unreal Insights中开发你自己的跟踪器。请参考Trace开发者指南了解更多信息。