Quartz UI ↗
Browse docs
On this page
Private preview · 0.57.0-devView Markdown

QuartzUIDiagnostics: declaration reference

0.57.0-dev · beta source documentation. Native, Blueprint, Editor and rendering examples are source-reviewed, not executed in Unreal during this scan. See validation and limits.

Pinned source (source: Source/QuartzUIRuntime/Public/QuartzUIDiagnostics.h) · integration recipe · practical guide

FQuartzUIRuntimeStats

Public type. Process-wide counters for every QuartzUI view in the current Unreal process.

Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIDiagnostics recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: GetRuntimeStats; compare baseline/current with EvaluateRuntimeBudget. Snapshot values; caller owns baseline and thresholds.

Avoid: Calling estimates complete GPU memory or historical counters frame timing. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIDiagnostics.h#L9)

FQuartzUIRuntimeBudget

Public type. Caller-owned limits for one runtime interval. Negative values disable that gate.

Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIDiagnostics recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: GetRuntimeStats; compare baseline/current with EvaluateRuntimeBudget. Snapshot values; caller owns baseline and thresholds.

Avoid: Calling estimates complete GPU memory or historical counters frame timing. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIDiagnostics.h#L128)

FQuartzUIRuntimeBudgetResult

Public type. Stable, machine-readable result of evaluating an explicit project budget.

Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIDiagnostics recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: GetRuntimeStats; compare baseline/current with EvaluateRuntimeBudget. Snapshot values; caller owns baseline and thresholds.

Avoid: Calling estimates complete GPU memory or historical counters frame timing. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIDiagnostics.h#L156)

FQuartzUIViewStats

Public type. Counters and the current physical raster estimate for one QuartzUI widget.

Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIDiagnostics recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: GetRuntimeStats; compare baseline/current with EvaluateRuntimeBudget. Snapshot values; caller owns baseline and thresholds.

Avoid: Calling estimates complete GPU memory or historical counters frame timing. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIDiagnostics.h#L169)

UQuartzUIDiagnosticsLibrary

Public type. Blueprint and C++ entry points for lightweight QuartzUI runtime diagnostics.

Prerequisites / integration: Installed source plugin; Editor tools additionally require a compiled compatible host Editor target. Use the QuartzUIDiagnostics recipe in the host module QuartzUIRuntime.

Minimal example / lifecycle: GetRuntimeStats; compare baseline/current with EvaluateRuntimeBudget. Snapshot values; caller owns baseline and thresholds.

Avoid: Calling estimates complete GPU memory or historical counters frame timing. Match the exact declaration below; dependent DTOs/enums are values used by this owner, not independent systems.

Exact source line (source: Source/QuartzUIRuntime/Public/QuartzUIDiagnostics.h#L286)

Complete header

Source snapshot, not an additional example. Unreal annotations distinguish exposed Blueprint nodes from native-only/private methods.

#pragma once

#include "Kismet/BlueprintFunctionLibrary.h"

#include "QuartzUIDiagnostics.generated.h"

/** Process-wide counters for every QuartzUI view in the current Unreal process. */
USTRUCT(BlueprintType)
struct QUARTZUIRUNTIME_API FQuartzUIRuntimeStats
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 LiveViews = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 TotalViewsCreated = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 CompletedLoads = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 FailedLoads = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 CompletedHandshakes = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 FailedHandshakes = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 LoadRecoveryAttempts = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 SuccessfulLoadRecoveries = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ExhaustedLoadRecoveries = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 SuspendedViews = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ViewSuspensions = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ViewResumptions = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 JavaScriptExecutions = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ResourceRequests = 0;

	/** Response-body bytes served by the packaged QuartzUI origin. HEAD response lengths are not counted. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ResourceBytesServed = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ProtocolRequestsAccepted = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ProtocolRequestsRejected = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 ProtocolBytesReceived = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 BridgeRequestsSucceeded = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 BridgeRequestsFailed = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 PendingAsyncBridgeRequests = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 AsyncBridgeRequestsStarted = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 AsyncBridgeRequestsTimedOut = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 AsyncBridgeBackpressureRejections = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 OutboundStateSnapshotsPublished = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 OutboundStatePatchesDispatched = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 OutboundStateValuesDispatched = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 OutboundStateWritesCoalesced = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 OutboundEventsEmitted = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 OutboundStateBackpressureRejections = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 OutboundEventBackpressureRejections = 0;

	/** Number of validated scene-backdrop snapshots accepted in this process. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 SceneBackdropSnapshotUpdates = 0;

	/** Rounded-rectangle backdrop regions currently submitted to the scene compositor. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 ActiveSceneBackdropRegions = 0;

	/** Sum of live physical raster dimensions at four BGRA bytes per pixel; not total Chromium memory. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 EstimatedLiveSurfaceBytes = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	double TotalDocumentLoadMilliseconds = 0.0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	double TotalHandshakeMilliseconds = 0.0;
};

/** Caller-owned limits for one runtime interval. Negative values disable that gate. */
USTRUCT(BlueprintType)
struct QUARTZUIRUNTIME_API FQuartzUIRuntimeBudget
{
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Diagnostics|Budget")
	int32 MaxLiveViews = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Diagnostics|Budget")
	int64 MaxEstimatedLiveSurfaceBytes = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Diagnostics|Budget")
	int32 MaxPendingAsyncBridgeRequests = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Diagnostics|Budget")
	int32 MaxActiveSceneBackdropRegions = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Diagnostics|Budget")
	int64 MaxFailedLoadDelta = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Diagnostics|Budget")
	int64 MaxAsyncTimeoutDelta = -1;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "QuartzUI|Diagnostics|Budget")
	int64 MaxAsyncBackpressureDelta = -1;
};

/** Stable, machine-readable result of evaluating an explicit project budget. */
USTRUCT(BlueprintType)
struct QUARTZUIRUNTIME_API FQuartzUIRuntimeBudgetResult
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics|Budget")
	bool bWithinBudget = true;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics|Budget")
	TArray<FString> Violations;
};

/** Counters and the current physical raster estimate for one QuartzUI widget. */
USTRUCT(BlueprintType)
struct QUARTZUIRUNTIME_API FQuartzUIViewStats
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 PhysicalRasterWidth = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 PhysicalRasterHeight = 0;

	/** Width times height times four; this excludes Chromium process, compositor, and mip/driver memory. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int64 EstimatedSurfaceBytes = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 CompletedLoads = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 FailedLoads = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 CompletedHandshakes = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 FailedHandshakes = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 LoadRecoveryAttempts = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 SuccessfulLoadRecoveries = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 ExhaustedLoadRecoveries = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 JavaScriptExecutions = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 BridgeRequestsSucceeded = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 BridgeRequestsFailed = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 PendingAsyncBridgeRequests = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 AsyncBridgeRequestsStarted = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 AsyncBridgeRequestsTimedOut = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 AsyncBridgeBackpressureRejections = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 OutboundStateSnapshotsPublished = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 OutboundStatePatchesDispatched = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 OutboundStateValuesDispatched = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 OutboundStateWritesCoalesced = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 OutboundEventsEmitted = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 RetainedOutboundStates = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 PendingOutboundEvents = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 OutboundStateBackpressureRejections = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 OutboundEventBackpressureRejections = 0;

	/** Explicit capture-loss signals sent when native interactive ownership changes. */
	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 InputCaptureCancellationSignals = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 BlockedTopLevelNavigations = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 BlockedSubframeNavigations = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 BlockedPopupNavigations = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	double LastDocumentLoadMilliseconds = 0.0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	double LastHandshakeMilliseconds = 0.0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 BrowserFrameRate = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	bool bRuntimeSuspended = false;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 RuntimeSuspensions = 0;

	UPROPERTY(BlueprintReadOnly, Category = "QuartzUI|Diagnostics")
	int32 RuntimeResumptions = 0;
};

/** Blueprint and C++ entry points for lightweight QuartzUI runtime diagnostics. */
UCLASS()
class QUARTZUIRUNTIME_API UQuartzUIDiagnosticsLibrary final : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()

public:
	UFUNCTION(BlueprintPure, Category = "QuartzUI|Diagnostics")
	static FQuartzUIRuntimeStats GetRuntimeStats();

	/** Writes the same process-wide snapshot as QuartzUI.DumpStats to LogQuartzUI. */
	UFUNCTION(BlueprintCallable, Category = "QuartzUI|Diagnostics")
	static void DumpRuntimeStats();

	/** Returns the single uncompressed BGRA surface estimate, not total Chromium memory. */
	UFUNCTION(BlueprintPure, Category = "QuartzUI|Diagnostics")
	static int64 EstimateSurfaceBytes(int32 PhysicalWidth, int32 PhysicalHeight);

	/** Evaluates explicit instantaneous limits and failure deltas without hidden hardware assumptions. */
	UFUNCTION(BlueprintPure, Category = "QuartzUI|Diagnostics")
	static FQuartzUIRuntimeBudgetResult EvaluateRuntimeBudget(
		const FQuartzUIRuntimeStats& Baseline,
		const FQuartzUIRuntimeStats& Current,
		const FQuartzUIRuntimeBudget& Budget);
};