Gondwana Game Engine Development (master) - 2.6.1
Gondwana is a cross-platform 2.5D game and rendering engine written in C#/.NET 8. It provides fine-grained control over rendering, timing, and scene composition, with built-in support for parallax, z-ordering, pixel overhang, collision detection, and particle effects. Gondwana targets desktop and web platforms using SkiaSharp for graphics and pluggable audio backends for desktop and browser targets.
Loading...
Searching...
No Matches
Gondwana.Diagnostics Namespace Reference

Classes

class  RenderTelemetry
 Neutral fixed render measurement definitions shared by runtime and platform adapters.
class  RuntimeProfiler
 Opt-in, bounded runtime measurements independent of legacy CPS notifications. More...
class  TelemetrySource
 Bounded extension source. Define measurements once, capture a generation before work, then record it. More...

Enumerations

enum  TelemetryMetricKind { Sample , Gauge , LifetimeCounter }
 How observations should be interpreted when combining windows. More...
enum  TelemetryAvailability { Unsupported , NotApplicable , NotYetSampled , Available }
 Whether an observation is meaningful for its source and window. More...

Functions

record TelemetrySummary (TelemetryAvailability Availability, long Count, double Sum, double? Minimum, double? Maximum, double? Last)
 Detached statistics for observations in one window; durations use milliseconds.
record TelemetrySnapshot (long Generation, double StartedSeconds, double EndedSeconds, IReadOnlyList< TelemetrySourceSnapshot > Sources, bool Truncated)
 Detached completed window. Sources can be observed asynchronously within its interval.
record TelemetrySourceSnapshot (long Id, string Name, string Backend, IReadOnlyDictionary< string, TelemetrySummary > Metrics)
 Detached source identity, backend label, and measurements. No runtime objects are retained.

Enumeration Type Documentation

◆ TelemetryAvailability

Whether an observation is meaningful for its source and window.

Enumerator
Unsupported 

The source does not implement this measurement.

NotApplicable 

The measurement does not apply to this rendering path.

NotYetSampled 

The measurement is supported but has no samples in this window.

Available 

At least one observation is present.

Definition at line 15 of file TelemetrySummary.cs.

◆ TelemetryMetricKind

How observations should be interpreted when combining windows.

Enumerator
Sample 

Independent work samples; count divided by elapsed seconds gives cadence.

Gauge 

Observed state; use Last for current state, not the sum across windows.

LifetimeCounter 

Renderer-owned cumulative value; WindowDelta is relative to the previous observation.

Definition at line 4 of file TelemetrySummary.cs.

Function Documentation

◆ TelemetrySnapshot()

record Gondwana.Diagnostics.TelemetrySnapshot ( long Generation,
double StartedSeconds,
double EndedSeconds,
IReadOnlyList< TelemetrySourceSnapshot > Sources,
bool Truncated )
sealed

Detached completed window. Sources can be observed asynchronously within its interval.

Parameters
GenerationReset/start generation; samples from earlier generations are rejected.
StartedSecondsMonotonic start time in seconds on the collector clock.
EndedSecondsMonotonic end time in seconds on the collector clock.
SourcesRead-only detached source measurements.
TruncatedSome source or metric detail exceeded configured limits.

Actual observed wall-clock duration, excluding stopped gaps.

Definition at line 140 of file TelemetrySummary.cs.

◆ TelemetrySourceSnapshot()

record Gondwana.Diagnostics.TelemetrySourceSnapshot ( long Id,
string Name,
string Backend,
IReadOnlyDictionary< string, TelemetrySummary > Metrics )
sealed

Detached source identity, backend label, and measurements. No runtime objects are retained.

Parameters
IdStable session-local identity, never reused.
NameBounded source name.
BackendBackend or subsystem label.
MetricsRead-only measurements keyed by explicitly registered names.

◆ TelemetrySummary()

record Gondwana.Diagnostics.TelemetrySummary ( TelemetryAvailability Availability,
long Count,
double Sum,
double? Minimum,
double? Maximum,
double? Last )
sealed

Detached statistics for observations in one window; durations use milliseconds.

Parameters
AvailabilitySupport and sampling state.
CountNumber of observations, not engine cycles unless measuring cycles.
SumSum in the measurement's units.
MinimumSmallest observation, or null without samples.
MaximumLargest observation, or null without samples.
LastMost recent observation, or null without samples.

Whether the observations are work samples, gauges, or cumulative counters.

Change since the previous window's final observation; null before a baseline is established.

Monotonic observation timestamp in seconds, or null without observations.

Sample-weighted arithmetic mean, or null without samples.

Combines compatible summaries using actual sample counts.

Parameters
summariesSummaries for the same measurement, in chronological order.
Returns
A detached aggregate; the last observation follows input order.

Definition at line 34 of file TelemetrySummary.cs.