You are not logged in. Click here to log in.

codebeamer Application Lifecycle Management (ALM)

Search In Project

Search inClear

Tags:  not added yet

Monitoring, Logging & Profiling

iSQL: Built-in Interactive SQL Console

The interactive SQL console enables users to query the database, besides exporting the results in a variety of formats. The iSQL console is available by default, however System Administrators can limit the console's accessiblity by configuring the appropriate envirionment variable. For more information, see: Application configuration via environment variables.

Figure: Example Interactive SQL Query and Results

iSQL: Test Performance

To test the performance of your database you can use the [Test Performance] button, the Number of runs the test makes can be modified.

Figure: Example Test Performance and Results

Configuring System Logging

Codebeamer uses Apache Log4j for logging. While the default logging levels are carefully selected, sometimes the defaults do not provide enough information for tracking down a more complex problem in CodeBeamer.

Codebeamer administrators can now change these log4j settings without restarting their codebeamer server. This is done by the Change Logging Configuration page accessible from the System Admin menu.

Figure: Change Logging Configuration


To change some classes/packages log4j settings, paste the new log settings in the Logging changes textbox, using the same syntax as found in the installdir/tomcat/common/classes/ file. Do not modify the file, instead change logging levels only through this System Admin ► Change Logging Configuration menu.

For example the:

This configuration parameter will change the LoggingConfigurationController's logger to INFO level.

Multiple log4j settings can be changed at once; just put them in multiple lines similar to the file.

Important notes:
  • Be careful when changing log levels, since very verbose logging may severely degrade the server performance.
  • The changes are not reverted automatically & the administrator has to change the log levels back to their defaults.
  • These changes made on these pages are not persistent and they will be lost when the server is restarted.


Rollover archives the log files, and creates new ones to continue logging, see more here. Rollover happens based on the log4j configuration, by default every day - effectively separating the logs of different days. These archive files are kept based on the CB_LOGFILE_TTL environment variable, or for 90 days by default.

Configuring Groove Script Logging

Codebeamer uses Apache Log4j for logging. Groovy scripts by default have no logging at all. Users' script must have an active logger setup and write INFO, or DEBUG messages to it. You have to know the Logger ID (for Java class, this is typically the canonical class name), for scripts this can be anything.

Once you enabled logging in your custom Groovy Script either with INFO or DEBUG level, the log messages will appear in the cb.txt logfile, for example:

2020-05-07 06:24.21,021 INFO event.impl.CustomScriptExecutor - responsible user found BOUJMIG [WorkflowActionManager-79] [2424] {}
2020-05-07 06:24.21,022 INFO event.impl.CustomScriptExecutor - end of of custom action <starc_cust_act_map_System_resp.groovy> [WorkflowActionManager-79] [2424] {}

Now, enable Custom Script DEBUG Logging on codebeamer side as well. Go to System Admin ► Logging Configuration page and add the following to the Logging Configuration:

Reproduce the issue and capture the necessary logs. Once all done don't forget to reset Custom Script Logging level back to INFO by entering:

Monitoring Server Resources: Memory Usage, Thread Count and Database Connections

From codeBeamer 9.3, a You must login to see this link. Register now, if you have no user account yet. application is available for monitoring codebeamer server resources.

Warning emails about low available disk space

Codebeamer has a built in functionality that periodically checks the free disk space where the codebeamer instance is running, and if the disk space goes "low" then it sends an email to System Administrators.

The goal is to avoid running out of disk space, due that it can cause serious problems and data loss.

Low disk periodic check works as follows:

  • It checks if the disk space is below 10 Gigabytes or below 5% of total disk space of the disk where codebeamer is installed.
  • If either of the above happens, System Administrators will receive a warning email, with the following content::
  • This warning email is sent once per day to avoid spamming the System Administrators.
The feature is configurable in the System Admin ► Application Configuration menu, by adding the following:
"interactive" : {
    "warnLowDiskSpace" : {
        "emailTo" : "",
        "enabled" : true,
        "minFreeDisk" : 90000,
        "minPercentage" : 50,
        "emailFrequency" :
"diskSpaceVolumes" : {
    "name" : "linux",
    "path" : "/dev/nvme0n1p6",
    "threshold" : 90000

The attributes of the warnLowDiskSpace section are:

name meaning default value
enabled If the email sending is enabled? true
minFreeDisk Minimum free disk in MB when warning starts. 10240 (=10 Gigabytes)
minPercentage Minimum percentage of the disk space. 5
emailTo ; separated list of email addresses to send warning email to. If empty then System Administrators will be notified by default. empty: means that System Administrators will get emails
emailFrequency How often the email is sent in seconds. 86400 (=1 day), minimum is 3600 (= 1hour)

diskSpaceVolumes (CB 10.0)

Multiple disk volumes can be monitored with this property. It has to be used with warnLowDiskSpace together.

The attributes of the diskSpaceVolumes section are:

name meaning default value
name The disk's name in the warning email. Mandatory, has no default value
path Path of disk to be monitored. Mandatory, has no default value
threshold Minimum free space in MB that triggers the warning email. Default: 10240 MB
Example for Windows:

"diskSpaceVolumes" : [ {
    "name" : "diskC",
    "path" : "C:\\",
    "threshold" : 10240
  }, {
    "name" : "diskE",
    "path" : "E:\\",
    "threshold" : 20480
  }, {
    "name" : "diskF",
    "path" : "F:\\"
  } ],
Example for Linux:
"diskSpaceVolumes" : [ {
    "name" : "disk1",
    "path" : "/dev/sda1",
    "threshold" : 10240
  }, {
    "name" : "disk2",
    "path" : "/dev/sda2",
    "threshold" : 20480
  }, {
    "name" : "disk3",
    "path" : "/dev/sda3"
  } ],