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

Query your database with the interactive SQL console. Export the results in a variety of formats.

Figure: Example Interactive SQL Query and Results

iSQL: Test Performance

To test the performance of your database you can use the Test Performance button, you can also modify the Number of runs the test makes.

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 module.

Figure: Change Logging Configuration

Usage:

To change some classes/packages log4j settings, paste in the new log settings in the "logging changes" box, using the same syntax as found in the installdir/tomcat/common/classes/log4j.properties file. Do not modify the log4j.properties file: change logging levels only through this System Admin interface.

For example the:

log4j.logger.com.intland.codebeamer.controller.admin.LoggingConfiguratorController=INFO

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 log4j.properties 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:

Rollover archives the log files, and create 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 90 days by default.

Configuring Groove Script Logging

Codebeamer uses Apache Log4j for logging. Groovy scripts by default have no logging at all. Your script must have an active logger setup and write INFO/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':


log4j.logger.com.intland.codebeamer.event.impl.CustomScriptExecutor=DEBUG


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:
log4j.logger.com.intland.codebeamer.event.impl.CustomScriptExecutor=INFO

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

From codeBeamer-9.3, a Monitor application is available with codeBeamer.

Warning emails about low disk space situation

CodeBeamer has a built in functionality that periodically checks the free disk space where codeBeamer instance is running, and if the disk space goes "low" then it sends an email to system administrators.

The goal here is to avoid running out of disk space because that can cause serious problems and data loss.

Low disk periodic check works as:

  • It checks if the disk space is below to 10Gigabytes or below 5% of total disk space of the disk where codeBeamer is installed.
  • If the low-disk situation happens then the System-Administrators will receive an warning email about this. The email looks like:
  • This warnign email is sent once per day to avoid spamming the System administrators.

This feature is configurable in the general.xml this way:

<interactive> ...
    <warnLowDiskSpace enabled="true" minFreeDisk="10240" minPercentage="5" emailTo="" emailFrequency="84600" />
</interactive>

It is configurable in the Application Config this way:

"interactive" : {
    "warnLowDiskSpace" : {
        "emailTo" : "administrator@example.com",
        "enabled" : true,
        "minFreeDisk" : 90000,
        "minPercentage" : 50,
        "emailFrequency" :
    }
},
"diskSpaceVolumes" : {
    "name" : "linux",
    "path" : "/dev/nvme0n1p6",
    "threshold" : 90000
},

The attributes of the warnLowDiskSpace section is:

name meaning default value
enabled If the email sending is enabled? true
minFreeDisk the minimum free disk in MB when warning starts 10240 (=10 Gigabytes)
minPercentage the minimum percentage of the disk space 5
emailTo ; separated email addresses to send email to. If empty then sysadmins will be notified 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 is:


name meaning default value
name this will be 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"
  } ],