How to make Bamboo Agents report build status more frequently
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
This article explains how to adjust the frequency Bamboo Agents will report their status back to the Bambo server.
Environment
- Bamboo (all versions)
- Agents (Remote/Elastic)
Diagnosis
Customer implementations that rely on the Agent's status – usually captured through the Bamboo REST API – will report inconsistencies in the captured information from the Agents due to a delay between the event date and when it is reported back to the server.
Cause
Bamboo Agents will report their status to the server every 60 seconds by default to help spread the load across the fleet, especially in very busy environments.
Solution
Set Bamboo's bamboo.agent.heartbeatInterval property to a lower value. That will instruct the Agents to send heartbeats at a lower frequency. The default setting is 60 (seconds).
Add that property to your Bamboo server JVM_SUPPORT_RECOMMENDED_ARGS variable on <bamboo-install>/bin/setenv.sh (or setenv.bat on Windows) and restart the application. More information here:
For more information on additional Agents' heartbeat properties, please check the following documentation:
Setting a lower Agent heartbeat interval may stress your Bamboo server due to the heartbeat "storm" that may occur due to many Agents connecting to ActiveMQ simultaneously. We recommend you monitor your server closely after setting that property for any ActiveMQ errors while constantly checking the JVM's memory consumption.