Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-31842

Allow steps to decorate thread dumps


      Currently the only information you get from a virtual thread dump for a build waiting inside a StepExecution is the function name of the step, plus the stack trace of the Groovy code calling it of course. But steps may have richer information available about why they are paused. For example, a DurableTaskStep could indicate that it is waiting for a particular jenkins-result.txt file (specifying the node name and absolute path). Or a BuildTriggerStep might be able to say whether it is waiting on a queue item or a particular downstream build.

      To surface this information to a user or support technician we would like an API in StepExecution allowing the running step to give information about what it is doing and why: some kind of short message that would fit naturally at the top of a stack trace.

      A partial workaround is for steps to print messages to the build log when stop is called, though this implies that you are ready to halt the build. The information may also be superfluous if the step's normal shutdown procedure in fact works; for example the process killing in DurableTaskStepExecution.stop need not print any special message if the process responds to the signal.

            jglick Jesse Glick
            jglick Jesse Glick
            0 Vote for this issue
            2 Start watching this issue