Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
health_read_result.hpp
Go to the documentation of this file.
1#pragma once
2
4
5#include <cstddef>
6#include <cstdint>
7#include <optional>
8#include <string>
9#include <string_view>
10#include <vector>
11
13
14inline constexpr std::string_view kHealthReadSchema = "pulp.gpu-health-read-result.v1";
15inline constexpr std::uint32_t kHealthReadVersion = 1;
16inline constexpr std::size_t kMaximumStartupTrials = 64;
17inline constexpr std::size_t kMaximumReferenceHosts = 8;
18inline constexpr std::size_t kMaximumMissingTraceCategories = 16;
19
23enum class CacheState { cold, warm };
34
36 std::string host_id;
37 double refresh_rate_hz = 0.0;
38};
39
44 std::string budget_id;
45 std::uint32_t version = 1;
47 std::string clock_origin{"editor_open_requested"};
48 std::string endpoint{"first_nonblank_presented_frame"};
49 std::string interaction_hitch_metric{"max_present_interval_before_first_nonblank_ms"};
50 std::uint32_t trial_count = 20;
52 std::uint32_t cold_trial_count = 10;
53 std::uint32_t warm_trial_count = 10;
54 double percentile = 95.0;
55 std::optional<double> threshold_ms;
56 std::optional<std::string> threshold_source;
57 std::vector<ReferenceHost> reference_hosts;
58};
59
61 std::optional<std::string> gpu_evidence_id;
62 std::optional<std::string> trace_evidence_id;
63};
64
66 std::uint32_t event_capacity = 1;
67 std::uint32_t event_count = 0;
68 std::uint64_t dropped_event_count = 0;
69 bool truncated = false;
74 std::vector<std::string> missing_trace_categories;
75};
76
78 std::string pulp_build_id;
79 std::optional<std::string> vellum_revision;
80 std::optional<std::string> source_signature_sha256;
81 std::optional<std::string> shader_signature_sha256;
82 std::optional<std::string> expected_target_signature_sha256;
84};
85
87 std::uint32_t sequence = 0;
90 std::optional<std::string> lifecycle_id;
93 std::optional<double> editor_open_to_first_nonblank_ms;
94 std::optional<double> interaction_hitch_ms;
95 std::optional<double> shader_compile_ms;
96 std::optional<double> upload_ms;
97 std::optional<double> hidden_frame_ms;
98 std::optional<double> present_ms;
99 std::optional<std::string> observed_target_signature_sha256;
100 std::optional<bool> content_floor_passed;
103 std::string diagnostic_code{"gpu.startup.unverified"};
104};
105
124
132 HealthResult value;
133 value.schema = kSchemaV1;
134 value.version = kVersionV1;
135 value.measured_at_utc.clear();
136 return value;
137 }();
139};
140
141std::string_view to_string(MeasurementStatus value);
142std::string_view to_string(MeasurementEndpoint value);
143std::string_view to_string(BudgetStatus value);
144std::string_view to_string(CacheState value);
145std::string_view to_string(CacheProvenance value);
146std::string_view to_string(VisibleState value);
147std::string_view to_string(PipelineContribution value);
148std::string_view to_string(CausalAttribution value);
149std::string_view to_string(StartupDisposition value);
150
155bool validate(const HealthReadResult& result, std::string* error = nullptr);
156
157std::string to_json(const HealthReadResult& result, bool pretty = false);
158
159} // namespace pulp::tooling::gpu_health
Bounded, typed evidence returned by Pulp GPU health diagnostics.
Definition health_provider.hpp:8
bool validate(const HealthReadResult &result, std::string *error=nullptr)
Validates bounds and cross-field claims that JSON Schema cannot express, including percentile derivat...
CausalAttribution
Definition health_read_result.hpp:32
@ unverified
Definition health_read_result.hpp:32
StartupDisposition
Definition health_read_result.hpp:33
@ no_change
Definition health_read_result.hpp:33
@ queue_b4
Definition health_read_result.hpp:33
@ queue_b4_investigation
Definition health_read_result.hpp:33
constexpr std::size_t kMaximumMissingTraceCategories
Definition health_read_result.hpp:18
std::string_view to_string(MeasurementStatus value)
MeasurementEndpoint
Definition health_read_result.hpp:21
@ headless_capture_complete
Definition health_read_result.hpp:21
@ native_compositor_presentation
Definition health_read_result.hpp:21
constexpr std::size_t kMaximumReferenceHosts
Definition health_read_result.hpp:17
VisibleState
Definition health_read_result.hpp:30
@ fallback
Definition health_read_result.hpp:30
@ prepared
Definition health_read_result.hpp:30
@ unknown
Definition health_read_result.hpp:30
constexpr std::uint32_t kVersionV1
Definition health_result.hpp:43
MeasurementStatus
Definition health_read_result.hpp:20
@ incomplete
Definition health_read_result.hpp:20
@ unavailable
Definition health_read_result.hpp:20
@ unverified
Definition health_read_result.hpp:20
@ complete
Definition health_read_result.hpp:20
constexpr std::uint32_t kHealthReadVersion
Definition health_read_result.hpp:15
CacheProvenance
Definition health_read_result.hpp:24
@ fresh_process
Definition health_read_result.hpp:26
@ explicit_cache_reset
Definition health_read_result.hpp:27
@ same_process_editor_reopen
Definition health_read_result.hpp:28
@ unknown
Definition health_read_result.hpp:25
constexpr std::string_view kHealthReadSchema
Definition health_read_result.hpp:14
CacheState
Definition health_read_result.hpp:23
@ cold
Definition health_read_result.hpp:23
@ warm
Definition health_read_result.hpp:23
Verdict
Four-state outcome that keeps missing or inconclusive evidence out of pass.
Definition health_result.hpp:125
@ unverified
Evidence exists but is insufficient to support a verdict.
Definition health_result.hpp:129
PipelineContribution
Definition health_read_result.hpp:31
@ unattributed
Definition health_read_result.hpp:31
@ not_material
Definition health_read_result.hpp:31
@ unverified
Definition health_read_result.hpp:31
@ material
Definition health_read_result.hpp:31
BudgetStatus
Definition health_read_result.hpp:22
@ ratified
Definition health_read_result.hpp:22
@ unratified
Definition health_read_result.hpp:22
std::string to_json(const HealthReadResult &result, bool pretty=false)
constexpr std::size_t kMaximumStartupTrials
Definition health_read_result.hpp:16
constexpr std::string_view kSchemaV1
Historical closed schema identity accepted when parsing stored v1 results.
Definition health_result.hpp:42
AdapterClass
Adapter class proven by native identity, never inferred from backend alone.
Definition health_result.hpp:147
@ unknown
Definition health_result.hpp:147
Closed response returned by dev.pulp.gpu/health.read@1.
Definition health_read_result.hpp:128
std::string schema
Definition health_read_result.hpp:129
HealthResult health
Definition health_read_result.hpp:131
StartupMeasurements startup
Definition health_read_result.hpp:138
std::uint32_t version
Definition health_read_result.hpp:130
Closed versioned aggregate returned by the GPU health diagnostic.
Definition health_result.hpp:206
Definition health_read_result.hpp:35
double refresh_rate_hz
Definition health_read_result.hpp:37
std::string host_id
Definition health_read_result.hpp:36
Versioned interpretation contract for startup measurements.
Definition health_read_result.hpp:43
std::string clock_origin
Definition health_read_result.hpp:47
std::string budget_id
Definition health_read_result.hpp:44
std::optional< double > threshold_ms
Definition health_read_result.hpp:55
std::vector< ReferenceHost > reference_hosts
Definition health_read_result.hpp:57
double percentile
Definition health_read_result.hpp:54
std::uint32_t trial_count
Definition health_read_result.hpp:50
std::string interaction_hitch_metric
Definition health_read_result.hpp:49
std::uint32_t cold_trial_count
Frozen cache-state controls; both are nonzero and sum to trial_count.
Definition health_read_result.hpp:52
std::uint32_t warm_trial_count
Definition health_read_result.hpp:53
std::optional< std::string > threshold_source
Definition health_read_result.hpp:56
BudgetStatus status
Definition health_read_result.hpp:46
std::string endpoint
Definition health_read_result.hpp:48
std::uint32_t version
Definition health_read_result.hpp:45
Definition health_read_result.hpp:65
std::vector< std::string > missing_trace_categories
Instrumentation coverage gaps in an otherwise bounded capture.
Definition health_read_result.hpp:74
std::uint64_t dropped_event_count
Definition health_read_result.hpp:68
std::uint32_t event_count
Definition health_read_result.hpp:67
bool truncated
Definition health_read_result.hpp:69
std::uint32_t event_capacity
Definition health_read_result.hpp:66
Definition health_read_result.hpp:60
std::optional< std::string > trace_evidence_id
Definition health_read_result.hpp:62
std::optional< std::string > gpu_evidence_id
Definition health_read_result.hpp:61
Definition health_read_result.hpp:77
std::optional< std::string > expected_target_signature_sha256
Definition health_read_result.hpp:82
std::optional< std::string > vellum_revision
Definition health_read_result.hpp:79
AdapterClass adapter_class
Definition health_read_result.hpp:83
std::optional< std::string > shader_signature_sha256
Definition health_read_result.hpp:81
std::string pulp_build_id
Definition health_read_result.hpp:78
std::optional< std::string > source_signature_sha256
Definition health_read_result.hpp:80
Definition health_read_result.hpp:106
MeasurementEndpoint measurement_endpoint
Concrete end-to-end observation boundary.
Definition health_read_result.hpp:112
StartupCapture capture
Definition health_read_result.hpp:115
StartupCorrelation correlation
Definition health_read_result.hpp:114
Verdict verdict
Definition health_read_result.hpp:108
StartupIdentity identity
Definition health_read_result.hpp:116
MeasurementStatus status
Definition health_read_result.hpp:107
std::optional< StartupDisposition > disposition
Definition health_read_result.hpp:122
StartupBudget budget
Definition health_read_result.hpp:113
std::vector< StartupTrial > trials
Definition health_read_result.hpp:117
std::optional< double > interaction_hitch_percentile_ms
Definition health_read_result.hpp:119
PipelineContribution pipeline_contribution
Definition health_read_result.hpp:120
std::optional< double > observed_percentile_ms
Definition health_read_result.hpp:118
CausalAttribution causal_attribution
Definition health_read_result.hpp:121
Definition health_read_result.hpp:86
Verdict verdict
Definition health_read_result.hpp:102
std::optional< double > hidden_frame_ms
Definition health_read_result.hpp:97
std::optional< std::string > observed_target_signature_sha256
Definition health_read_result.hpp:99
std::optional< double > upload_ms
Definition health_read_result.hpp:96
std::string diagnostic_code
Definition health_read_result.hpp:103
std::optional< double > editor_open_to_first_nonblank_ms
Definition health_read_result.hpp:93
std::optional< double > interaction_hitch_ms
Definition health_read_result.hpp:94
std::uint32_t sequence
Definition health_read_result.hpp:87
std::optional< bool > content_floor_passed
Definition health_read_result.hpp:100
std::optional< std::string > lifecycle_id
Unique editor lifecycle identity retained in the durable response.
Definition health_read_result.hpp:90
VisibleState visible_state
Definition health_read_result.hpp:101
std::optional< double > present_ms
Definition health_read_result.hpp:98
CacheProvenance cache_provenance
Explicit cache boundary; never inferred from cold/warm labels or timing.
Definition health_read_result.hpp:92
std::optional< double > shader_compile_ms
Definition health_read_result.hpp:95
CacheState cache_state
Definition health_read_result.hpp:88