Skip to content

ludus::foundation::profiling::GpuTraceSample

Ludus Wiki · API overview · Browse API

Struct

One completed device-clock duration, attributed to its CPU submission marker. No CPU/GPU execution-clock alignment is implied. All times/durations are nanoseconds.

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

#include <ludus/foundation/profiling/perfetto_export.hpp>
struct ludus::foundation::profiling::GpuTraceSample final

Fields

SubmissionTicks

uint64 ludus::foundation::profiling::GpuTraceSample::SubmissionTicks = 0
Monotonic CPU timestamp recorded immediately before the originating submission.

Related types: uint64

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

CollectionTicks

uint64 ludus::foundation::profiling::GpuTraceSample::CollectionTicks = 0
CPU timestamp when the nonblocking poll observed this result.

Related types: uint64

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

DurationNanoseconds

uint64 ludus::foundation::profiling::GpuTraceSample::DurationNanoseconds = 0
Nonnegative measured device interval; a quantized zero is valid.

Related types: uint64

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

FrameId

uint64 ludus::foundation::profiling::GpuTraceSample::FrameId = 0
Nonzero producer submission sequence, independent of presentation.

Related types: uint64

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

DeviceSession

uint64 ludus::foundation::profiling::GpuTraceSample::DeviceSession = 0
Nonzero device lifetime generation; distinguishes restarted devices.

Related types: uint64

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

PassName

BorrowedView<const char> ludus::foundation::profiling::GpuTraceSample::PassName
Empty for the frame probe; otherwise a nonempty UTF-8 pass name borrowed until serialization returns.

Related types: BorrowedView

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

ScopeIdentity

uint64 ludus::foundation::profiling::GpuTraceSample::ScopeIdentity = 0
Nonzero producer-local identity for a named pass; zero for a frame probe.

Related types: uint64

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

ScopePassIndex

uint32 ludus::foundation::profiling::GpuTraceSample::ScopePassIndex = 0
Physical operation ordinal within the named scope; distinguishes multi-encoder scopes.

Related types: uint32

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

LogicalPassCount

uint32 ludus::foundation::profiling::GpuTraceSample::LogicalPassCount = 1
Number of logical operations covered by this physical scope; at least one.

Related types: uint32

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

IsCompute

bool ludus::foundation::profiling::GpuTraceSample::IsCompute = false
True for a compute encoder/dispatch, false for a render encoder/pass.

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

IsRayTracing

bool ludus::foundation::profiling::GpuTraceSample::IsRayTracing = false
Native ray-stage pipeline. Takes precedence over the physical encoder classification in labels.

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

HasExecutionInterval

bool ludus::foundation::profiling::GpuTraceSample::HasExecutionInterval = false
True when ExecutionStartTicks/ExecutionEndTicks place a named pass on the CPU trace clock through a validated backend calibration. Only such samples become execution slices; frame probes and uncalibrated passes remain duration counters.

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

ExecutionStartTicks

uint64 ludus::foundation::profiling::GpuTraceSample::ExecutionStartTicks = 0
Calibrated device execution start, in the CPU trace clock's nanoseconds.

Related types: uint64

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

ExecutionEndTicks

uint64 ludus::foundation::profiling::GpuTraceSample::ExecutionEndTicks = 0
Calibrated device execution end, not before ExecutionStartTicks.

Related types: uint64

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp

ClockUncertaintyNanoseconds

uint64 ludus::foundation::profiling::GpuTraceSample::ClockUncertaintyNanoseconds = 0
Calibration error bound for the execution interval, in nanoseconds.

Related types: uint64

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/perfetto_export.hpp