[JIRA] (JENKINS-38877) Build History by Node doesn't work with Pipeline

8 views
Skip to first unread message

justinrainwater78@gmail.com (JIRA)

unread,
Oct 10, 2016, 7:37:01 PM10/10/16
to jenkinsc...@googlegroups.com
Justin Rainwater created an issue
 
Jenkins / Bug JENKINS-38877
Build History by Node doesn't work with Pipeline
Issue Type: Bug Bug
Assignee: Unassigned
Components: pipeline
Created: 2016/Oct/10 11:36 PM
Priority: Major Major
Reporter: Justin Rainwater

Browse to <jenkinsServer>/computer/<nodeName>/builds to see build history. For pipeline this page seems disabled. This is understandable because a single pipeline might span multiple nodes so showing a simple pass/fail list of pipeline jobs for a node might not make sense. However this has made it hard to tell at a glance when a certain node is failing more often than other nodes.

I would like to see the build history page for nodes display the pipeline job name and build number and then maybe the stage name and step number or something that is definitely unique to that node. That way we could quickly browse history at the node level to determine if a particular node has problems.

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)
Atlassian logo

jglick@cloudbees.com (JIRA)

unread,
Oct 21, 2016, 10:09:03 AM10/21/16
to jenkinsc...@googlegroups.com
Jesse Glick resolved as Won't Do
 

The way the build history page is implemented is not compatible with Pipeline. This page should not be used anyway—the design is fundamentally unsound in terms of performance (you can easily bring a large installation to its knees by browsing this page). There are various longer-term plans for analytic capabilities.

Change By: Jesse Glick
Status: Open Resolved
Resolution: Won't Do

joerg.schwaerzler@infineon.com (JIRA)

unread,
Nov 15, 2016, 5:36:01 AM11/15/16
to jenkinsc...@googlegroups.com
Joerg Schwaerzler commented on Bug JENKINS-38877
 
Re: Build History by Node doesn't work with Pipeline

Thanks for the information.
Could you provide a link here to some ticket which I could use to track the progress on the planned analytic capabilities?
Thanks.

jglick@cloudbees.com (JIRA)

unread,
Nov 15, 2016, 9:34:02 AM11/15/16
to jenkinsc...@googlegroups.com

justinrainwater78@gmail.com (JIRA)

unread,
Nov 15, 2016, 2:23:01 PM11/15/16
to jenkinsc...@googlegroups.com

So in other words the "various longer-term plans for analytic capabilities" are in no way ready to be shared with users? I will most certainly not be holding my breath.

Could you point me towards the documentation where it says the build history page should not be used anyway?

justinrainwater78@gmail.com (JIRA)

unread,
Nov 15, 2016, 7:45:02 PM11/15/16
to jenkinsc...@googlegroups.com
Justin Rainwater updated an issue
 
Change By: Justin Rainwater
Comment:
So in other words the "various longer-term plans for analytic capabilities" are in no way ready to be shared with users? I will most certainly not be holding my breath.

Could you point me towards the documentation where it says the build history page should not be used anyway?

hkdennis2k@gmail.com (JIRA)

unread,
Nov 29, 2016, 10:31:05 PM11/29/16
to jenkinsc...@googlegroups.com
Dennis Cheung commented on Bug JENKINS-38877
 
Re: Build History by Node doesn't work with Pipeline

Is there a commanded way to check if concurrent running jobs on same node cause some problems/regression?

In the old freestyle job, there are records on the history page. It is easy to identify overlapping and blame it for performance regression.

However, same information lost and quite hidden from the Pipeline. You cannot even tell which nodes were used without look into the full log.

justinrainwater78@gmail.com (JIRA)

unread,
Nov 30, 2016, 1:51:02 PM11/30/16
to jenkinsc...@googlegroups.com

I agree that it's quite frustrating. It used to be you could at a glance see if a particular node was to blame for repeatedly failing jobs, but now with that information so buried it's not so easy.

It seems we have to take matters into our own hands. One approach I'm looking into is to write the node name to currentBuild.description so at least when looking at the build history by job you can see the different nodes that ran each build. Better than nothing.

joerg.schwaerzler@infineon.com (JIRA)

unread,
Nov 30, 2016, 2:43:02 PM11/30/16
to jenkinsc...@googlegroups.com

@Build history by job:
Actually what we did is setting the build's display name. Doing that you even see the overview of used nodes in the stage view plugin. As a plus you can use the build filter provided by Jenkins to search for all builds which ran on a specific node.
Works quite nice - but unfortunately no replacement for the node's build history.

justinrainwater78@gmail.com (JIRA)

unread,
Dec 5, 2016, 1:52:01 PM12/5/16
to jenkinsc...@googlegroups.com

@Joerg just so I understand correctly, are you saying "build display name" like using the name setter plugin? https://wiki.jenkins-ci.org/display/JENKINS/Build+Name+Setter+Plugin

Would you mind pasting in an example of what that end result name looks like? Since our pipeline jobs may run on 4-6 different nodes I can imagine having all of that information in a single build name getting a little unwieldy.

Thanks,
Justin

jglick@cloudbees.com (JIRA)

unread,
Dec 5, 2016, 5:36:10 PM12/5/16
to jenkinsc...@googlegroups.com

You cannot even tell which nodes were used without look into the full log.

This is already filed separately: JENKINS-26138

joerg.schwaerzler@infineon.com (JIRA)

unread,
Dec 6, 2016, 7:31:02 AM12/6/16
to jenkinsc...@googlegroups.com

Justin Rainwater: For more than one node per job run this most probably will look messed up. Unfortunately I cannot paste any screenshots here because of security issues - and because I cannot setup a demonstrator instance using more than a single build agent.

However setting the build display name is quite straight forward. You may give it a try like:

currentBuild.setDisplayName(currentBuild.getDisplayName() + " (${agentName})")

Afaik you won't need the build name setter plugin as it's using the currentBuild object.

damien@addepar.com (JIRA)

unread,
Feb 16, 2018, 5:18:03 PM2/16/18
to jenkinsc...@googlegroups.com

It's been over a year since 

There are various longer-term plans for analytic capabilities.

Are there any updates on this?

There are two annoyance with pipeline builds on multiple nodes:
1. It's hard to tell which nodes were used for which pipeline steps (addressed by the "setting build display name" idea in the comments here)
2. It's hard to tell which jobs/pipeline steps were run on a node, which is what this ticket was originally about.

 

Are there any workarounds for the latter?

This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e)
Atlassian logo

DTaylorBusiness@gmail.com (JIRA)

unread,
May 17, 2018, 4:35:02 PM5/17/18
to jenkinsc...@googlegroups.com

Why is this marked as Resolved? The original request was to be able to see build history of pipelines under each node's "Build History" section. Its May 2018 and pipelines still do not show up in this section. This ticket should not be marked as Resolved.

jglick@cloudbees.com (JIRA)

unread,
Jun 6, 2018, 5:05:02 PM6/6/18
to jenkinsc...@googlegroups.com

Resolved as “will not do”, which stands.

noamangel@gmail.com (JIRA)

unread,
Jun 12, 2018, 5:47:02 AM6/12/18
to jenkinsc...@googlegroups.com

justinrainwater78@gmail.com (JIRA)

unread,
Jun 12, 2018, 2:40:04 PM6/12/18
to jenkinsc...@googlegroups.com

We have built our own solution. Post build results to a database or google sheet and view history by node there. CloudBees has no plans to take care of this so we have to take matters into our own hands.

wizofaus@hotmail.com (JIRA)

unread,
Dec 11, 2018, 4:45:05 PM12/11/18
to jenkinsc...@googlegroups.com

Agreed, this is an essential feature.  This shouldn't be marked as "Resolved" at all.

This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

wizofaus@hotmail.com (JIRA)

unread,
Dec 11, 2018, 4:45:05 PM12/11/18
to jenkinsc...@googlegroups.com
Dylan Nicholson edited a comment on Bug JENKINS-38877
Agreed, this is an essential feature.  This shouldn't be marked as "Resolved" at all.  And it makes perfect sense to be able to see the pipeline stages that ran on each node as jobs, especially with any info about whether they failed.

justinrainwater78@gmail.com (JIRA)

unread,
Dec 11, 2018, 4:52:05 PM12/11/18
to jenkinsc...@googlegroups.com

It's "resolved" because they're not gonna do anything about it. Regardless of how essential it may be. Our team has rolled our own solution which gets the job done despite requiring a ton of work. There's a reason Mr. Glick is suggesting everyone use Jenkins less. https://www.youtube.com/watch?v=Zeqc6--0eQw

alex.dover@gmail.com (JIRA)

unread,
Jan 14, 2019, 4:04:03 AM1/14/19
to jenkinsc...@googlegroups.com

Essential feature with no alternatives. Can;t believe it's just abandoned

alex.dover@gmail.com (JIRA)

unread,
Jan 14, 2019, 4:04:04 AM1/14/19
to jenkinsc...@googlegroups.com
Alex Dover edited a comment on Bug JENKINS-38877
Essential feature with no alternatives. Can ; ' t believe it's just abandoned :(

oxygenxo@gmail.com (JIRA)

unread,
Jun 5, 2019, 4:22:02 PM6/5/19
to jenkinsc...@googlegroups.com

Jesse Glick, are there any alternative ways to find out what builds were scheduled on a node?

jglick@cloudbees.com (JIRA)

unread,
Jun 5, 2019, 7:42:02 PM6/5/19
to jenkinsc...@googlegroups.com

aloria@haworthmedia.com (JIRA)

unread,
Jun 13, 2019, 10:28:09 AM6/13/19
to jenkinsc...@googlegroups.com

Having this feature would be great.

dan.dragomirescu@bytex.ro (JIRA)

unread,
Aug 21, 2019, 9:49:03 AM8/21/19
to jenkinsc...@googlegroups.com

Justin Rainwater Hello. Since this hasn't been resolved, do you mind sharing the basic concept of how you got the job done? I'd really, really could use some help on this... Jesse Glick are you aware of any workarounds?

jglick@cloudbees.com (JIRA)

unread,
Aug 21, 2019, 10:20:04 AM8/21/19
to jenkinsc...@googlegroups.com

Well, it would be a few lines of Groovy scripting to calculate this…but as mentioned above, if you have a lot of historical builds, the performance will be abysmal (especially on HDDs) since an unbounded number of little XML files would need to be loaded from disk and deserialized into memory, then discarded shortly afterward once the system gets into a low memory condition. That is true of freestyle builds and would be worse still for Pipeline builds due to the more complex metadata. A supportable solution would need something like a database that gets updated when a build uses a node—not a difficult programming project at all, but logistically a problem since Jenkins currently lacks any kind of standardized database, so you would need to either initiate that effort, or do a one-off hack with some sort of text file stored in a node’s configuration directory.

Reply all
Reply to author
Forward
0 new messages