Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
381 lines (337 sloc) 15.5 KB
## In order to use a custom Kieker.Monitoring configuration, create a copy of
## this file and modify it according to your needs.
##
## The location of the file is passed to Kieker.Monitoring via the JVM parameter
## kieker.monitoring.configuration. For example, with a configuration file named
## my.kieker.monitoring.properties in the folder META-INF you would pass this location
## to the JVM when starting your application:
##
## java -Dkieker.monitoring.configuration=META-INF/my.kieker.monitoring.properties [...]
##
## If no configuration file is passed, Kieker tries to use a configuration file in
## META-INF/kieker.monitoring.properties
## If this also fails, a default configuration is being used according to the values in
## this default file.
## The name of the Kieker instance.
kieker.monitoring.name=KIEKER
## Whether a debug mode is activated.
## This changes a few internal id generation mechanisms to enable
## easier debugging. Additionally, it is possible to enable debug
## logging in the settings of the used logger.
## This setting should usually not be set to true.
kieker.monitoring.debug=false
## Enable/disable monitoring after startup (true|false; default: true)
## If monitoring is disabled, the MonitoringController simply pauses.
## Furthermore, probes should stop collecting new data and monitoring
## writers stop should stop writing existing data.
kieker.monitoring.enabled=true
## The name of the VM running Kieker. If empty the name will be determined
## automatically, else it will be set to the given value.
kieker.monitoring.hostname=
## The initial ID associated with all experiments. (currently not used)
kieker.monitoring.initialExperimentId=1
## Automatically add a metadata record to the monitoring log when writing
## the first monitoring record. The metadata record contains infromation
## on the configuration of the monitoring controller.
kieker.monitoring.metadata=true
## Enables/disable the automatic assignment of each record's logging timestamp.
## (true|false; default: true)
kieker.monitoring.setLoggingTimestamp=true
## Whether a shutdown hook should be registered.
## This ensures that necessary cleanup steps are finished and no
## information is lost due to asynchronous writers.
## This should usually not be set to false.
kieker.monitoring.useShutdownHook=true
## Whether any JMX functionality is available
kieker.monitoring.jmx=false
kieker.monitoring.jmx.domain=kieker.monitoring
## Enable/Disable the MonitoringController MBean
kieker.monitoring.jmx.MonitoringController=true
kieker.monitoring.jmx.MonitoringController.name=MonitoringController
## Controls JMX remote access
kieker.monitoring.jmx.remote=false
kieker.monitoring.jmx.remote.port=59999
kieker.monitoring.jmx.remote.name=JMXServer
## If the SUN-JMX Bootstrap class is not available, a fallback to the
## default implementation can be used. The fallback solution prevents
## the VM from terminating.
## A graceful shutdown is done by connecting to the JMXServer, there to
## kieker.monitoring.JMXServer and using the operation stop()
kieker.monitoring.jmx.remote.fallback=true
## These properties will be forwarded to configure the JMX server
com.sun.management.jmxremote.local.only=false
com.sun.management.jmxremote.authenticate=false
com.sun.management.jmxremote.ssl=false
## The size of the thread pool used to execute registered periodic sensor jobs.
## The thread pool is also used to periodically read the config file for adaptive
## monitoring.
## Set to 0 to deactivate scheduling.
kieker.monitoring.periodicSensorsExecutorPoolSize=1
## Enable or disable adaptive monitoring.
kieker.monitoring.adaptiveMonitoring.enabled=false
#
## Default location of the adaptive monitoring configuration File
kieker.monitoring.adaptiveMonitoring.configFile=META-INF/kieker.monitoring.adaptiveMonitoring.conf
#
## Enable/disable the updating of the pattern file by activating or deactivating
## probes through the api.
kieker.monitoring.adaptiveMonitoring.updateConfigFile=false
#
## The delay in seconds in which the pattern file is checked for changes.
## Requires kieker.monitoring.periodicSensorsExecutorPoolSize > 0.
## Set to 0 to disable the observation.
kieker.monitoring.adaptiveMonitoring.readInterval=30
#
## The maximal size of the signature cache. This is a weak limit, as the cache can exceed this size
## slightly in practical application.
## Set to -1 for an unbounded cache.
kieker.monitoring.adaptiveMonitoring.maxCacheSize=-1
#
## The behaviour of the signature cache, if the maximal size is bounded.
## 0: The cache ignores entries once the maximal size is reached.
## 1: The cache removes a (semi)random entry from the cache once the maximal size is exceeded.
## 2: The cache is completely cleared once the maximal size is reached.
kieker.monitoring.adaptiveMonitoring.boundedCacheBehaviour=0
###########################
####### TIMER #######
###########################
## Selection of the timer used by Kieker (classname)
## The value must be a fully-qualified classname of a class implementing
## kieker.monitoring.timer.ITimeSource and providing a constructor that
## accepts a single Configuration.
kieker.monitoring.timer=kieker.monitoring.timer.SystemNanoTimer
####
#kieker.monitoring.timer=kieker.monitoring.timer.SystemMilliTimer
#
## A timer with millisecond precision.
#
## The offset of the timer. The time returned is since 1970-1-1
## minus this offset. If the offset is empty it is set to the current
## time.
## The offset must be specified in milliseconds.
kieker.monitoring.timer.SystemMilliTimer.offset=0
## The timeunit used to report the timestamp.
## Accepted values:
## 0 - nanoseconds
## 1 - microseconds
## 2 - milliseconds
## 3 - seconds
kieker.monitoring.timer.SystemMilliTimer.unit=0
####
#kieker.monitoring.timer=kieker.monitoring.timer.SystemNanoTimer
#
## A timer with nanosecond precision.
#
## The offset of the timer. The time returned is since 1970-1-1
## minus this offset. If the offset is empty it is set to the current
## time.
## The offset must be specified in milliseconds.
kieker.monitoring.timer.SystemNanoTimer.offset=0
## The timeunit used to report the timestamp.
## Accepted values:
## 0 - nanoseconds
## 1 - microseconds
## 2 - milliseconds
## 3 - seconds
kieker.monitoring.timer.SystemNanoTimer.unit=0
###########################
####### WRITER #######
###########################
## Selection of monitoring data writer (classname)
## The value must be a fully-qualified classname of a class implementing
## kieker.monitoring.writer.IMonitoringWriter and providing a constructor that
## accepts a single Configuration.
kieker.monitoring.writer=kieker.monitoring.writer.filesystem.FileWriter
#####
#kieker.monitoring.writer=kieker.monitoring.writer.dump.DumpWriter
#
#####
#kieker.monitoring.writer=kieker.monitoring.writer.PrintStreamWriter
#
## The PrintStream used to print the monitoring records.
## Either STDOUT or STDERR.
## Other values are used as a filenames for a target log file.
## You should use another writer instead of this writer for logging to files!
kieker.monitoring.writer.PrintStreamWriter.Stream=STDOUT
#####
#kieker.monitoring.writer=kieker.monitoring.writer.namedRecordPipe.PipeWriter
#
## The name of the pipe used (must not be empty).
kieker.monitoring.writer.namedRecordPipe.PipeWriter.pipeName=kieker-pipe
#####
#kieker.monitoring.writer=kieker.monitoring.writer.jms.JmsWriter
#
## The url of the jndi provider that knows the jms service
## - ActiveMQ: tcp://127.0.0.1:61616/
## - HornetQ: jnp://localhost:1099/
## - OpenJMS: tcp://127.0.0.1:3035/
kieker.monitoring.writer.jms.JmsWriter.ProviderUrl=tcp://127.0.0.1:61616/
#
## The topic at the jms server which is used in the publisher/subscribe communication.
kieker.monitoring.writer.jms.JmsWriter.Topic=queue1
#
## The type of the jms factory implementation, e.g.
## - ActiveMQ: org.apache.activemq.jndi.ActiveMQInitialContextFactory
## - HornetQ: org.jnp.interfaces.NamingContextFactory
## - OpenJMS: org.exolab.jms.jndi.InitialContextFactory
kieker.monitoring.writer.jms.JmsWriter.ContextFactoryType=org.apache.activemq.jndi.ActiveMQInitialContextFactory
#
## The service name for the jms connection factory.
kieker.monitoring.writer.jms.JmsWriter.FactoryLookupName=ConnectionFactory
#
## The time that a jms message will be kept alive at the jms server before
## it is automatically deleted.
kieker.monitoring.writer.jms.JmsWriter.MessageTimeToLive=10000
## The username needed for authentication
## Leave empty for no credentials
kieker.monitoring.writer.jms.JmsWriter.Username=
## The password needed for authentication
## Leave empty for no credentials
kieker.monitoring.writer.jms.JmsWriter.Password=
#####
#kieker.monitoring.writer=kieker.monitoring.writer.jmx.JmxWriter
#
## The domain used to register the MonitoringLog. If empty, the value
## of "kieker.monitoring.jmx.domain" will be used.
kieker.monitoring.writer.jmx.JmxWriter.domain=
#
## The name of the MonitoringLog in the domain.
kieker.monitoring.writer.jmx.JmxWriter.logname=MonitoringLog
#####
#kieker.monitoring.writer=kieker.monitoring.writer.tcp.TCPWriter
#
## The hostname the TCPWriter connects to.
kieker.monitoring.writer.tcp.TCPWriter.hostname=localhost
#
## The ports the TCPWriter connects to.
kieker.monitoring.writer.tcp.TCPWriter.port1=10133
kieker.monitoring.writer.tcp.TCPWriter.port2=10134
#
## The size of the buffer used by the TCPWriter in bytes.
## Should be large enough to fit at least one single monitoring record (> 1KiB).
kieker.monitoring.writer.tcp.TCPWriter.bufferSize=65535
#
## The size of the string registry buffer used by the TCPWriter in bytes.
## Should be large enough to fit at least one single string registry record (>= 1KiB).
kieker.monitoring.writer.tcp.TCPWriter.stringRegistryBufferSize=1024
#
## Should each record be immediately sent?
kieker.monitoring.writer.tcp.TCPWriter.flush=false
#####
#kieker.monitoring.writer=kieker.monitoring.writer.tcp.DualSocketTcpWriter
#
## The hostname the DualSocketTcpWriter connects to.
kieker.monitoring.writer.tcp.DualSocketTcpWriter.hostname=localhost
#
## The ports the DualSocketTcpWriter connects to.
kieker.monitoring.writer.tcp.DualSocketTcpWriter.port1=10133
kieker.monitoring.writer.tcp.DualSocketTcpWriter.port2=10134
#
## The size of the buffer used by the DualSocketTcpWriter in bytes.
## Should be large enough to fit at least single string records (> 1KiB).
kieker.monitoring.writer.tcp.DualSocketTcpWriter.bufferSize=65535
#
## Should each record be immediately sent?
kieker.monitoring.writer.tcp.DualSocketTcpWriter.flush=false
#####
#kieker.monitoring.writer=kieker.monitoring.writer.tcp.SingleSocketTcpWriter
#
## The hostname the SingleSocketTcpWriter connects to.
kieker.monitoring.writer.tcp.SingleSocketTcpWriter.hostname=localhost
#
## The ports the SingleSocketTcpWriter connects to.
kieker.monitoring.writer.tcp.SingleSocketTcpWriter.port=10133
#
## The size of the buffer used by the SingleSocketTcpWriter in bytes.
## Should be large enough to fit at least single string records (> 1KiB).
kieker.monitoring.writer.tcp.SingleSocketTcpWriter.bufferSize=65535
#
## Should each record be immediately sent?
kieker.monitoring.writer.tcp.SingleSocketTcpWriter.flush=false
#####
#kieker.monitoring.writer=kieker.monitoring.writer.explorviz.ExplorVizTcpWriter
#
## The hostname the ExplorVizExportWriter connects to.
kieker.monitoring.writer.explorviz.ExplorVizTcpWriter.hostname=localhost
#
## The ports the TCPWriter connects to.
kieker.monitoring.writer.explorviz.ExplorVizTcpWriter.port=10133
#
## The size of the buffer used by the TCPWriter in bytes.
## Should be large enough to fit at least single string records (> 1KiB).
kieker.monitoring.writer.explorviz.ExplorVizTcpWriter.bufferSize=65535
#
## Should each record be immediately sent?
kieker.monitoring.writer.explorviz.ExplorVizTcpWriter.flush=false
#
## The internal synchronized queue implementation to use.
## It must provide a constructor with a single int parameter which represents the queue's (initial) capacity.
## org.jctools.queues.MpscArrayQueue
## java.util.concurrent.LinkedBlockingQueue
## java.util.concurrent.ArrayBlockingQueue
kieker.monitoring.core.controller.WriterController.RecordQueueFQN=org.jctools.queues.MpscArrayQueue
#
## This parameter defines the synchronized queue's (initial) capacity in terms of the number of records.
## Note that the actual capacity can be increased depending on the used queue implementation.
kieker.monitoring.core.controller.WriterController.RecordQueueSize=10000
#
## 0: terminate Monitoring with an error (default)
## 1: writer blocks until queue capacity is available
## 2: writer discards new records until space is available
## Be careful when using the value '1' since then, the asynchronous writer
## is no longer decoupled from the monitored application.
kieker.monitoring.core.controller.WriterController.RecordQueueInsertBehavior=1
#####
#kieker.monitoring.writer=kieker.monitoring.writer.FileWriter
#
## In order to use a custom directory, set customStoragePath as desired.
## Examples: /var/kieker or C:\\KiekerData (ensure the folder exists).
## Otherwise the default temporary directory will be used.
kieker.monitoring.writer.filesystem.FileWriter.customStoragePath=
#
## Charset to use for text serialization (default UTF-8)
kieker.monitoring.writer.filesystem.FileWriter.charsetName=UTF-8
#
## The maximal number of entries (records) per created file.
## Must be greater than zero.
kieker.monitoring.writer.filesystem.FileWriter.maxEntriesInFile=25000
#
## The maximal file size of the generated monitoring log. Older files will be
## deleted if this file size is exceeded. Given in MiB.
## At least one file will always remain, regardless of size!
## Use -1 to ignore this functionality.
kieker.monitoring.writer.filesystem.FileWriter.maxLogSize=-1
#
## The maximal number of log files generated. Older files will be
## deleted if this number is exceeded.
## At least one file will always remain, regardless of size!
## Use -1 to ignore this functionality.
kieker.monitoring.writer.filesystem.FileWriter.maxLogFiles=-1
#
## Handler for the map file, default TextMapFileHandler
kieker.monitoring.writer.filesystem.FileWriter.mapFileHandler=kieker.monitoring.writer.filesystem.TextMapFileHandler
#
## When flushing is disabled, it could require a lot of records before
## finally any writing to the map file is done.
kieker.monitoring.writer.filesystem.TextMapFileHandler.flush=true
#
## Set compression for TextMapFileHandler (compression not supported yet)
kieker.monitoring.writer.filesystem.TextMapFileHandler.compression=kieker.monitoring.writer.filesystem.compression.NoneCompressionFilter
#
## Log stream handler, default RotatingLogFilePoolHandler
kieker.monitoring.writer.filesystem.FileWriter.logFilePoolHandler=kieker.monitoring.writer.filesystem.RotatingLogFilePoolHandler
#
## Log stream handler, default TextLogStreamHandler (text serialization)
kieker.monitoring.writer.filesystem.FileWriter.logStreamHandler=kieker.monitoring.writer.filesystem.TextLogStreamHandler
# kieker.monitoring.writer.filesystem.FileWriter.logStreamHandler=kieker.monitoring.writer.filesystem.BinaryLogStreamHandler
#
## When flushing is disabled, it could require a lot of records before
## finally any writing to the log file(s) is done.
kieker.monitoring.writer.filesystem.FileWriter.flush=false
#
## When flushing is disabled, records are buffered in memory before written.
## This setting configures the size of the used buffer in bytes.
kieker.monitoring.writer.filesystem.BinaryFileWriter.bufferSize=8192
#
## When compression is enabled, each log file is written as zipped binary file.
kieker.monitoring.writer.filesystem.BinaryFileWriter.compression=kieker.monitoring.writer.filesystem.compression.NoneCompressionFilter