Trace es un marco de registro estructurado para monitorizar eventos de instrumentación de un proceso en ejecución. Los módulos TraceLog y TraceAnalysis son los principales módulos que constituyen el marco. El servidor de monitorizaciones de Unreal Engine se ejecuta en segundo plano como una única instancia de servidor y se puede compartir entre varios proyectos o ramas. Se trata de un programa optimizado que tiene un impacto mínimo en el rendimiento y no incluye una interfaz de usuario.
El servidor de monitorizaciones de Unreal Engine se inicia automáticamente mediante un proceso de servidor independiente, UnrealTraceServer.exe, que se encuentra en la carpeta del directorio Engine/Binaries/Win64.
El servidor de monitorizaciones de Unreal Engine posee dos componentes:
La grabadora de monitorizaciones busca en el puerto 1981 las conexiones de monitorización entrantes y registra el flujo de monitorización en tiempo real.
El almacén de monitorizaciones guarda las monitorizaciones registradas como archivos en una carpeta. Supervisa los cambios en esta carpeta y muestra la lista de monitorizaciones disponibles en la IU de Unreal Insights.
Este es un ejemplo de ruta a la carpeta de monitorización:
C:/Users/<user>/AppData/Local/UnrealEngine/Common/UnrealTrace/Store/001/Servidor de monitorizaciones de Unreal Engine
Las compilaciones de Unreal Editor inician automáticamente el archivo UnrealTraceServer.exe cuando se establece una conexión desde el explorador de sesiones del servidor de monitorizaciones de Unreal Engine. El servidor de monitorizaciones de Unreal Engine se ejecuta en segundo plano como una única instancia de servidor y se puede compartir entre varios proyectos y ramas.
Para cerrar el servidor de monitorizaciones de Unreal Engine, accede al administrador de tareas de tu sistema y dirígete a la pestaña Procesos.
El servidor de monitorizaciones de Unreal Engine se ejecuta en segundo plano como una instancia única que no es necesario cerrar para abrir una nueva versión. Puede recibir y registrar datos de varias fuentes simultáneamente.
Actualmente, solo admitimos el servidor de monitorizaciones de Unreal Engine para un usuario por equipo. Si hay varios usuarios conectados al mismo tiempo, los registros se guardarán en el directorio de registros del primer usuario, por lo que los demás usuarios no podrán acceder a ellos.
Módulo Información en Monitorización
El módulo Información en Monitorización permite controlar y gestionar tus datos de seguimiento mediante una interfaz del editor. Puedes acceder al módulo Información en Monitorización desde el editor dirigiéndote a la barra de herramientas inferior y haciendo clic en el botón Monitorización.
Las siguientes secciones describen los ajustes de cada categoría del menú Monitorización.
Seguimiento Datos
La categoría Datos de seguimiento contiene ajustes sobre canales de datos, marcadores de monitorización, capturas de pantalla de monitorización y mucho más.
Canales
La monitorización es capaz de registrar grandes cantidades de datos. Puedes elegir qué tipo de datos registrar mediante los canales de monitorización.
Los canales controlan la velocidad de los datos durante la monitorización. Cada tipo de evento está vinculado a uno o más canales. Si los canales necesarios no están habilitados, el evento no se emitirá al flujo de monitorización.
Los preajustes de canal agrupan los canales para proporcionar puntos de entrada basados en escenarios.
| Channel | Description |
|---|---|
Animation | Animation Insights Plugin. |
AssetLoadTime | Contains named CPU timers for |
AssetMetadata | Asset Names and Class Names as metadata for memory allocations. Requires Metadata channel. Used by Memalloc channel. |
Audio | Audio Insights Plugin. |
AudioMixer | AudioMixer Insights Plugin. |
Bookmark | Low-frequency markers to signify important transitions. Bookmarks provide a quick overview of features such as level loading or engine boot phases. |
Callstack | Callstack descriptions. Allows allocations to be associated with callstacks. |
ContextSwitch | Trace context switch events. On Windows, game or editor runtime should be run as administrator. |
Cook | Displays named CPU timers specific to cooking. This requires the CPU channel to be enabled. Cook will add the both the |
Counters | Generic counters. Traces float and integer values over time. Counters Trace API. It enables the CSV Profiler Trace. |
Cpu | Named CPU timers. Additional timers can be added by enabling the Stat Named Events channel from the Insights Widget or using the |
File | File I/O trace channel that contains Open, ReOpen, Read, Write, Close events. |
Frame | Game and Rendering frames. |
Gpu | Named GPU timers. Based on GpuProfiler data. |
LoadTime | Asset Loading Insights trace channel. Only works for runtime loading from the pak/iostore. |
Log | Logs Messages. |
MemAlloc | Memory allocations. Uses Module and Callstack. |
MemTag | Memory tag statistics. Traces snapshots of memory usage per tag at regular rate. Relies on LLM subsystem for tracing. Implies "-llm". Available after |
Messaging | UDP Messaging plugin. |
Metadata | Support for generic metadata scopes. |
Module | Module loading information. |
Net | Networking trace channel. |
Niagara | Niagara Plugin. |
Object | GameplayInsights/RewindDebugger plugin. |
Physics | |
RDG | RDG Insights Plugin. |
RHICommands | CPU or GPU named timers for RHI commands. |
RenderCommands | CPU or GPU named timers for commands executed on the rendering thread. |
SaveTime | Named CPU timers specific to package saving. |
Screenshot | Captures screenshots triggered with |
Slate | Slate Insights Plugin. |
StackSampling | Trace stack sampling events based on Event Tracing for Windows (ETW). |
Stats | Stats counters. Based on the Stats system. |
Task | Task Graph trace channel. |
VisualLogger | Visual Logger starts recording to file. |
Los siguientes canales están habilitados de forma predeterminada:
Bookmark
Cpu
Fotograma
Gpu
Registro
Región
Captura de pantalla
Los canales MemAlloc, MemTag y Module aparecen bloqueados porque deben ejecutarse desde el símbolo del sistema. Consulta Desde el símbolo del sistema
Puedes definir tus propios preajustes usando los archivos de configuración añadidos a la categoría [Trace.ChannelPresets]. Consulta la sección Guía para desarrolladores de Trace para obtener documentación.
Captura de pantalla de trazado
Captura de pantalla de monitorización hace una captura de pantalla del visor de tu proyecto durante ese fotograma y la envía a la monitorización. Por defecto, la captura de pantalla de monitorización está activada en el panel de canales.
Puedes utilizar la opción Captura de pantalla de monitorización de dos maneras:
En la barra de herramientas inferior, haz clic en Monitorización > Captura de pantalla de monitorización.
En la consola, introduce el comando
trace.screenshot.
Al usar Captura de pantalla de monitorización, el cronograma de Información de sincronización muestra una línea vertical que contiene un nombre generado a partir de la marca de tiempo actual, con la fecha y la hora de la captura de pantalla.
Marcador de trazado
Marcador de monitorización emite un evento TRACE_BOOKMARK() con el nombre de cadena indicado. Cuando se utilizan desde el editor, tanto los eventos de captura de pantalla como los de marcador generarán un nombre basado en la marca de tiempo actual usando el formato de fecha y hora.
Hay dos formas de configurar un marcador de monitorización:
En la barra de herramientas inferior, haz clic en Monitorización > Marcador de monitorización.
En la consola, introduce el comando
trace.bookmark.
Los marcadores y las capturas de pantalla se pueden ver en la pestaña Información de sincronización. Puedes encontrarlas en la pista de marcadores anclada en la barra de herramientas superior, debajo de la pista de la regla. Los marcadores están disponibles en la vista Registro.
Eventos de estadísticas con nombre
Los eventos de estadísticas con nombre proporcionan métricas de perfilado adicionales. Puedes activarlos o desactivarlos marcando la casilla de verificación Eventos de estadísticas con nombre.
Trazar destino
En la categoría Destino de monitorización , puedes elegir dónde quieres almacenar tus datos de seguimiento.
| Opción | Descripción |
|---|---|
Almacén de monitorizaciones | Escribe los datos de seguimiento en un archivo en su directorio de almacenamiento de monitorización gestionado. |
Archivo | Escribe los datos de seguimiento directamente en el archivo especificado. |
Trazado
La categoría Monitorización contiene ajustes para iniciar y detener una grabación, y para guardar instantáneas de monitorización.
Iniciar y detener la grabación
| Opción | Descripción |
|---|---|
Iniciar monitorización | Inicia un monitorización en el destino de monitorización seleccionado. Puedes iniciar una monitorización desde el módulo Información en Monitorización haciendo clic en el botón Iniciar monitorización. |
Detener monitorización | Cuando se inicia una monitorización, el icono de la IU de Iniciar monitorización se muestra en rojo. Puedes detener la grabación de la monitorización haciendo clic en el botón Detener monitorización. |
Guardar instantánea de trazado
Hay dos formas de guardar una instantánea de monitorización:
En la barra de herramientas inferior, haz clic en el botón Guardar instantánea de monitorización.
En la barra de herramientas inferior, haz clic en Monitorización > Guardar instantánea de monitorización.
Opciones
La categoría Opciones controla la automatización, como la apertura automática de Unreal Insights o las carpetas de destino.
| Opción | Descripción |
|---|---|
Abrir sesión en tiempo real al iniciar una monitorización | Cuando se inicia la monitorización, la sesión en tiempo real se abre automáticamente en Unreal Insights. Esta opción solo se aplica cuando se realiza una monitorización en el almacén de monitorizaciones. |
Abrir Unreal Insights después de la monitorización | Cuando se detiene la monitorización o se guarda una instantánea, la sesión grabada se abre automáticamente en Unreal Insights. |
Mostrar en el explorador después de la monitorización | Cuando se detiene la monitorización o se guarda una instantánea, se abre automáticamente la carpeta que contiene la sesión grabada. |
Ubicaciones
La categoría Ubicaciones controla dónde se almacenan las monitorizaciones (guardados en Archivo y el servidor de monitorizaciones de Unreal Engine).
| Opción | Descripción |
|---|---|
Abrir directorio del almacén de monitorizaciones | La ubicación donde se almacenan las monitorizaciones guardadas en el servidor de monitorizaciones de Unreal Engine. |
Abrir directorio de perfilados | Abre el directorio de perfilados del proyecto actual. Esta es la ubicación donde se almacenan las monitorizaciones del archivo. |
Insights
La categoría Información contiene ajustes para abrir Unreal Insights, sesiones en tiempo real y archivos grabados.
| Opción | Descripción |
|---|---|
Unreal Insights(explorador de sesiones) | Inicia el explorador de sesiones de Unreal Insights. |
Abrir sesión en tiempo real | Abre la sesión en tiempo real actual. Esto solo es posible cuando se realiza una monitorización en el almacén. |
Monitorizaciones recientes | Abre las últimas monitorizaciones grabadas en el almacén de monitorizaciones o como un archivo. |
Estado de la monitorización
Puedes consultar información sobre tu conexión, memoria utilizada, caché de eventos importantes, datos enviados, canales de monitorización habilitados y canales de monitorización disponibles con el comando de consola Trace.Status.
Cómo ejecutar Unreal Insights desde el símbolo del sistema
Para ejecutar Unreal Insights desde el símbolo del sistema, sigue estos pasos:
Ve a la carpeta
Engine\Binaries\Win64y haz doble clic enUnrealInsights.exe.Abre el símbolo del sistema en tu sistema operativo y ejecuta tu proyecto. En el siguiente ejemplo, sustituye la ruta de instalación y el nombre del proyecto por los tuyos propios:
C++cd C:\[MyEngineInstallLocation]\ Samples\Games\Binaries\Win64\[YourProject].exe
Monitorización de la cola
La monitorización de la cola rastrea los eventos de los últimos segundos (en función del tamaño del búfer); es decir, cualquier equipo que pueda mostrar un avance.
El tamaño predeterminado del búfer es de 4 MB, pero si quieres modificarlo o desactivarlo, puedes hacerlo con el comando de consola -tracetailmb=X.
Si se fija X en 0 MB, se desactivará, y otros valores cambiarán el tamaño del búfer en consecuencia.
Conexión tardía
Los eventos importantes se almacenan en la caché del cliente de Unreal Engine y, a continuación, se envían a los dispositivos que se conectan más tarde durante la conexión. Por lo tanto, los eventos únicos (eventos importantes) no se perderán antes de que puedas establecer una conexión.
Unreal Insights puede indicar a instancias remotas de Unreal Engine que se conecten a los servidores de monitorización remotos desde su instancia de IU local sin necesidad de que intervenga el equipo local.
La conexión tardía se puede iniciar en Unreal Insights > Conectar, o desde la consola del editor introduciendo cualquiera de los siguientes comandos o argumentos:
"trace.send [ip]" / "trace.start [filename]"-trace.start [file] [channelSet] -tracehost=[ip]-tracefile = [filepath]
Unreal Insights cuenta con un sistema de almacenamiento en caché basado en archivos que permite a la aplicación adjuntar información adicional a una monitorización. Esto se puede utilizar para recuperar más rápidamente resultados calculados previamente o para almacenar datos que, de otro modo, se perderían, como los símbolos. La caché se almacena en un archivo .ucache junto al archivo de monitorización.
Guía sobre Trace
Puedes usar diferentes procesos de trabajo para ejecutar monitorizaciones en Unreal Insights. Consulta la sección Guía sobre Trace para obtener documentación.
Guía para desarrolladores de Trace
Puedes desarrollar tus propias monitorizaciones en Unreal Insights. Consulta la sección Guía para desarrolladores de Trace para obtener documentación.