@morojs/moro / ObjectPoolManager
Class: ObjectPoolManager
Defined in: src/core/pooling/object-pool-manager.ts:17
ObjectPoolManager - Singleton for managing all object pools Consolidates pools from:
- MoroHttpServer (paramObjectPool, bufferPool)
- Router (paramObjectPool)
- Various route caches
Methods
acquireBuffer()
acquireBuffer(
size):Buffer
Defined in: src/core/pooling/object-pool-manager.ts:280
Parameters
size
number
Returns
Buffer
acquireHeaders()
acquireHeaders():
Record<string,string>
Defined in: src/core/pooling/object-pool-manager.ts:231
Returns
Record<string, string>
acquireParams()
acquireParams():
Record<string,string>
Defined in: src/core/pooling/object-pool-manager.ts:198
Returns
Record<string, string>
acquireQuery()
acquireQuery():
Record<string,string>
Defined in: src/core/pooling/object-pool-manager.ts:243
Returns
Record<string, string>
cacheResponse()
cacheResponse(
key,buffer,headers,statusCode?):void
Defined in: src/core/pooling/object-pool-manager.ts:361
Parameters
key
string
buffer
Buffer
headers
Record<string, string>
statusCode?
number = 200
Returns
void
cacheRoute()
cacheRoute(
key,route):void
Defined in: src/core/pooling/object-pool-manager.ts:338
Parameters
key
string
route
any
Returns
void
clearAll()
clearAll():
void
Defined in: src/core/pooling/object-pool-manager.ts:452
Clear all pools and caches
Returns
void
clearResponseCache()
clearResponseCache():
void
Defined in: src/core/pooling/object-pool-manager.ts:382
Returns
void
clearRouteCache()
clearRouteCache():
void
Defined in: src/core/pooling/object-pool-manager.ts:346
Returns
void
forceCleanup()
forceCleanup():
void
Defined in: src/core/pooling/object-pool-manager.ts:465
Force garbage collection on pooled objects
Returns
void
generateRequestId()
generateRequestId():
string
Defined in: src/core/pooling/object-pool-manager.ts:274
Returns
string
getCachedResponse()
getCachedResponse(
key): {buffer:Buffer;headers:Record<string,string>;statusCode:number; } |undefined
Defined in: src/core/pooling/object-pool-manager.ts:355
Parameters
key
string
Returns
{ buffer: Buffer; headers: Record<string, string>; statusCode: number; } | undefined
getCachedRoute()
getCachedRoute(
key):any
Defined in: src/core/pooling/object-pool-manager.ts:334
Parameters
key
string
Returns
any
getPerformanceSummary()
getPerformanceSummary():
object
Defined in: src/core/pooling/object-pool-manager.ts:505
Get performance summary for monitoring
Returns
object
paramPoolUtilization
paramPoolUtilization:
number
responseCacheHitRate
responseCacheHitRate:
number
routeCacheHitRate
routeCacheHitRate:
number
totalMemoryKB
totalMemoryKB:
number
getStats()
getStats():
object
Defined in: src/core/pooling/object-pool-manager.ts:478
Get comprehensive performance statistics
Returns
object
bufferPools
bufferPools:
Record<string,any> =bufferPoolStats
headerPool
headerPool:
object
headerPool.acquireCount
acquireCount:
number
headerPool.createCount
createCount:
number
headerPool.maxSize
maxSize:
number
headerPool.poolSize
poolSize:
number
headerPool.releaseCount
releaseCount:
number
headerPool.utilization
utilization:
number
paramPool
paramPool:
object
paramPool.acquireCount
acquireCount:
number
paramPool.createCount
createCount:
number
paramPool.maxSize
maxSize:
number
paramPool.poolSize
poolSize:
number
paramPool.releaseCount
releaseCount:
number
paramPool.utilization
utilization:
number
queryPool
queryPool:
object
queryPool.acquireCount
acquireCount:
number
queryPool.createCount
createCount:
number
queryPool.maxSize
maxSize:
number
queryPool.poolSize
poolSize:
number
queryPool.releaseCount
releaseCount:
number
queryPool.utilization
utilization:
number
responseCache
responseCache:
object
responseCache.hitRate
hitRate:
number
responseCache.hits
hits:
number
responseCache.maxSize
maxSize:
number
responseCache.misses
misses:
number
responseCache.size
size:
number
routeCache
routeCache:
object
routeCache.hitRate
hitRate:
number
routeCache.hits
hits:
number
routeCache.maxSize
maxSize:
number
routeCache.misses
misses:
number
routeCache.size
size:
number
totalMemory
totalMemory:
object
totalMemory.buffers
buffers:
number
totalMemory.headers
headers:
number
totalMemory.params
params:
number
totalMemory.queries
queries:
number
totalMemory.responses
responses:
number
totalMemory.routes
routes:
number
hasCachedResponse()
hasCachedResponse(
key):boolean
Defined in: src/core/pooling/object-pool-manager.ts:378
Parameters
key
string
Returns
boolean
hasCachedRoute()
hasCachedRoute(
key):boolean
Defined in: src/core/pooling/object-pool-manager.ts:342
Parameters
key
string
Returns
boolean
logStats()
logStats():
void
Defined in: src/core/pooling/object-pool-manager.ts:531
Log performance statistics
Returns
void
preWarmPools()
preWarmPools(
sizes?):void
Defined in: src/core/pooling/object-pool-manager.ts:125
Pre-warm pools with optimal sizes for better startup performance Can be called with custom sizes to override defaults
Parameters
sizes?
buffers?
Record<number, number>
headers?
number
params?
number
query?
number
Returns
void
releaseBuffer()
releaseBuffer(
buffer):void
Defined in: src/core/pooling/object-pool-manager.ts:314
Parameters
buffer
Buffer
Returns
void
releaseHeaders()
releaseHeaders(
obj):void
Defined in: src/core/pooling/object-pool-manager.ts:236
Parameters
obj
Record<string, string>
Returns
void
releaseParams()
releaseParams(
obj):void
Defined in: src/core/pooling/object-pool-manager.ts:216
Parameters
obj
Record<string, string>
Returns
void
releaseQuery()
releaseQuery(
obj):void
Defined in: src/core/pooling/object-pool-manager.ts:260
Parameters
obj
Record<string, string>
Returns
void
setAdaptiveMode()
setAdaptiveMode(
enabled):void
Defined in: src/core/pooling/object-pool-manager.ts:442
Enable or disable adaptive pool sizing
Parameters
enabled
boolean
Returns
void
getInstance()
staticgetInstance():ObjectPoolManager
Defined in: src/core/pooling/object-pool-manager.ts:179
Returns
ObjectPoolManager
reset()
staticreset():void
Defined in: src/core/pooling/object-pool-manager.ts:189
Reset the singleton (useful for testing)
Returns
void