| 39 | } |
| 40 | |
| 41 | function assertMetricsShape(metrics) { |
| 42 | assert(metrics && typeof metrics === "object", "engineGetMetrics must return an object"); |
| 43 | assert(typeof metrics.frameIndex === "bigint", "metrics.frameIndex must be bigint"); |
| 44 | assert(typeof metrics.bytesEmittedTotal === "bigint", "metrics.bytesEmittedTotal must be bigint"); |
| 45 | assert( |
| 46 | typeof metrics.arenaFrameHighWaterBytes === "bigint", |
| 47 | "metrics.arenaFrameHighWaterBytes must be bigint", |
| 48 | ); |
| 49 | assert(typeof metrics.fps === "number", "metrics.fps must be number"); |
| 50 | assert( |
| 51 | typeof metrics.negotiatedDrawlistVersion === "number", |
| 52 | "metrics.negotiatedDrawlistVersion must be number", |
| 53 | ); |
| 54 | assert( |
| 55 | typeof metrics.negotiatedEventBatchVersion === "number", |
| 56 | "metrics.negotiatedEventBatchVersion must be number", |
| 57 | ); |
| 58 | } |
| 59 | |
| 60 | function assertDebugStatsShape(stats) { |
| 61 | assert(stats && typeof stats === "object", "engineDebugGetStats must return an object"); |