On Mon, Jan 11, 2021 at 6:24 PM 'Cyrille Le Clerc' via Jenkins Developers <
[email protected]> wrote:

> Dear community,
>
> *Context: *
> I'm trying to implement an OpenTelemetry instrumentation of Jenkins,
> starting injecting distributed traces in job executions. See
> https://github.com/cyrille-leclerc/opentelemetry-plugin
>
> *Question: *
> *What is the recommended way to listen to the end of the execution of a
> step and to collect its result?*
> I would like to listen the end of execution of `stage`and `git` steps to
> end a trace span reporting the result of the step.
>
> I found the `GraphListener#onNewHead(FlowNode)` API and I identify the end
> of stage steps with `StepEndNode` containing a   whose descriptor is a
> `StageStep.DescriptorImpl` but
>
>    - I am not clear on if I should track the `StepEndNode` containing a
>    `LabelAction` or an `ArgumentsAction`
>    - On none of the StepEndNode give me access to the error thrown during
>    the execution to indicate a failure,  `StepEndNode#getError()` and
>    `StepEndNode.getExecution.getCauseOfFailure()` return null
>    during  `GraphListener#onNewHead(FlowNode)`
>
> I'm wondering if I have to add a `BodyExecutionCallback` to the `
> CpsBodyInvoker` but I didn't find an API to do this implementing a
> listener of the pipeline executions.
>
> I have a similar request for `git` steps that don't even have a
> `StepEndNode`, how can I intercept the end of execution and the
> result/error of the execution of a `git` step.
>
>

I don't know the answer to your listener question.  This is probably not
what you want to hear, but I think that you should focus on the checkout
step rather than the git step.  Per the git step documentation:

More advanced checkout operations require the checkout step rather than the
git step.

The git step is a simplified shorthand for a subset of the more powerful
checkout step:

checkout([$class: 'GitSCM', branches: [[name: '*/master']],
    userRemoteConfigs: [[url: 'http://git-server/user/repository.git']]])




> I hope my question is detailed enough.
>
> Cyrille
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-dev/db5376b1-3888-46f0-9429-9b34e3940ed9n%40googlegroups.com
> <https://groups.google.com/d/msgid/jenkinsci-dev/db5376b1-3888-46f0-9429-9b34e3940ed9n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CAO49JtGkh3VB9Si2kAhK%2Bjpi%2Br95rwAy5rZj_u9KO9A423W9BQ%40mail.gmail.com.

Reply via email to