Dashboard > Pulse v2.0 > ... > Setup and Administration > System Properties
  Pulse v2.0 Log In | Sign Up   View a printable version of the current page.  
  System Properties
Added by Jason Sankey, last edited by Jason Sankey on Nov 19, 2008  (view change)
Labels: 
(None)

Pulse Manual Index

Overview

System properties are Java virtual machine level options that allow you to configure advanced pulse™ variables. They serve a similar purpose to environment variables at the operating system level.

Setting System Properties

There are multiple ways to set system properties, depending on how you launch pulse™ and whether you want the properties to persist.

system.properties

The easiest way to set a property that will persist for all invocations of pulse™ is to use the file:

$PULSE_DATA/config/system.properties

where $PULSE_DATA is the location of the data directory. You may need to create the file if it does not exist. The file uses the standard Java property file format, with properties specified as <key>=<value> pairs, one per line. Special characters such as backslashes must be escaped with a backslash.

This file is loaded at startup time. If you make an edit to the file while pulse™ is running, it will not take effect until you restart pulse™.

JAVA_OPTS

If you run pulse™ using the pulse start command (see Server Commands), you can specify JVM options using the environment variable JAVA_OPTS. By default, this variable has the following value:

JAVA_OPTS=-Xmx512m

This value configures the JVM to allow pulse™ to use up to 512MB of memory. You can add system properties to this value in the form -D<key>=<value>, for example:

JAVA_OPTS=-Xmx512m -Dmy-system-property=property-value

Properties set in this way only last for the invocation of pulse™. To use the properties for all invocations, you can set the environment variable at the system level, for example in the pulse user's profile.

wrapper.conf

If you are running pulse™ as a service, you can specify JVM parameters using the file:

$PULSE_HOME/bin/wrapper.conf

Properties are specified using the wrapper.java.additional.<n> options, for example:

wrapper.java.additional.4=-Dmy-system-property=property-value

Note that properties set in this way will be used for all invocations of pulse™ as a service. However, they will not persist across upgrades.

Available Properties

Note that some server properties are only configured on the master (although they may or may not affect the agents). Properties that need to be set individually on each agent are indicated in the "Configured On" column below. There are also properties that are only configured on a developer tools installation.

Property Description Configured On Default Example
pulse.agent.log.timeouts If set to true, timeouts when pinging agents will be recorded in the system logs. master only false true
pulse.agent.offline.timeout Minimum amount of time, in seconds, that must pass without a successful ping before pulse™ will fail a stage because the connection to the agent appears to have been lost. master only 4 * pulse.agent.ping.interval 300
pulse.agent.ping.interval The minimum time, in seconds, between rounds of agent pings. The actually time between the start of two rounds may be longer. master only 60 180
pulse.agent.ping.timeout The maximum time, in seconds, that the master will wait for a reply to a ping to an agent. If the agent does not reply in this time period, then it is deemed to be offline. master only 45 30
pulse.archive.command The external command to run to create zip archives if external archiving is turned on. See CB - Using External Archive Tools for details. master and agents zip -qry ${zipfile} ${files} myzip -o ${zipfile} ${files}
pulse.echo.passwords If set to any value, pulse™ will echo passwords when they are entered via the command line. Typically only used for debugging. tools only   true
pulse.enable.request.logging If set to true, pulse™ will log web UI requests in NCSA format to files in the $PULSE_HOME/logs directory. Note that these logs can be large if there are many users (see also pulse.extended.request.logging and pulse.request.logging.retain.days). master only false true
pulse.extended.request.logging If true and request logging is enabled, requests will be logged in extended NCSA format. master only false true
pulse.feature.limit If non-zero, limits the number of each type (error, warning, etc) of message that will appear in result notification messages (e.g. emails). master only 100 0 (to disable)
pulse.hessian.read.timeout If non-zero, the number of seconds after which to timeout idle connections between master and agents. master and agents 60 0 (to disable)
pulse.notification.test.failure.limit The maximum number of test failures to show in notifications. master only 20 100
pulse.p4.client.prefix The prefix used for all Perforce clients created by pulse™. master and agents pulse- my-prefix-
pulse.p4.client.command.timeout Maximum running time, in seconds, for a Perforce client name generation command before that command is killed. master and agents 300 600
pulse.p4.command Path (or name if in the PATH) of the command to execute as the Perforce command-line client. master and agents p4 /usr/local/bin/p4
pulse.p4.command.<sub-command> Path (or name if in the PATH) of the command to execute as the Perforce command-line client for the particular Perforce sub-command. This allows overriding of the command-line for a single Perforce sub-command, e.g. sync by setting pulse.p4.command.sync. master and agents   mysync
pulse.p4.inactivity.timeout Maximum period of inactivity (i.e. no output detected), in seconds, for a p4 child process before that process is killed. master and agents 300 600
pulse.persistent.work.dir Path to use for the persistent working directory for a build specification. This path is used for the incremental and clean update checkout schemes. It must be unique for each specification. Properties are supported, as illustrated in the default value. master and agents ${data}/work/${project}/${specification} /var/work/${project}-${specification}
pulse.request.logging.retain.days If request logging is enabled, the number of days request logs will be retained for (older logs are deleted). master only 30 10
pulse.retain.environment.case If set to any value, environment variables will not be normalised to upper case when converted to pulse™ file properties. master and agents   true
pulse.suppressed.environment.variables A space-separated list of environment variables that should not have their values recorded in logs etc. master and agents P4PASSWD SECRET1 SECRET2
pulse.test.failure.limit The maximum number of failed test cases to show in build summaries in the UI. master only 100 50
pulse.unarchive.command The external command to run to unpack zip archives if external archiving is turned on. See CB - Using External Archive Tools for details. master and agents unzip -qq ${zipfile} myunzip ${zipfile}
pulse.use.external.archiving If true, external zip/unzip tools will be used where available to create and extract archives. See CB - Using External Archive Tools for details. master and agents true false
pulse.use.native.process.kill Enables (experimental) native process termination on Windows, which kills the whole process tree when terminating a command. master and agents false true

Zutubi wiki is Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.2.10 Build:#528 Nov 29, 2006) - Bug/feature request - Contact Administrators