Skip to content

@graphty/graphty-element / index / StatsManager

Class: StatsManager ​

Defined in: graphty-element/src/managers/StatsManager.ts:158

Manages performance statistics and monitoring Centralizes all performance tracking and reporting

Implements ​

Constructors ​

Constructor ​

new StatsManager(eventManager): StatsManager

Defined in: graphty-element/src/managers/StatsManager.ts:201

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: graphty-element/src/managers/StatsManager.ts:169


edgeUpdate ​

edgeUpdate: PerfCounter

Defined in: graphty-element/src/managers/StatsManager.ts:168


graphStep ​

graphStep: PerfCounter

Defined in: graphty-element/src/managers/StatsManager.ts:166


intersectCalc ​

intersectCalc: PerfCounter

Defined in: graphty-element/src/managers/StatsManager.ts:170


loadTime ​

loadTime: PerfCounter

Defined in: graphty-element/src/managers/StatsManager.ts:171


nodeUpdate ​

nodeUpdate: PerfCounter

Defined in: graphty-element/src/managers/StatsManager.ts:167


totalUpdates ​

totalUpdates: number = 0

Defined in: graphty-element/src/managers/StatsManager.ts:172

Methods ​

decrementCounter() ​

decrementCounter(label, amount?): void

Defined in: graphty-element/src/managers/StatsManager.ts:1244

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: graphty-element/src/managers/StatsManager.ts:508

Disable frame-level blocking detection and clear data

Returns ​

void


disableProfiling() ​

disableProfiling(): void

Defined in: graphty-element/src/managers/StatsManager.ts:470

Disable detailed profiling and clear measurements

Returns ​

void


dispose() ​

dispose(): void

Defined in: graphty-element/src/managers/StatsManager.ts:215

Dispose the stats manager and clean up instrumentation

Returns ​

void

Implementation of ​

Manager.dispose


enableFrameProfiling() ​

enableFrameProfiling(): void

Defined in: graphty-element/src/managers/StatsManager.ts:482

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: graphty-element/src/managers/StatsManager.ts:463

Enable detailed profiling

Returns ​

void


endFrameProfiling() ​

endFrameProfiling(): void

Defined in: graphty-element/src/managers/StatsManager.ts:536

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

Returns ​

void


endLayoutSession() ​

endLayoutSession(): void

Defined in: graphty-element/src/managers/StatsManager.ts:908

End tracking a layout session

Returns ​

void


endMeasurement() ​

endMeasurement(label): void

Defined in: graphty-element/src/managers/StatsManager.ts:722

End manual timing

Parameters ​

label ​

string

Label for this measurement (must match startMeasurement)

Returns ​

void


getBlockingReport() ​

getBlockingReport(): OperationBlockingStats[]

Defined in: graphty-element/src/managers/StatsManager.ts:590

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: graphty-element/src/managers/StatsManager.ts:1292

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: graphty-element/src/managers/StatsManager.ts:1336

Get snapshot of all counters

Returns ​

CounterSnapshot[]

Array of counter snapshots


getPerformanceSummary() ​

getPerformanceSummary(): object

Defined in: graphty-element/src/managers/StatsManager.ts:431

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: graphty-element/src/managers/StatsManager.ts:823

Get comprehensive performance snapshot

Returns ​

PerformanceSnapshot

Complete performance data including CPU, GPU, and scene metrics


getStats() ​

getStats(): object

Defined in: graphty-element/src/managers/StatsManager.ts:338

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: graphty-element/src/managers/StatsManager.ts:1220

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: graphty-element/src/managers/StatsManager.ts:207

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: graphty-element/src/managers/StatsManager.ts:243

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

Parameters ​

scene ​

Scene

The Babylon.js scene

engine ​

Engine | WebGPUEngine

The Babylon.js engine (Engine or WebGPUEngine)

Returns ​

void


measure() ​

measure<T>(label, fn): T

Defined in: graphty-element/src/managers/StatsManager.ts:662

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: graphty-element/src/managers/StatsManager.ts:687

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: graphty-element/src/managers/StatsManager.ts:974

Report detailed performance data to console. This method intentionally uses browser console APIs (console.group, console.table) for rich formatted output in browser DevTools.

Returns ​

void


reset() ​

reset(): void

Defined in: graphty-element/src/managers/StatsManager.ts:316

Reset all counters

Returns ​

void


resetAllCounters() ​

resetAllCounters(): void

Defined in: graphty-element/src/managers/StatsManager.ts:1321

Reset all counters to 0

Returns ​

void


resetCounter() ​

resetCounter(label): void

Defined in: graphty-element/src/managers/StatsManager.ts:1305

Reset a specific counter to 0

Parameters ​

label ​

string

Counter identifier

Returns ​

void


resetMeasurements() ​

resetMeasurements(): void

Defined in: graphty-element/src/managers/StatsManager.ts:745

Reset detailed measurements (keep BabylonJS instrumentation running)

Returns ​

void


setCounter() ​

setCounter(label, value): void

Defined in: graphty-element/src/managers/StatsManager.ts:1268

Set a counter to a specific value

Parameters ​

label ​

string

Counter identifier

value ​

number

Value to set

Returns ​

void


startFrameProfiling() ​

startFrameProfiling(): void

Defined in: graphty-element/src/managers/StatsManager.ts:523

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

Returns ​

void


startLayoutSession() ​

startLayoutSession(): void

Defined in: graphty-element/src/managers/StatsManager.ts:900

Start tracking a layout session

Returns ​

void


startMeasurement() ​

startMeasurement(label): void

Defined in: graphty-element/src/managers/StatsManager.ts:710

Start manual timing

Parameters ​

label ​

string

Label for this measurement

Returns ​

void


step() ​

step(): void

Defined in: graphty-element/src/managers/StatsManager.ts:301

Increment update counter

Returns ​

void


toString() ​

toString(): string

Defined in: graphty-element/src/managers/StatsManager.ts:364

Generate a human-readable statistics report

Returns ​

string

Formatted string with all statistics


updateCacheStats() ​

updateCacheStats(hits, misses): void

Defined in: graphty-element/src/managers/StatsManager.ts:283

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: graphty-element/src/managers/StatsManager.ts:293

Update node/edge counts

Parameters ​

nodeCount ​

number

Current number of nodes

edgeCount ​

number

Current number of edges

Returns ​

void