UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AssetMetadataTrace.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "MetadataTrace.h"
7#include "Trace/Trace.h"
8
9namespace UE { namespace Trace { class FChannel; } }
10
11#if !defined(UE_TRACE_ASSET_METADATA_ENABLED)
12 #define UE_TRACE_ASSET_METADATA_ENABLED UE_TRACE_METADATA_ENABLED
13#endif
14
15#if UE_TRACE_ASSET_METADATA_ENABLED
16
21
30
31
37
45
50#define UE_TRACE_METADATA_SCOPE_ASSET(Object, ObjClass) \
51 UE_TRACE_METADATA_SCOPE_ASSET_FNAME(Object->GetFName(), ObjClass->GetFName(), Object->GetPackage()->GetFName())
52
56#define UE_TRACE_METADATA_SCOPE_ASSET_FNAME(ObjectName, ObjClassName, PackageName) \
57 auto MetaNameRef = bool(MetadataChannel) && bool(AssetMetadataChannel) ? FStringTrace::GetNameRef(ObjectName) : UE::Trace::FEventRef32(0,0); \
58 auto ClassNameRef = bool(MetadataChannel) && bool(AssetMetadataChannel) ? FStringTrace::GetNameRef(ObjClassName) : UE::Trace::FEventRef32(0,0); \
59 auto PackageNameRef = bool(MetadataChannel) && bool(AssetMetadataChannel) ? FStringTrace::GetNameRef(PackageName) : UE::Trace::FEventRef32(0,0); \
60 UE_TRACE_METADATA_SCOPE(Asset, AssetMetadataChannel) \
61 << Asset.Name(MetaNameRef) \
62 << Asset.Class(ClassNameRef) \
63 << Asset.Package(PackageNameRef);
64
65/*
66 * Utility macro to create a package scope by specifying package id explicitly
67 */
68#define UE_TRACE_METADATA_SCOPE_PACKAGE_ID(UPackageId) \
69 UE_TRACE_METADATA_SCOPE(PackageId, AssetMetadataChannel) \
70 << PackageId.Id(UPackageId.Value());
71
75#define UE_TRACE_PACKAGE_NAME(UPackageId, PackageName) \
76 if (!PackageName.IsNone()) \
77 { \
78 auto PackageNameRef = bool(MetadataChannel) && bool(AssetMetadataChannel) ? FStringTrace::GetNameRef(PackageName) : UE::Trace::FEventRef32(0,0); \
79 UE_TRACE_LOG(Package, PackageMapping, MetadataChannel | AssetMetadataChannel) \
80 << PackageMapping.Id(UPackageId.Value()) \
81 << PackageMapping.Package(PackageNameRef); \
82 }
83
84
85#else // UE_TRACE_ASSET_METADATA_ENABLED
86
87#define UE_TRACE_METADATA_SCOPE_ASSET(...)
88#define UE_TRACE_METADATA_SCOPE_ASSET_FNAME(...)
89
90#define UE_TRACE_PACKAGE_NAME(...)
91#define UE_TRACE_METADATA_SCOPE_PACKAGE_ID(...)
92
93#endif // UE_TRACE_ASSET_METADATA_ENABLED
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_TRACE_METADATA_EVENT_END()
Definition MetadataTrace.h:100
#define UE_TRACE_METADATA_EVENT_BEGIN_EXTERN(ScopeName,...)
Definition MetadataTrace.h:96
#define UE_TRACE_METADATA_EVENT_FIELD(Type, Name)
Definition MetadataTrace.h:99
#define UE_TRACE_CHANNEL_EXTERN(ChannelName,...)
Definition Trace.h:448
#define UE_TRACE_EVENT_BEGIN_EXTERN(LoggerName, EventName,...)
Definition Trace.h:435
#define UE_TRACE_EVENT_END()
Definition Trace.h:438
#define UE_TRACE_EVENT_FIELD(FieldType, FieldName)
Definition Trace.h:436
#define UE_TRACE_EVENT_REFERENCE_FIELD(RefLogger, RefEvent, FieldName)
Definition Trace.h:437
Definition NameTypes.h:617
@ Trace
Definition NetTraceConfig.h:23
Definition AdvancedWidgetsModule.cpp:13