DevOps teams should continuously monitor Jenkins performance to ensure it runs effectively. With this, the team can:
Read how you can leverage Site24x7 to detect failed builds, identify performance issues, optimize resource allocation and capacity planning, and improve pipeline efficiency of your Jenkins instances.
You can monitor Jenkins performance, all jobs, specific jobs, Java VMs, and Jenkins web access to stay on top of its performance.
Node count
node_count
records the total number of nodes.
Health check count
health-check_count
fetches the number of health checks associated.
Health check duration
health-check_duration
shows the rate at which the health checks are running in seconds.
Nodes offline
nodes_offline
denotes the number of offline nodes.
Nodes online
nodes_online
denotes the number of online nodes.
Projects count
projects_count
collects the total number of projects.
Projects disabled
projects_disabled
collects the total number of projects that have been disabled.
Projects enabled
projects_enabled
collects the total number of projects that are enabled.
Queue size
queue_size
denotes the total number of jobs in queue.
Executor count
executor_count
shows the number of executors available for Jenkins.
Executors free count
executors_free_count
shows the number of executors available for Jenkins that are not currently in use.
Executors in use count
executors_inuse_count
shows the number of executors that are in use.
Queues pending
queues_pending
fetches the number of pending jobs in the queue.
Queues stuck
queues_stuck
fetches the number of jobs stuck in a queue.
Queues blocked
queues_blocked
fetches the number of jobs that are blocked in the queue
Jobs in queue
jobs_in_queue
shows the number of buildable items in a queue.
Plugins active
plugins_active
shows the number of active plugins.
Plugins failed
plugins_failed
shows the number of failed plugins.
Plugins inactive
plugins_inactive
shows the number of inactive plugins.
Plugins with update
plugins_withupdate
shows the number of plugins with a pending update.
Builds blocked duration
builds_blocked_duration
denotes the time taken by the jobs in blocked state in seconds.
Build creation time
build_creation_time
denotes the time taken for the build to complete.
Builds execution duration
builds_execution_duration
shows the build execution time in seconds.
Builds queuing duration
builds_queuing_duration
shows the build queuing time in seconds.
Builds waiting duration
builds_waiting_duration
denotes the time the build waits in a queue in seconds.
All Jenkins job monitoring metrics
Job count
job_count
fetches the number of jobs.
Jobs scheduled rate
jobs_scheduled_rate
denotes the rate at which the jobs are scheduled in events per minute.
Jobs blocked duration
jobs_blocked_duration
denotes the time taken by the jobs in the build queue in the blocked state in seconds.
Jobs buildable duration
jobs_execution_time
denotes the time taken for job execution in seconds.
Jobs execution time
jobs_execution_time
denotes the time taken for job execution in seconds.
Jobs queuing duration
jobs_queuing_duration
denotes the time taken by the job in the build queue in seconds.
Jobs total duration
jobs_total_duration
denotes the time taken by the job from entering the build queue to completing the build in seconds.
Jobs waiting duration
jobs_waiting_duration
denotes the time the jobs spend in their quiet period in seconds.
Specific Jenkins jobs monitoring metrics
Build count
build_count
fetches the number of builds in the job.
Job last build queue ID
job_lastbuild_queueid
fetches the queue ID of the last build.
Job last build duration
job_lastbuild_duration
denotes the time taken for the last build in milliseconds.
Job last build estimated duration
job_lastbuild_estimated_duration
denotes the estimated time for the last build in milliseconds.
Job last build ID
job_lastbuildid
fetches the ID of the last build.
Job last build number
job_lastbuild_number
fetches the last build's number in the job.
Build failed
build_failed
fetches the number of builds that failed.
Build success
build_success
fetches the number of successful builds.
Build aborted
build_aborted
fetches the number of aborted builds.
Jenkins Java VM monitoring metrics
Blocked count
blocked_count
denotes the number of threads that are currently blocked.
Total count
total_count
denotes the total thread count.
Deadlock count
deadlock_count
fetches the number of threads that have a currently detected deadlock.
File descriptor ratio
file_descriptor_ratio
denotes the ratio of used to total file descriptors.
Heap memory committed
heap_memory_committed
denotes the amount of heap memory, in bytes.
Heap memory initiated
heap_memory_initiated
denotes the amount of heap memory that has been newly initiated, in bytes.
Maximum heap memory
maximum_heap_memory
denotes the amount of heap memory that is currently in use, in bytes.
Heap memory used
heap_memory_used
denotes the amount of memory outside the heap, in bytes.
Non-heap memory committed
non-heap_memory_committed
denotes the amount of memory outside the heap, in bytes.
Non-heap memory initiated
non-heap_memory_initiated
denotes the amount of memory outside the heap that has been newly initiated, in bytes.
Maximum non-heap memory
maximum_non-heap_memory
denotes the maximum amount of memory outside the heap that is used, in bytes.
Non-heap memory used
non-heap_memory_used
denotes the amount of memory outside the heap that is currently in use, in bytes.
Total memory committed/p>
total_memory_committed
denotes the total amount of memory, in bytes.
Total memory initiated
total_memory_initiated
denotes the total amount of memory that has been newly initiated, in bytes.
Total maximum memory
total_maximum_memory
fetches the maximum amount of memory, in bytes.
Total memory used
total_memory_used
fetches the total amount of memory used, in bytes.
New threads
new_threads
denotes the number of threads that have not currently started execution.
Running threads
running_threads
denotes the total number of threads that are currently in execution.
Terminated threads
terminated_threads
denotes the total number of threads that have completed execution.
Suspended threads
suspended_threads
denotes the total number of threads that have suspended execution.
Waiting threads
waiting_threads
denotes the total number of threads that are waiting for execution.
Jenkins web access monitoring metrics
Total active requests
total_activerequests
fetches he total number of requests that are currently active.
Total bad request
total_badrequest
fetches the total number of requests with HTTP/400 status code.
Total response code created
total_responsecode_created
fetches the total number of requests with HTTP/201 status code.
Total forbidden response code
total_forbidden_responsecode
fetches the total number of requests with HTTP/403 status code.
No content response code
noContent_responsecode
fetches the total number of requests with HTTP/204 status code.
Not found response code
notFound_responsecode
fetches the total number of requests with HTTP/404 status code.
Unmodified response code
unmodified_responsecode
fetches the total number of requests with HTTP/304 status code.
Success response code
success_responsecode
fetches the total number of requests with HTTP/200 status code.
Non-informational response code
non_informational_responsecode
fetches the total number of requests with a non-information status code./p>
Server errors response code
servererror_responsecode
fetches the total number of requests with HTTP/500 status code.
Service unavailable
service_unavailable
fetches the total number of requests with HTTP/503 status code.
Request duration
request_duration
fetches the time taken to generate the corresponding code.
Follow the guidelines below:
Follow the steps below to install the Jenkins plugin on your Linux server:
wget https://raw.githubusercontent.com/site24x7/plugins/master/jenkins_performance/jenkins_performance.py
wget https://raw.githubusercontent.com/site24x7/plugins/master/jenkins_performance/jenkins_performance.cfg
The agent will automatically execute the plugin within five minutes and send performance data to the Site24x7 data center.
[jenkins_performance]
host = < host_name>
port = < port_number>
username = < username>
password = < password>
apikey = < apikey>
Verify the output for different Jenkins plugins following the steps below:
Execute the command below with appropriate arguments to check for the valid JSON output.
python jenkins_performance.py --host=< host_name> --port=< port_number> --username=< username> --password=< password> --apikey=< apikey>
Execute the command below with appropriate arguments to check for the valid JSON output.
python jenkins_job.py --host=< host_name> --port=< port_number> --username=< username> --password=< password> --apikey=< apikey>
Execute the command below with appropriate arguments to check for the valid JSON output.
python jenkins_specific_job.py --host=< host_name> --port=< port_number> --username=< username> --password=< password> --jobname=< job_name>
Execute the command below with appropriate arguments to check for the valid JSON output.
python jenkins_jvm.py --host=< host_name> --port=< port_number> --username=< username> --password=< password> --apikey=< apikey>
Execute the command below with appropriate arguments to check for the valid JSON output.
python jenkins_web.py --host=< host_name> --port=< port_number> --username=< username> --password=< password> --apikey=< apikey>
You can contribute to our existing plugins and come up with suggestions or feedback on our Community.