irius-kernel.12.4.source-code.component-kernel.conf Maven / Gradle / Ivy
#
# Made with all the love in the world
# by scireum in Remshalden, Germany
#
# Copyright by scireum GmbH
# http://www.scireum.de - [email protected]
#
# Contains product specific information. This should most probably be overridden in the application.conf.
product {
# Contains the name of the product
name = ""
# Contains the current version of the product
version = ""
# Contains the current build number
build = ""
# Contains the build date
date = ""
# Contains the current vcs revision
vcs = ""
# Contains all modules known to the system
modules {
# Adding the kernel module to the list of known modules...
sirius-kernel {
version = "${project.version}"
build = "${build.number}"
date = "${timestamp}"
vcs = "${build.vcs.number}"
}
}
}
# Contains framework specific information
sirius {
# Sets the node name of this instance. This should be setup in the instance.conf. If the value is empty,
# the current hostname is used.
nodeName = ""
# Modules can be split into frameworks which can be disabled if not needed.
# The kernel itself provides the TimerService which calls participants in regular intervals. This can
# be disabled via the kernel.timer framework.
frameworks {
kernel.timer = true
}
# By default no customizations are active. This can be used to enable one or more customizations.
# This will enable classes in "customizations.[name]" as well as resources in "customizations/[name]/resource-path".
# This can be used to adjust small pieces of the software for multiple customers while maintaining a single
# consistent codebase.
customizations = []
# If enabled a set of provided rules ensures that a minimal amount of system configuration and data is
# present. This can be used to automatically setup an empty database etc. By default this is disabled and
# has to be enabled for development / staging / test environments.
autoSetup = false
}
# Contains the configuration of the native language support
nls {
# Sets the default language as two-letter code
defaultLanguage = en
# Enumerates all supported languages as two-letter codes
languages = [ en, de ]
}
# Contains settings for the dependency injector
di {
# Lists root packages to scan. An empty lists will cause all packages to be scanned.
# If a list is provided, it must contain "sirius" as root package so that core classes
# are included.
packageFilter = []
}
# Sets the logging configuration. Each logger can be enumerated here, along with its log level
# This can be OFF, DEBUG, INFO, WARN, ERROR - the default level is INFO
logging {
# Turn this on to log "ignored" or unnecessary exceptions.
ignored = OFF
}
# Contains configuration regarding the health system
health {
# Controls the max numbers of errors kept in the MemoryBasedHealthMonitor
max-errors = 100
# Controls the max number of log messages kept in the MemoryBasedHealthMonitor
max-logs = 100
# Determines how long old log files are kept
logFileRetention = 45 days
}
# Determines the hour of day in which log files are removed
timer.daily.logs-cleanup = 3
# Sets up the caching system
cache {
# Default settings applied to each cache if not further specified
default {
# Determines the maximal number of entries in the cache
maxSize = 128
# Determines the maximal time to live for a cached object. After this period, the entry will be evicted.
ttl = 1 hour
# If the cache can verify values, this determines the interval after which a value needs to be verified
# before it is served to the requestor.
verification = 1 hour
}
# XPATH expressions are cached (per thread) so that intense XML parsing is faster
xpath {
maxSize = 512
ttl = 30 minutes
}
}
# Sets of the async execution system
async {
executor {
# Default settings applied to each executor if not further specified
default {
# Max number of parallel threads used by this executor
poolSize = 20
# Max number of tasks queued if all threads are busy. If the queue length is reached, the executor will
# either block the caller and execute tasks at the callsite or it will drop the task and not do anything
# at all (if a drop handler for this task is present). If a value of 0 is specified an unbounded
# queue is used. If a negative value is used, no items will be queued.
queueLength = 200
}
# Used by BackgroundLoop(s) as default executor to perform system maintenance tasks
background {
poolSize = 32
queueLength = 0
}
# The Timers class starts all timer related tasks in this executor. Since one might task some time to
# initialize we use two threads. We also provide a bit of a queue as the Timers class shovels all
# tasks into the executor at once, so there might be a short contention.
timer {
poolSize = 2
queueLength = 50
}
}
}
# Configures the system health monitoring
health {
# Determines settings for the MemoryBasedHealthMonitor, which provides logs and error reporting
# if no other LogTap or ExceptionHandler is installed. This is also used to report how many
# logs / min and exceptions / min occur.
memory {
# Max number of exceptions to keep in ram
max-errors = 100
# Max number of logs to keep in ram
max-logs = 100
}
# Defines limits for all collected metrics which will cause the system state to be set appropriately
# Note that 0 means "no limit". Also all given limits are best guesses and depend heavily on the application
# and the machine the software is running on. The given values are always "per minute" or in percents.
# .gray always defines a limit where everything below is considered "uninteresting" (GRAY). Everything above
# .warn and below .warning is "ok" (GREEN). Everything above .warning and below .error is "warning" (YELLOW) and
# indicates that a metric is in a critical region. Everything above .red is "error" (RED) and signals a failure
# condition. Using "0" for any value disable the respective limit.
limits {
# Number of log lines written per minute
sys-logs.gray = 10
sys-logs.warning = 100
sys-logs.error = 250
# Number of incidents
sys-incidents.gray = 1
sys-incidents.warning = 1000
sys-incidents.error = 0
# Number of unique incidents (from different locations)
sys-unique-incidents.gray = 1
sys-unique-incidents.warning = 10
sys-unique-incidents.error = 25
# Size of all log files in mb
sys-log-size.gray = 32
sys-log-size.warning = 128
sys-log-size.error = 0
# Filesystem usage in %
sys-fs.gray = 80
sys-fs.warning = 80
sys-fs.error = 95
# CPU utilization caused by the JVM in %
jvm-cpu.gray = 10
jvm-cpu.warning = 80
jvm-cpu.error = 0
# Heap usage in %
jvm-heap.gray = 50
jvm-heap.warning = 75
jvm-heap.error = 0
# Old gen usage in %
jvm-old-heap.gray = 50
jvm-old-heap.warning = 75
jvm-old-heap.error = 0
# Number of garbage collections performed
jvm-gc.gray = 25
jvm-gc.warning = 100
jvm-gc.error = 0
# Number of tasks / events processed by the system
sys-interactions.gray = 250
sys-interactions.warning = 0
sys-interactions.error = 0
# Number of tasks / events processed by the system
sys-interactions.gray = 250
sys-interactions.warning = 0
sys-interactions.error = 0
# Number of active operations
active-operations.gray = 0
# Number of (probably) hanging operations
hanging-operations.gray = 0
hanging-operations.warning = 1
hanging-operations.error = 2
# Number of tasks being put into the delay line
delay-line-tasks.gray = 10
delay-line-tasks.warning = 0
delay-line-tasks.error = 0
# Number of tasks currently in the delay line
delay-line-length.gray = 0
delay-line-length.warning = 100
delay-line-length.error = 0
}
}
# Contains settings which determines which docker-compose file to start
docker {
# Contains the name of the docker-compose file to use...
file = ""
file = ${?SIRIUS_DOCKER_FILE}
# Determines if docker-compose pull should be executed for each start...
pull = false
# Contains the number of retries when talking to docker-compose
retryAttempts = 2
# Contains the project name to use (empty = random name)
project = ""
project = ${?SIRIUS_DOCKER_PROJECT}
# Can be used to supply a custom host IP. This might be useful
# when the environment is composed within a container (e.g. on a build system).
#
hostIp = ""
hostIp = ${?SIRIUS_DOCKER_HOST}
}