Skip to content

@graphty/graphty-element / managers / StatsManager

Class: StatsManager ​

Defined in: src/managers/StatsManager.ts:154

Manages performance statistics and monitoring Centralizes all performance tracking and reporting

Implements ​

Constructors ​

Constructor ​

new StatsManager(eventManager): StatsManager

Defined in: src/managers/StatsManager.ts:197

Creates a new stats manager for performance tracking

Parameters ​

eventManager ​

EventManager

Event manager for emitting stats events

Returns ​

StatsManager

Properties ​

arrowCapUpdate ​

arrowCapUpdate: PerfCounter

Defined in: src/managers/StatsManager.ts:165


edgeUpdate ​

edgeUpdate: PerfCounter

Defined in: src/managers/StatsManager.ts:164


graphStep ​

graphStep: PerfCounter

Defined in: src/managers/StatsManager.ts:162


intersectCalc ​

intersectCalc: PerfCounter

Defined in: src/managers/StatsManager.ts:166


loadTime ​

loadTime: PerfCounter

Defined in: src/managers/StatsManager.ts:167


nodeUpdate ​

nodeUpdate: PerfCounter

Defined in: src/managers/StatsManager.ts:163


totalUpdates ​

totalUpdates: number = 0

Defined in: src/managers/StatsManager.ts:168

Methods ​

decrementCounter() ​

decrementCounter(label, amount): void

Defined in: src/managers/StatsManager.ts:1266

Decrement a counter by a specified amount

Parameters ​

label ​

string

Counter identifier

amount ​

number = 1

Amount to decrement (default: 1)

Returns ​

void


disableFrameProfiling() ​

disableFrameProfiling(): void

Defined in: src/managers/StatsManager.ts:505

Disable frame-level blocking detection and clear data

Returns ​

void


disableProfiling() ​

disableProfiling(): void

Defined in: src/managers/StatsManager.ts:467

Disable detailed profiling and clear measurements

Returns ​

void


dispose() ​

dispose(): void

Defined in: src/managers/StatsManager.ts:213

Dispose the stats manager and clean up instrumentation

Returns ​

void

Implementation of ​

Manager.dispose


enableFrameProfiling() ​

enableFrameProfiling(): void

Defined in: src/managers/StatsManager.ts:479

Enable frame-level blocking detection This tracks operations within each frame and correlates them with inter-frame time to identify which operations cause blocking overhead

Returns ​

void


enableProfiling() ​

enableProfiling(): void

Defined in: src/managers/StatsManager.ts:460

Enable detailed profiling

Returns ​

void


endFrameProfiling() ​

endFrameProfiling(): void

Defined in: src/managers/StatsManager.ts:533

End profiling for the current frame Should be called at the end of each frame

Returns ​

void


endLayoutSession() ​

endLayoutSession(): void

Defined in: src/managers/StatsManager.ts:908

End tracking a layout session

Returns ​

void


endMeasurement() ​

endMeasurement(label): void

Defined in: src/managers/StatsManager.ts:728

End manual timing

Parameters ​

label ​

string

Label for this measurement (must match startMeasurement)

Returns ​

void


getBlockingReport() ​

getBlockingReport(): OperationBlockingStats[]

Defined in: src/managers/StatsManager.ts:595

Get blocking correlation report Shows which operations appear most often in high-blocking frames

Returns ​

OperationBlockingStats[]

Array of operation statistics sorted by blocking correlation


getCounter() ​

getCounter(label): number

Defined in: src/managers/StatsManager.ts:1314

Get current value of a counter

Parameters ​

label ​

string

Counter identifier

Returns ​

number

Current counter value (0 if not found)


getCountersSnapshot() ​

getCountersSnapshot(): CounterSnapshot[]

Defined in: src/managers/StatsManager.ts:1358

Get snapshot of all counters

Returns ​

CounterSnapshot[]

Array of counter snapshots


getPerformanceSummary() ​

getPerformanceSummary(): object

Defined in: src/managers/StatsManager.ts:429

Get performance summary

Returns ​

object

Summary of key performance metrics

drawCalls ​

drawCalls: number

fps ​

fps: number

frameTime ​

frameTime: number

gpuTime ​

gpuTime: number

renderTime ​

renderTime: number


getSnapshot() ​

getSnapshot(): PerformanceSnapshot

Defined in: src/managers/StatsManager.ts:831

Get comprehensive performance snapshot

Returns ​

PerformanceSnapshot

Complete performance data including CPU, GPU, and scene metrics


getStats() ​

getStats(): object

Defined in: src/managers/StatsManager.ts:336

Get current statistics

Returns ​

object

Current graph statistics including counts and performance metrics

arrowCapUpdateCount ​

arrowCapUpdateCount: number

edgeUpdateCount ​

edgeUpdateCount: number

meshCacheHits ​

meshCacheHits: number

meshCacheMisses ​

meshCacheMisses: number

nodeUpdateCount ​

nodeUpdateCount: number

numEdges ​

numEdges: number

numNodes ​

numNodes: number

totalUpdates ​

totalUpdates: number


incrementCounter() ​

incrementCounter(label, amount): void

Defined in: src/managers/StatsManager.ts:1242

Increment a counter by a specified amount

Parameters ​

label ​

string

Counter identifier

amount ​

number = 1

Amount to increment (default: 1)

Returns ​

void


init() ​

init(): Promise<void>

Defined in: src/managers/StatsManager.ts:205

Initialize the stats manager

Returns ​

Promise<void>

Promise that resolves when initialization is complete

Implementation of ​

Manager.init


initializeBabylonInstrumentation() ​

initializeBabylonInstrumentation(scene, engine): void

Defined in: src/managers/StatsManager.ts:241

Initialize Babylon.js instrumentation Should be called after scene and engine are created

Parameters ​

scene ​

Scene

The Babylon.js scene

engine ​

The Babylon.js engine (Engine or WebGPUEngine)

Engine | WebGPUEngine

Returns ​

void


measure() ​

measure<T>(label, fn): T

Defined in: src/managers/StatsManager.ts:668

Measure synchronous code execution

Type Parameters ​

T ​

T

Parameters ​

label ​

string

Label for this measurement

fn ​

() => T

Function to measure

Returns ​

T

The return value of fn


measureAsync() ​

measureAsync<T>(label, fn): Promise<T>

Defined in: src/managers/StatsManager.ts:693

Measure async code execution

Type Parameters ​

T ​

T

Parameters ​

label ​

string

Label for this measurement

fn ​

() => Promise<T>

Async function to measure

Returns ​

Promise<T>

Promise resolving to the return value of fn


reportDetailed() ​

reportDetailed(): void

Defined in: src/managers/StatsManager.ts:971

Report detailed performance data to console

Returns ​

void


reset() ​

reset(): void

Defined in: src/managers/StatsManager.ts:314

Reset all counters

Returns ​

void


resetAllCounters() ​

resetAllCounters(): void

Defined in: src/managers/StatsManager.ts:1343

Reset all counters to 0

Returns ​

void


resetCounter() ​

resetCounter(label): void

Defined in: src/managers/StatsManager.ts:1327

Reset a specific counter to 0

Parameters ​

label ​

string

Counter identifier

Returns ​

void


resetMeasurements() ​

resetMeasurements(): void

Defined in: src/managers/StatsManager.ts:751

Reset detailed measurements (keep BabylonJS instrumentation running)

Returns ​

void


setCounter() ​

setCounter(label, value): void

Defined in: src/managers/StatsManager.ts:1290

Set a counter to a specific value

Parameters ​

label ​

string

Counter identifier

value ​

number

Value to set

Returns ​

void


startFrameProfiling() ​

startFrameProfiling(): void

Defined in: src/managers/StatsManager.ts:520

Start profiling a new frame Should be called at the beginning of each frame

Returns ​

void


startLayoutSession() ​

startLayoutSession(): void

Defined in: src/managers/StatsManager.ts:900

Start tracking a layout session

Returns ​

void


startMeasurement() ​

startMeasurement(label): void

Defined in: src/managers/StatsManager.ts:716

Start manual timing

Parameters ​

label ​

string

Label for this measurement

Returns ​

void


step() ​

step(): void

Defined in: src/managers/StatsManager.ts:299

Increment update counter

Returns ​

void


toString() ​

toString(): string

Defined in: src/managers/StatsManager.ts:362

Generate a human-readable statistics report

Returns ​

string

Formatted string with all statistics


updateCacheStats() ​

updateCacheStats(hits, misses): void

Defined in: src/managers/StatsManager.ts:281

Update cache statistics

Parameters ​

hits ​

number

Number of cache hits

misses ​

number

Number of cache misses

Returns ​

void


updateCounts() ​

updateCounts(nodeCount, edgeCount): void

Defined in: src/managers/StatsManager.ts:291

Update node/edge counts

Parameters ​

nodeCount ​

number

Current number of nodes

edgeCount ​

number

Current number of edges

Returns ​

void