The ops logger

Added v2.0.3 The TM1 server uses monitoring code to generate log messages of a critical nature that are pushed out to the ops.logger.

Critical events that are pushed out to this logger include the following:

  • Threads and their state
  • Thread state of interest
  • High contention
  • Pool memory size
  • Chore failure

Event logging is enabled by using the EventLogging configuration parameter in the tm1s.cfg file. When event logging is enabled but there is no event logger defined, the TM1 server modifies the tm1s-logs.properties file to add the definitions of the event logger.

The following properties are added to the tm1s-log.properties file:

log4j.logger.Event=INFO, S2
log4j.appender.S2=org.apache.log4j.SharedMemoryAppender
log4j.appender.S2.MemorySize=5 MB
log4j.appender.S2.MaxFileSize=100 MB
log4j.appender.S2.MaxBackupIndex=1
log4j.appender.S2.TimeZone=Local
log4j.appender.S2.File=tm1event.log
log4j.appender.S2.Format=TM1Event

And the following settings are added to the tm1s.cfg file:

EventLogging=T
EventScanFrequency=1
EventThreshold.PooledMemoryInMB=0
EventThreshold.ThreadBlockingNumber=5
EventThreshold.ThreadRunningTime=600
EventThreshold.ThreadWaitingTime=20

These settings are defined as follows:

EventScanFrequency
Specifies the period to check the collection of threads, where 1 is the minimum number and 0 disables the scan.
EventThreshold.PooledMemoryInMB
Specifies the threshold for which a message is printed for the event that the server's pooled memory exceeds a certain value.
EventThreshold.ThreadBlockingNumber=5
Indicates that a warning is printed when a thread blocks at least five other threads.
EventThreshold.ThreadRunningTime=600
Indicates that a warning is printed when a thread has been running for 600 seconds.
EventThreshold.ThreadWaitingTime=20
Indicates that a warning is printed when a thread is blocked by another thread for 20 seconds.

For more information, see Parameters in the tm1s.cfg File.

If EventLogging=F, the TM1 server does not modify the tm1s-logs.properties file.

Note: Warnings aren't printed for the same event unless the thread in the event changed its state.

Because the ops.logger relies on enabling a new log file, a default tm1s-logs.properties file is created if one doesn't exist. If a tm1s-logs.properties file exists, then the new entry is appended and the old one backed up as a copy.

Note: The default file size is 100 MB. The file is overwritten with new data when the limit is reached.