CI data transmission to CloudBees Unify

6 minute read

The CloudBees Unify Integration :: Controllers plugin and CloudBees Unify Integration :: OC plugin collect operational telemetry and transmit it to CloudBees Unify. For single controller integrations, telemetry is collected from CloudBees CI or Jenkins controllers. For Operations center integrations, telemetry is also collected from the CloudBees CI operations center.

The following sections describe every data category, the specific fields transmitted, and the frequency at which each category is sent. This information is intended to help you understand what data these plugins collect and how it is used to power CI observability dashboards.

Data privacy and security

The CloudBees Unify Integration :: Controllers plugin and CloudBees Unify Integration :: OC plugin are designed to collect operational and structural telemetry only. The following types of data are not collected or transmitted:

  • Build logs, console output, or build artifacts.

  • Source code, SCM credentials, or repository content.

  • User credentials, passwords, or secrets stored in CloudBees CI or Jenkins.

  • Personal data or user-identifiable information beyond usernames in job names.

All data is transmitted over HTTPS. No data is stored locally by the plugins beyond what CloudBees CI or Jenkins retains as part of normal operation.

Transmission frequency summary

The following table summarizes how often each data category is transmitted and its source.

Data category Frequency Source

Every 30 seconds

Controller

Every 30 seconds

Controller

Every 1 minute

Operations center

Once per day

Controller

Every 15 minutes

Controller

Every 30 seconds

Controller

Controller configuration data

Each controller transmits a baseline configuration payload that identifies the instance and its environment. This data is included with metric submissions.

Field Type Description

jenkinsUrl

String (URL)

Root URL of the CloudBees CI or Jenkins controller instance.

toolType

Enum

Instance type: jenkins, CBCI, or CJOC.

version

String

Jenkins core version number.

hibernateUrl

String (URL)

URL used when the controller enters hibernation.

logsRootPath

String (path)

Filesystem path to the root logs directory on the controller.

Plugin inventory

A full inventory of all installed plugins is included with configuration data. Each entry in the plugin list contains the following fields.

Field Type Description

shortName

String

Unique identifier or artifact ID of the plugin (for example, git, workflow-job).

longName

String

Full artifact name as defined in the plugin manifest.

displayName

String

Human-readable name displayed in the CloudBees CI or Jenkins UI.

version

String

Installed version string.

enabled

Boolean

Whether the plugin is enabled in the CloudBees CI or Jenkins configuration.

active

Boolean

Indicates whether the plugin is currently active and running.

hasUpdateAvailable

Boolean

Indicates whether a newer version is available in the update center.

requiredCoreVersion

String

Minimum Jenkins core version required by this plugin.

dependencies[].name

String

Short name of the dependency plugin.

dependencies[].version

String

Minimum required version of the dependency.

dependencies[].optional

Boolean

Indicates whether the dependency is optional or required.

Controller metrics

The following numeric metrics are collected from each controller and transmitted to CloudBees Unify. These power real-time dashboards and alerting.

Controller metrics are sent every 30 seconds.

Queue metrics

The following metrics describe the state of the build queue.

Metric name Description

jenkins.queue.size

Total number of items currently in the build queue.

jenkins.queue.blocked

Items in the queue that are blocked (waiting for a resource).

jenkins.queue.buildable

Items in the queue that are ready to be dispatched to an executor.

jenkins.queue.stuck

Items that have been queued for an unusually long time.

jenkins.queue.pending

Items that are pending scheduling.

Node and executor metrics

The following metrics describe the availability and utilization of nodes (agents) and executors.

Metric name Description

jenkins.node.count

Total number of nodes registered on this controller.

jenkins.node.online

Number of nodes that are currently online and reachable.

jenkins.node.offline

Number of nodes that are currently offline or unreachable.

jenkins.executor.count

Total configured executor slots across all online nodes.

jenkins.executor.in-use

Executor slots currently running a build.

jenkins.executor.free

Executor slots that are idle and available.

Job and project metrics

The following metrics describe the number of jobs and projects on the controller.

Metric name Description

jenkins.job.scheduled

Number of jobs that have been scheduled since last collection.

jenkins.job.count

Total number of jobs defined on the controller.

jenkins.job.averageDepth

Average nesting depth of jobs within folders.

jenkins.project.count

Total number of project-type items (excludes pipelines/folders).

jenkins.project.enabled.count

Number of enabled projects.

jenkins.project.disabled.count

Number of disabled projects.

jenkins.runs

Total run count since last collection window.

Duration metrics

The following metrics describe how long jobs and tasks spend in each stage of execution.

All duration metrics are measured in milliseconds.
Metric name Description

jenkins.job.queuing.duration

Time jobs spent in the queue before starting.

jenkins.job.blocked.duration

Time jobs spent blocked in the queue.

jenkins.job.building.duration

Actual build execution time for jobs.

jenkins.task.queuing.duration

Time individual tasks spent queuing.

jenkins.task.blocked.duration

Time individual tasks spent blocked.

jenkins.task.buildable.duration

Time tasks spent in a buildable state before execution.

jenkins.task.execution.duration

Actual execution time for individual tasks.

Plugin health metrics

The following metrics describe the health status of installed plugins.

Metric name Description

jenkins.plugins.active

Number of plugins that are currently active.

jenkins.plugins.inactive

Number of plugins that are installed but inactive.

jenkins.plugins.failed

Number of plugins that failed to load.

jenkins.plugins.withUpdate

Number of plugins that have an available update.

System health

System health checks are evaluated on the controller and the results are transmitted as structured status indicators.

System health data is sent every 30 seconds.
Health check Description Possible values

failedPlugins

Reports any plugins that failed to initialize or load correctly.

List of plugin names, or empty.

thread-deadlock

Detects deadlocked threads in the CloudBees CI or Jenkins JVM process.

OK, WARN, or ERROR.

disk-space

Checks available disk space on the $JENKINS_HOME partition.

OK, WARN, or ERROR.

temporary-space

Checks available space on the system temporary directory.

OK, WARN, or ERROR.

Operations center information

When the operations center is present, it transmits a summary of the connected controller topology. This data is used to represent multi-controller environments in CloudBees Unify.

Operations center events are sent every 1 minute.

Operations center-level fields

The following fields identify the operations center instance itself.

Field Type Description

url

String (URL)

Root URL of the operations center instance.

toolType

String

Always CJOC for operations center instances.

Controllers list

The operations center payload includes an array of all connected controllers, each with the following fields.

Field Type Description

name

String

Display name of the connected controller.

url

String (URL)

URL of the connected controller.

type

String

Always CBCI for controllers managed by the operations center.

Jobs information

A daily snapshot of all jobs defined on each controller is transmitted. This provides a complete inventory of the pipeline catalog and supports trending and job health analysis in CloudBees Unify.

Jobs information is sent once per day.
Field Type Description

name

String

Short name of the job within its parent folder.

fullName

String

Full path of the job including all parent folder names.

url

String (URL)

Direct URL to the job on the controller.

color

String

Last known build status color (for example, blue, red, yellow, notbuilt).

type

String

Job type identifier (for example, WorkflowJob, FreeStyleProject, Folder).

lastCompletedRun

Object

Details of the most recently completed run (refer to Runs information).

Runs information

Detailed metadata about individual build runs is transmitted to enable near-real-time build traceability and duration analysis in CloudBees Unify.

Runs information is sent every 15 minutes.
Field Type Description

runType

String

Type of run (for example, WorkflowRun, FreeStyleBuild).

url

String (URL)

Direct URL to this specific run on the controller.

runNumber

Integer

Sequential build number assigned by Jenkins.

duration

Long (ms)

Actual duration of the run in milliseconds.

estimatedDuration

Long (ms)

Jenkins-estimated duration based on historical data, in milliseconds.

timestamp

Long (epoch ms)

Unix epoch timestamp of when the run was started, in milliseconds.

displayName

String

Short display name for the run (typically #<runNumber>).

fullDisplayName

String

Full display name including job name and run number.

queueId

Long

Queue item ID that was dispatched to produce this run.

Runs activity

High-frequency executor utilization and queue activity metrics are captured by the controller. These power real-time "heartbeat" views of controller load in CloudBees Unify.

Runs activity data is sent every 30 seconds.
Field Type Description

idleExecutors

Integer

Number of executor slots currently idle across all online nodes.

activeRuns

Integer

Number of runs that are currently executing on this controller.

timeToIdle

Long (ms)

Estimated time until all active runs complete and all executors are idle.

waitingRuns

Integer

Number of runs currently waiting in the queue to be dispatched.

avgWaitTime

Long (ms)

Average time waiting runs have been in the queue, in milliseconds.