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

pipelines data for json is getting a bit too crazy (for dashboard)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • blueocean-plugin
    • None
    • pacific, atlantic

      In many cases the piplines json for the dashboard (search results) is blowing out to 14kb for 26 "rows" of data. This isn't a huge json transfer, but when you look closer, the impact of plugins adding to actions appears to be huge, and may be the cause of some problems.

      As part of looking at a support ticket tscherler uncovered that for 26 pipelines, there is really 20 lines of attributes that are used by the dashboard == 520 lines (roughly).
      However there is 10k lines in the response - this is a bit out of control.

      It seems that every plugin installed adds actions for every little thing, which the dashboard doesn't need.

      For example

              "_class": "io.jenkins.blueocean.service.embedded.rest.ActionProxiesImpl",
              "_links": {
                "self": {
                  "_class": "io.jenkins.blueocean.rest.hal.Link",
                  "href": "/blue/rest/organizations/jenkins/... (hidden)"
                }
              },
              "_class": "com.cloudbees.plugins.credentials    .ViewCredentialsAction",
              "stores": {},
              "urlName": "credentials"
            }
          ],
      

      is added to every pipeline (along with 100's of others). It really depends on the plugins.

      Also

               {
                  "_class": "hudson.model.TextParameterDefinition",
                  "defaultParameterValue": {
                    "_class": "hudson.model.StringParameterValue",
                    "name": "jiraComment",
                    "value": ""
                  },
                  "description": "Additional info for theissue's comment",
                  "name": "jiraComment",
                  "type": "TextParameterDefinition"
                },
      

      will never be of use to the dashboard (well probably).

      Some questions:

      Is there a better query to use to make the response smaller/more compact? (even just eyeballing the reponse could be helped by not returning the metadata optionally). I expect the calculation of this is quite expensive.

      Could this be a source of the slowdown when people have enough/certain plugins installed?

            vivek Vivek Pandey
            michaelneale Michael Neale
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: