ActorSystemConfig

cc.otavia.core.config.ActorSystemConfig
case class ActorSystemConfig(actorThreadPoolSize: Int = ..., memoryMonitor: Boolean = ..., memoryMonitorDurationMs: Int = ..., memoryOverSleepMs: Int = ..., systemMonitor: Boolean = ..., systemMonitorDurationMs: Int = ..., printBanner: Boolean = ..., aggressiveGC: Boolean = ..., maxBatchSize: Int = ..., maxFetchPerRunning: Int = ..., poolHolderMaxSize: Int = ...)

System-level configuration for cc.otavia.core.system.ActorSystem.

Value parameters

actorThreadPoolSize

Number of ActorThread worker threads. Defaults to available processors.

aggressiveGC

Enable aggressive garbage collection behavior. When true, the system proactively triggers GC when memory pressure is detected.

maxBatchSize

Maximum number of messages processed in a single actor dispatch cycle. Prevents any single actor from monopolizing the thread indefinitely.

maxFetchPerRunning

Maximum number of messages fetched per actor run. Controls how many messages are dequeued before yielding.

memoryMonitor

Enable heap memory pressure monitoring. When enabled, the system tracks heap usage and marks itself as "busy" when memory is over 90% utilized.

memoryMonitorDurationMs

Interval in milliseconds between memory monitor checks. Default is 2000ms.

memoryOverSleepMs

Sleep time in milliseconds when system is busy and a non-actor thread sends a notice. Prevents non-actor threads from overwhelming the system during memory pressure.

poolHolderMaxSize

Maximum number of pooled objects per cc.otavia.core.cache.SingleThreadPoolableHolder. Controls memory vs allocation overhead tradeoff for object pools.

printBanner

Print the Otavia ASCII banner on system startup.

systemMonitor

Enable system-wide metrics monitoring task. Collects runtime statistics for debugging/observability.

systemMonitorDurationMs

Interval in milliseconds between system monitor runs. Default is 1000ms.

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product