GlassAdaptiveDiagnostic class
Rich diagnostic snapshot emitted by GlassAdaptiveScope whenever the effective quality changes.
Passed to GlassAdaptiveScope.onDiagnostic and printed by GlassAdaptiveScope.debugLogDiagnostics. Contains the full context of why the quality changed — P75/P95 timing, phase, frame count, and reason.
Use reason to filter analytics:
- GlassQualityChangeReason.warmupComplete — the most useful event for threshold calibration. p75Ms will be set.
- GlassQualityChangeReason.thermalDegradation — thermal throttle detected. p95Ms will be set.
- GlassQualityChangeReason.restoredFromCache — skip in analytics; this fires on every remount and carries no new timing data.
- Annotations
Constructors
- GlassAdaptiveDiagnostic({required GlassQuality from, required GlassQuality to, required GlassQualityChangeReason reason, required AdaptivePhase phase, double? p75Ms, double? p95Ms, int? framesMeasured})
-
Creates a GlassAdaptiveDiagnostic.
const
Properties
- framesMeasured → int?
-
Number of frames measured to reach this decision.
final
- from → GlassQuality
-
The quality tier before the change.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- p75Ms → double?
-
The P75 raster time (ms) measured during Phase 2 warm-up.
final
- p95Ms → double?
-
The P95 raster time (ms) from the Phase 3 window that triggered this change.
final
- phase → AdaptivePhase
-
The adaptation phase at the moment of the change.
final
- reason → GlassQualityChangeReason
-
What triggered this quality change.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- to → GlassQuality
-
The quality tier after the change.
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited