@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 ​
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 ​
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 ​
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 ​
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 ​
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