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