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