The TM1 Top log

Added v2.0.7 TM1® Server dynamically monitors the threads that are running and outputs thread status to the tm1top.log file by using the Top logger. You can also log information about the sandboxes and job queue for a specific database.

You can use the Top logger in IBM® Planning Analytics on cloud and IBM Planning Analytics Local. You can download the logs from IBM Planning Analytics Administration. For more information, see Download database log files.

Note: The content of the tm1top.log file is the same as the TM1Top logs. The TM1Top utility is scheduled for deprecation on Planning Analytics Local.

Configure tm1s.cfg parameters

The Top logger is Off by default. To enable logging, you must add TopLogging=T to the tm1s.cfg file before you start your TM1 Server.

Note: This parameter cannot be configured in Planning Analytics Administration.

The following settings can be configured in the tm1s.cfg file:

TopLogging
Enables dynamic logging of the threads running in an instance of the TM1 Server. The Top logger can also display information about the sandboxes and job queue for a specific database.
Boolean, dynamic
Default=FALSE
TopScanFrequency
The logging frequency (interval) in seconds. The smaller the period, the faster the size of the log file increases. Management of the TM1 database thread log file is the same as the management of the TM1 database message log. The amount of concurrent activity in the TM1 model also determines the rate the TM1 database thread log file increase in file size.
Integer, dynamic
Default is 5 seconds
0 disables the Top logger.
TopScanMode.Threads
Enables logging of the current processing state of each thread. This information includes the name of the user or process that started the thread, the API function that the thread is executing, the lock status of the last object that was locked, the number of objects that are used by the thread, and the total time, in seconds, that the current API function or chore process has been processing.
Default = T
TopScanMode.Sandboxes
Enables logging of the active sandboxes for the current server, the total memory that is consumed for all sandboxes by a user, and the number of sandboxes for this user.
Default = F
TopScanMode.SandboxQueueMetrics
Enables logging of sandbox queue metrics. The name of the node for the sandbox, the status of the sandbox in the queue, and the length of time the sandbox was in the queue before it was processed is logged for each sandbox in the queue.
Default = F

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

If TM1 Server starts with TopLogging turned on, the server adds the Top logger configuration to the tm1s-log.properties file if the configuration is not already there. The log level is INFO. The special log format is controlled by the format parameter of the definition, which must be set to TM1Top.

The following configuration information is added:

log4j.logger.Top=INFO, S_Top
log4j.appender.S_Top=org.apache.log4j.SharedMemoryAppender
log4j.appender.S_Top.MemorySize=5 MB
log4j.appender.S_Top.MaxFileSize=100 MB
log4j.appender.S_Top.MaxBackupIndex=20
log4j.appender.S_Top.File=tm1top.log
log4j.appender.S_Top.Format=TM1Top

After the Top logger is enabled and the configuration settings are added to the tm1s-log.properties, you can disable or enable the Top logger without restarting the TM1 Server.

TM1 REST API support

The Top logger and its settings can be read and modified by using the TMI REST API:

GET /api/v1/ActiveConfiguration/Administration/TopLog
PATCH /api/v1/StaticConfiguration/Administration/TopLog
{
    "ScanFrequency": "P0DT00H00M02S"
}
GET /api/v1/Loggers('Top')
PATCH /api/v1/Loggers('Top')
{
    "Level": "Off"
}

For more information, see TopLogSettings and TopScanMode.

Log example


=====  2019-01-09 22:20:54 GMT      2019-01-09 17:20:54 local  ===== Server:Planning Sample ===========
10744  Th:Pseudo          -              Idle        -              -              -              -   0
22584  Th:DynamicConfig   -              Idle        -              -              -              -   0
676    Admin               :1            Idle        -              -              -              -   0
4920   Sa         Architect              Idle        -              -              -              -   0
=====  2019-01-09 22:20:56 GMT      2019-01-09 17:20:56 local  ===== Server:Planning Sample ===========
8120   C:SleepEvery10s      -            Run:R    -              Process SyncSleep_10    Prolog (6)   0
10744  Th:Pseudo          -              Idle        -              -              -              -   0
22584  Th:DynamicConfig     -            Idle        -              -              -              -   0
676    Admin    :1     Run:R  -  POST   /api/v1/Cubes('plan_BudgetPlan')/Views('def')/tm1.Execute  -  1
22620  > Work unit for 676       -                            -             -            -       -    0
3284   > Work unit for 676       -                            -             -             -      -    0
22376  > Work unit for 676       -                            -             -             -      -    0
17568  > Work unit for 676       -                            -             -             -      -    0
2940   > Work unit for 676       -                            -             -             -      -    0
128    > Work unit for 676       -                            -             -             -      -    0
20552  > Work unit for 676       -                            -             -             -      -    0
4920     Sa           Architect         Idle        -          -             -             -          0