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

Major Optimization: Create and Use FlowNode.getAction w/o TransientActionFactories

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Done
    • Component/s: core, workflow-api-plugin
    • Labels:
      None
    • Similar Issues:

      Description

      In most cases we only care about the directly attached actions on flownodes. FlowNode.getAction has been identified as ~25% of runtime for pipeline flow analysis, and it is likely b/c this queries all TransientActionFactories for actions.

      We should:

      1. Add a FlowNode.getAction API version (name TBD) that only iterates through the directly added actions (already cached in-object)
      2. Switch the pipeline-graph-analysis plugin and stage view's REST API to use this exclusively
      3. Benchmark to see what the performance difference is

      UPDATE: Doubles stage view performance, which should carry through to a large extent anywhere we use flow analysis.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                svanoort Sam Van Oort
                Reporter:
                svanoort Sam Van Oort
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: