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

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

    • 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?

          [JENKINS-38592] pipelines data for json is getting a bit too crazy (for dashboard)

          Michael Neale created issue -
          Michael Neale made changes -
          Epic Link New: JENKINS-35759 [ 171771 ]
          Michael Neale made changes -
          Epic Link Original: JENKINS-35759 [ 171771 ] New: JENKINS-37957 [ 174099 ]
          Michael Neale made changes -
          Sprint New: pacific [ 101 ]
          Michael Neale made changes -
          Description Original: In many cases the /piplines json 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

          {noformat}
                  "_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"
                }
              ],
          {noformat}

          is added to every pipeline (along with 100's of others). Note also the whitespace (may be another problem). It really depends on the plugins.

          Also

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

          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?

          New: 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

          {noformat}
                  "_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"
                }
              ],
          {noformat}

          is added to every pipeline (along with 100's of others). Note also the whitespace (may be another problem). It really depends on the plugins.

          Also

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

          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?

          Michael Neale made changes -
          Rank New: Ranked higher
          Michael Neale made changes -
          Description Original: 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

          {noformat}
                  "_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"
                }
              ],
          {noformat}

          is added to every pipeline (along with 100's of others). Note also the whitespace (may be another problem). It really depends on the plugins.

          Also

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

          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?

          New: 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

          {noformat}
                  "_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"
                }
              ],
          {noformat}

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

          Also

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

          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?

          Michael Neale made changes -
          Summary Original: pipelines data for json is getting a bit too crazy New: pipelines data for json is getting a bit too crazy (for dashboard)
          Michael Neale made changes -
          Sprint Original: pacific [ 101 ] New: pacific, atlantic [ 101, 106 ]
          Michael Neale made changes -
          Link New: This issue duplicates JENKINS-38979 [ JENKINS-38979 ]
          Michael Neale made changes -
          Resolution New: Duplicate [ 3 ]
          Status Original: Open [ 1 ] New: Closed [ 6 ]

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

              Created:
              Updated:
              Resolved: