-
Bug
-
Resolution: Duplicate
-
Major
-
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?
- duplicates
-
JENKINS-38979 Investigate tree api for plugins + dashboard
-
- Open
-
FYI here it is for 3 pipelines and a minimal install: https://gist.github.com/michaelneale/9127c8e14d16baf05910807bd8ac8cc9
This isn't as problematic as other "real world" examples. It is still 90% noise for the pipeline screen, but the action list seems fairly finite. The problem is with every single plugin adding to it, when it is returned in the listing. It also doesn't seem bugger (no wayward whitespace in _class or nulls).
(putting in current sprint as there is work on to look at search response times)