Class MonitoringPipelineListener

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void afterSdkInitialized​(io.opentelemetry.api.metrics.Meter meter, io.opentelemetry.api.logs.LoggerProvider loggerProvider, io.opentelemetry.api.events.EventEmitter eventEmitter, io.opentelemetry.api.trace.Tracer tracer, io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties configProperties)
      Invoked soon after the Otel SDK has been initialized.
      void beforeSdkShutdown()
      Invoked just before the Otel SDK is shutdown.
      protected List<StepHandler> getStepHandlers()  
      io.opentelemetry.api.trace.Tracer getTracer()  
      OtelTraceService getTracerService()  
      void notifyOfNewStep​(org.jenkinsci.plugins.workflow.steps.Step step, org.jenkinsci.plugins.workflow.steps.StepContext context)  
      void onAfterAtomicStep​(org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode node, org.jenkinsci.plugins.workflow.graph.FlowNode nextNode, org.jenkinsci.plugins.workflow.job.WorkflowRun run)
      Just after the atomic step
      void onAfterStartNodeStep​(org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode stepStartNode, String nodeLabel, org.jenkinsci.plugins.workflow.job.WorkflowRun run)
      Just after the `node` step starts.
      void onAtomicStep​(org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode node, org.jenkinsci.plugins.workflow.job.WorkflowRun run)
      Just before the atomic step starts
      void onEndNodeStep​(org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode node, String nodeName, org.jenkinsci.plugins.workflow.graph.FlowNode nextNode, org.jenkinsci.plugins.workflow.job.WorkflowRun run)
      Just after the `node` step ends
      void onEndParallelStepBranch​(org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode node, String branchName, org.jenkinsci.plugins.workflow.graph.FlowNode nextNode, org.jenkinsci.plugins.workflow.job.WorkflowRun run)
      Just before the `parallel` branch ends
      void onEndStageStep​(org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode node, String stageName, org.jenkinsci.plugins.workflow.graph.FlowNode nextNode, org.jenkinsci.plugins.workflow.job.WorkflowRun run)
      Just after the `stage` step ends
      void onStartNodeStep​(org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode stepStartNode, String agentLabel, org.jenkinsci.plugins.workflow.job.WorkflowRun run)
      Just before the `node` step starts.
      void onStartParallelStepBranch​(org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode stepStartNode, String branchName, org.jenkinsci.plugins.workflow.job.WorkflowRun run)
      Just before the `parallel` branch starts
      void onStartStageStep​(org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode stepStartNode, String stageName, org.jenkinsci.plugins.workflow.job.WorkflowRun run)
      Just before the `stage`step starts
      void postConstruct()  
      void setOpenTelemetryTracerService​(OtelTraceService otelTraceService)  
      protected io.opentelemetry.context.Scope setupContext​(org.jenkinsci.plugins.workflow.job.WorkflowRun run, org.jenkinsci.plugins.workflow.graph.FlowNode node)  
      String toString()  
    • Constructor Detail

      • MonitoringPipelineListener

        public MonitoringPipelineListener()
    • Method Detail

      • postConstruct

        @PostConstruct
        public void postConstruct()
      • onEndNodeStep

        public void onEndNodeStep​(@NonNull
                                  org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode node,
                                  @NonNull
                                  String nodeName,
                                  org.jenkinsci.plugins.workflow.graph.FlowNode nextNode,
                                  @NonNull
                                  org.jenkinsci.plugins.workflow.job.WorkflowRun run)
        Description copied from interface: PipelineListener
        Just after the `node` step ends
        Specified by:
        onEndNodeStep in interface PipelineListener
        Overrides:
        onEndNodeStep in class AbstractPipelineListener
      • onEndStageStep

        public void onEndStageStep​(@NonNull
                                   org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode node,
                                   @NonNull
                                   String stageName,
                                   org.jenkinsci.plugins.workflow.graph.FlowNode nextNode,
                                   @NonNull
                                   org.jenkinsci.plugins.workflow.job.WorkflowRun run)
        Description copied from interface: PipelineListener
        Just after the `stage` step ends
        Specified by:
        onEndStageStep in interface PipelineListener
        Overrides:
        onEndStageStep in class AbstractPipelineListener
      • onAfterAtomicStep

        public void onAfterAtomicStep​(@NonNull
                                      org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode node,
                                      org.jenkinsci.plugins.workflow.graph.FlowNode nextNode,
                                      @NonNull
                                      org.jenkinsci.plugins.workflow.job.WorkflowRun run)
        Description copied from interface: PipelineListener
        Just after the atomic step
        Specified by:
        onAfterAtomicStep in interface PipelineListener
        Overrides:
        onAfterAtomicStep in class AbstractPipelineListener
      • notifyOfNewStep

        public void notifyOfNewStep​(@NonNull
                                    org.jenkinsci.plugins.workflow.steps.Step step,
                                    @NonNull
                                    org.jenkinsci.plugins.workflow.steps.StepContext context)
        Specified by:
        notifyOfNewStep in interface org.jenkinsci.plugins.workflow.flow.StepListener
      • setupContext

        @NonNull
        @MustBeClosed
        protected io.opentelemetry.context.Scope setupContext​(org.jenkinsci.plugins.workflow.job.WorkflowRun run,
                                                              @NonNull
                                                              org.jenkinsci.plugins.workflow.graph.FlowNode node)
        Returns:
        null if no Span has been created for the Run of the given FlowNode
      • setOpenTelemetryTracerService

        @Inject
        public final void setOpenTelemetryTracerService​(@NonNull
                                                        OtelTraceService otelTraceService)
      • getTracer

        @NonNull
        public io.opentelemetry.api.trace.Tracer getTracer()
      • afterSdkInitialized

        public void afterSdkInitialized​(io.opentelemetry.api.metrics.Meter meter,
                                        io.opentelemetry.api.logs.LoggerProvider loggerProvider,
                                        io.opentelemetry.api.events.EventEmitter eventEmitter,
                                        io.opentelemetry.api.trace.Tracer tracer,
                                        io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties configProperties)
        Description copied from interface: OtelComponent
        Invoked soon after the Otel SDK has been initialized. Created AutoCloseable metering instruments don't have to be closed by Otel components, the OpenTelemetry plugin takes care of this (eg ObservableLongUpDownCounter, ObservableLongCounter...)
        Specified by:
        afterSdkInitialized in interface OtelComponent
        Parameters:
        meter - Meter of the newly initialized Otel SDK
        loggerProvider - Logger of the newly initialized Otel SDK
        tracer - Tracer of the newly initialized Otel SDK
        configProperties - ConfigProperties of the newly initialized Otel SDK
      • beforeSdkShutdown

        public void beforeSdkShutdown()
        Description copied from interface: OtelComponent
        Invoked just before the Otel SDK is shutdown. Created AutoCloseable metering instruments don't have to be closed by Otel components, the OpenTelemetry plugin takes care of this (eg ObservableLongUpDownCounter, ObservableLongCounter...)
        Specified by:
        beforeSdkShutdown in interface OtelComponent