Trace

介绍Unreal Insights的Trace日志框架。

Choose your operating system:

Windows

macOS

Linux

Trace 是一种结构化的日志记录框架,用于追踪运行进程中的仪表测量事件。该框架能够生成自我描述、轻松使用、易于分享的高频率追踪事件流。模块 TracelogTraceAnalysis 是构成框架的重要模块。

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。

binaries文件夹中的unreal-insights可执行文件

2. Insights会话浏览器:

启动 Unreal Insights会话浏览器(Unreal Insights Session Browser) 时,你会注意到,目前没有实时会话可用。

![](Insights会话浏览器.png)(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开发者指南了解更多信息。