Skip to content

@graphty/graphty-element / managers / StatsManager

Class: StatsManager ​

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

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:200

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:168


edgeUpdate ​

edgeUpdate: PerfCounter

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


graphStep ​

graphStep: PerfCounter

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


intersectCalc ​

intersectCalc: PerfCounter

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


loadTime ​

loadTime: PerfCounter

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


nodeUpdate ​

nodeUpdate: PerfCounter

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


totalUpdates ​

totalUpdates: number = 0

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

Methods ​

decrementCounter() ​

decrementCounter(label, amount): void

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

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:507

Disable frame-level blocking detection and clear data

Returns ​

void


disableProfiling() ​

disableProfiling(): void

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

Disable detailed profiling and clear measurements

Returns ​

void


dispose() ​

dispose(): void

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

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:481

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:462

Enable detailed profiling

Returns ​

void


endFrameProfiling() ​

endFrameProfiling(): void

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

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:907

End tracking a layout session

Returns ​

void


endMeasurement() ​

endMeasurement(label): void

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

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:589

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:1291

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:1335

Get snapshot of all counters

Returns ​

CounterSnapshot[]

Array of counter snapshots


getPerformanceSummary() ​

getPerformanceSummary(): object

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

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:822

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:337

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:1219

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:206

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:242

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

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:686

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:973

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:315

Reset all counters

Returns ​

void


resetAllCounters() ​

resetAllCounters(): void

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

Reset all counters to 0

Returns ​

void


resetCounter() ​

resetCounter(label): void

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

Reset a specific counter to 0

Parameters ​

label ​

string

Counter identifier

Returns ​

void


resetMeasurements() ​

resetMeasurements(): void

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

Reset detailed measurements (keep BabylonJS instrumentation running)

Returns ​

void


setCounter() ​

setCounter(label, value): void

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

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:522

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:899

Start tracking a layout session

Returns ​

void


startMeasurement() ​

startMeasurement(label): void

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

Start manual timing

Parameters ​

label ​

string

Label for this measurement

Returns ​

void


step() ​

step(): void

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

Increment update counter

Returns ​

void


toString() ​

toString(): string

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

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:282

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:292

Update node/edge counts

Parameters ​

nodeCount ​

number

Current number of nodes

edgeCount ​

number

Current number of edges

Returns ​

void