Jenkins Queues Test

A queue is a temporary waiting line for jobs before execution. The jobs will be waiting in the queue until they are assigned to free executors by the master Jenkins node. Once the master node assigns the executors, the jobs will run on the slave nodes, and results will be delivered to the users. If the jobs are stuck or reside in the queue for a prolonged period, then the queue may grow indefinitely and may not hold the space to accommodate upcoming jobs. This will lead to a serious degradation of the performance of the Jenkins server. To avoid such unpleasant degradation and to keep track of the performance of the Jenkins server, it is necessary to continuously track the jobs in the queue. The Jenkins Queues test helps administrators in this regard!

This test monitors the queue in the Jenkins server, and reports ID of the queue where the jobs are being queued and the status of each job in the queue. This test also reveals if any job is being blocked/stuck (waiting for an executor) in the queue. These statistics help administrators to instantly identify the jobs that are being blocked/stuck or residing in the queue for a prolonged period and take necessary actions for the same.

Target of the test : A Jenkins server

Agent deploying the test : An internal agent

Outputs of the test : One set of results for each job that is in the queue on the target Jenkins server.

Configurable parameters for the test
Parameter Description

Test period

How often should the test be executed. By default, this is set to 30 minutes

Host

The host for which the test is to be configured.

Port

The port at which the specified host listens. By default, this is set to 8080.

Username and Password

Specify the valid credentials of a user who has Read-only access to the Jenkins REST API to gather performance metrics from the target Jenkins server against the Username and Password parameters.

Confirm Password

Confirm the Password by retyping it here.

SSL

By default, the SSL flag is set to No, indicating that the target Microsoft SQL server is not SSL-enabled by default. To enable the test to connect to an SSL-enabled Microsoft SQL server, set the SSL flag to Yes.

Excluded job

Specify the comma-separated list of projects that you want the eG agent to exclude from monitoring against this parameter. By default, this is set to none indicating that this test will monitor all the jobs running in the Jenkins server.

DD Frequency

Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 1:1. This indicates that, by default, detailed measures will be generated every time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against DD frequency.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise suite embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Queue id

Indicates the ID of the queue where this job is being queued.

Number

 

Is job blocked?

Indicates whether/not this job is blocked.

 

The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
No 0
Yes 1

Note:

By default, this measure reports whether a job is blocked or not. The graph of this measure however, is represented using the numeric equivalents only.

Is job buildable?

Indicates whether/not this job cab be built.

 

The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
No 0
Yes 1

Note:

By default, this measure reports whether a job can be built or not. The graph of this measure however, is represented using the numeric equivalents only.

Is job stuck?

Indicates whether/not this job is stuck in the queue.

 

The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
No 0
Yes 1

Note:

By default, this measure reports whether a job is stuck in the queue or not. The graph of this measure however, is represented using the numeric equivalents only.

Is concurrent build?

Indicates whether this job is a concurrent job or not.

 

The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
No 0
Yes 1

Note:

By default, this measure reports whether a job can be built or not. The graph of this measure however, is represented using the numeric equivalents only.

In queue since

Indicates how long this job has been waiting in the queue.

Minutes

Ideally, the value of this measure should be low. Comparing the value of this measure across the jobs will reveal the job that is residing in the queue for longer time.