Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jenkinsci/additional-metrics-plugin
Provides additional metrics for List Views
https://github.com/jenkinsci/additional-metrics-plugin
jenkins metrics
Last synced: 4 months ago
JSON representation
Provides additional metrics for List Views
- Host: GitHub
- URL: https://github.com/jenkinsci/additional-metrics-plugin
- Owner: jenkinsci
- License: mit
- Created: 2018-06-14T20:26:53.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-23T08:24:10.000Z (4 months ago)
- Last Synced: 2024-09-30T08:10:32.496Z (4 months ago)
- Topics: jenkins, metrics
- Language: Java
- Homepage: https://plugins.jenkins.io/additional-metrics/
- Size: 257 KB
- Stars: 3
- Watchers: 4
- Forks: 10
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Additional Metrics Plugin
=========================[![Jenkins Plugin](https://img.shields.io/jenkins/plugin/v/additional-metrics.svg)](https://plugins.jenkins.io/additional-metrics)
[![Jenkins Plugin Installs](https://img.shields.io/jenkins/plugin/i/additional-metrics.svg?color=blue)](https://plugins.jenkins.io/additional-metrics)
[![Build Status](https://ci.jenkins.io/buildStatus/icon?job=Plugins/additional-metrics-plugin/master)](https://ci.jenkins.io/job/Plugins/job/additional-metrics-plugin/job/master/)Provides additional metrics via columns in Jenkins' List View.
### Provided Metrics
- Minimum, Maximum, Average, and Standard Deviation build times for all, or only successful builds.
- Minimum, Maximum, and Average checkout times for Pipeline builds.
- Success, Failure, and Unstable rates.
- Success and Failure time rates (ie Uptime and Downtime).![](images/screenshot.png)
### REST API
All provided metrics are also exposed in the Job's REST API as a job Action.#### Examples
##### Single Job
###### JSON
There is no filtering in JSON tree that I am aware of. Nevertheless, you can still do:
```
/api/json?depth=3&tree=jobs[fullName,actions[jobMetrics[*]]]
```
And then do the filtering post execution. You may need to adjust the depth, depending on how deeply nested your project is.###### XML
Using XPath, it is possible to get the metrics for one project. You may need to adjust the depth, depending on how deeply nested your project is.
```
/api/xml?depth=4&xpath=(//job[fullName='github/repo1/master']/action/jobMetrics[node()])[1]
``````
0
446
240
0.125
0.00000711702773729547-5
0
3024
1961
0
45
45
819
493
0.875
0.9999928829722644
0.875```
##### List View / [Build Monitor View](https://plugins.jenkins.io/build-monitor-plugin)
Assuming the view name is `MyView`,
```
/view/MyView/api/json?tree=jobs[fullName,actions[jobMetrics[*]]]
```You will get an output similar to the below (modified for clarity):
```
{
"_class": "com.smartcodeltd.jenkinsci.plugins.buildmonitor.BuildMonitorView",
"jobs": [
{
"_class": "org.jenkinsci.plugins.workflow.job.WorkflowJob",
"actions": [
{
"_class": "org.jenkinsci.plugins.additionalmetrics.MetricsActionFactory$MetricsAction",
"jobMetrics": {
"avgCheckoutDuration": 19581,
"avgDuration": 2641447,
"avgSuccessDuration": 394148,
"failureRate": 0.75,
"failureTimeRate": 0.09493349090072016,
"maxCheckoutDuration": 24734,
"maxDuration": 3439386,
"maxSuccessDuration": 394148,
"minCheckoutDuration": 8226,
"minDuration": 394148,
"minSuccessDuration": 394148,
"standardDeviationDuration": 42447,
"standardDeviationSuccessDuration": 71238,
"successRate": 0.25,
"successTimeRate": 0.9050665090992799,
"unstableRate": 0
}
}
],
"fullName": "github/repo1/master"
},
{
"_class": "org.jenkinsci.plugins.workflow.job.WorkflowJob",
"actions": [
{
"_class": "org.jenkinsci.plugins.additionalmetrics.MetricsActionFactory$MetricsAction",
"jobMetrics": {
"avgCheckoutDuration": 34089,
"avgDuration": 316825,
"avgSuccessDuration": 316825,
"failureRate": 0,
"failureTimeRate": 0,
"maxCheckoutDuration": 43413,
"maxDuration": 443877,
"maxSuccessDuration": 443877,
"minCheckoutDuration": 24766,
"minDuration": 189773,
"minSuccessDuration": 189773,
"standardDeviationDuration": 8089,
"standardDeviationSuccessDuration": 3014,
"successRate": 1,
"successTimeRate": 1,
"unstableRate": 0
}
}
],
"fullName": "github/repo2/master"
}
]
}
```### Requirements
Jenkins 2.289.3 or later.### Building
```
mvn package
```Snapshot builds are available [here](https://ci.jenkins.io/blue/organizations/jenkins/Plugins%2Fadditional-metrics-plugin/branches/).