Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::inspect::ControlGpuHealthProvider Class Referencefinal

UI-thread producer for the immutable snapshot consumed by dev.pulp.gpu/health.read@1. More...

#include <control_gpu_health_provider.hpp>

Classes

struct  ReferenceHost
struct  Config
struct  AdapterIdentity
struct  FrameObservation

Public Types

enum class  CacheState { cold , warm }
enum class  CacheProvenance { unknown , fresh_process , explicit_cache_reset , same_process_editor_reopen }
enum class  MeasurementEndpoint { native_compositor_presentation , headless_capture_complete }

Public Member Functions

std::vector< std::string > derive_missing_trace_categories (const FrameObservation &frame) const
 Derives the trace categories that this exact frame did not prove.
 ControlGpuHealthProvider (Config config)
 ~ControlGpuHealthProvider ()
 ControlGpuHealthProvider (const ControlGpuHealthProvider &)=delete
ControlGpuHealthProvider & operator= (const ControlGpuHealthProvider &)=delete
bool begin_editor_open (CacheState cache_state, std::chrono::steady_clock::time_point requested_at) noexcept
 Arms one bounded editor-open trial. Only one trial may be in flight.
bool record_presented_frame (const FrameObservation &frame) noexcept
 Records bounded raw product evidence.
bool record_timeout (std::chrono::steady_clock::time_point observed_at) noexcept
bool record_instance_lost () noexcept
bool record_dropped_events (std::uint64_t count) noexcept
bool awaiting_frame () const noexcept
std::shared_ptr< const tooling::gpu_health::HealthReadResult > snapshot () const noexcept

Detailed Description

UI-thread producer for the immutable snapshot consumed by dev.pulp.gpu/health.read@1.

Recording methods fail closed when called from another thread; snapshot() is lock-free, bounded, and safe for a control worker. No method is suitable for an audio callback.

Member Enumeration Documentation

◆ CacheProvenance

Enumerator
unknown 
fresh_process 
explicit_cache_reset 
same_process_editor_reopen 

◆ CacheState

Enumerator
cold 
warm 

◆ MeasurementEndpoint

Enumerator
native_compositor_presentation 
headless_capture_complete 

Constructor & Destructor Documentation

◆ ControlGpuHealthProvider() [1/2]

pulp::inspect::ControlGpuHealthProvider::ControlGpuHealthProvider ( Config config)
explicit

◆ ~ControlGpuHealthProvider()

pulp::inspect::ControlGpuHealthProvider::~ControlGpuHealthProvider ( )

◆ ControlGpuHealthProvider() [2/2]

pulp::inspect::ControlGpuHealthProvider::ControlGpuHealthProvider ( const ControlGpuHealthProvider & )
delete

Member Function Documentation

◆ awaiting_frame()

bool pulp::inspect::ControlGpuHealthProvider::awaiting_frame ( ) const
noexcept

◆ begin_editor_open()

bool pulp::inspect::ControlGpuHealthProvider::begin_editor_open ( CacheState cache_state,
std::chrono::steady_clock::time_point requested_at )
noexcept

Arms one bounded editor-open trial. Only one trial may be in flight.

◆ derive_missing_trace_categories()

std::vector< std::string > pulp::inspect::ControlGpuHealthProvider::derive_missing_trace_categories ( const FrameObservation & frame) const

Derives the trace categories that this exact frame did not prove.

Missing producer evidence remains explicit rather than being inferred from a screenshot, adapter identity, or caller-declared cache state.

◆ operator=()

ControlGpuHealthProvider & pulp::inspect::ControlGpuHealthProvider::operator= ( const ControlGpuHealthProvider & )
delete

◆ record_dropped_events()

bool pulp::inspect::ControlGpuHealthProvider::record_dropped_events ( std::uint64_t count)
noexcept

◆ record_instance_lost()

bool pulp::inspect::ControlGpuHealthProvider::record_instance_lost ( )
noexcept

◆ record_presented_frame()

bool pulp::inspect::ControlGpuHealthProvider::record_presented_frame ( const FrameObservation & frame)
noexcept

Records bounded raw product evidence.

A positive live snapshot does not establish end-to-end startup readiness; validation also binds the budget, raw samples, product artifacts, trace, and audio-thread exclusion.

◆ record_timeout()

bool pulp::inspect::ControlGpuHealthProvider::record_timeout ( std::chrono::steady_clock::time_point observed_at)
noexcept

◆ snapshot()

std::shared_ptr< const tooling::gpu_health::HealthReadResult > pulp::inspect::ControlGpuHealthProvider::snapshot ( ) const
noexcept

The documentation for this class was generated from the following file: