jenkinsci / dark-theme-plugin

Jenkins Dark Theme
https://plugins.jenkins.io/dark-theme/
MIT License
70 stars 37 forks source link

Poor page loading performance with plugin enabled #458

Closed kerrhome closed 2 months ago

kerrhome commented 7 months ago

Jenkins and plugins versions report

Environment My docker-compose.yml: > > $ cat docker-compose.yml > --- > > version: '3.8' > services: > jenkins: > image: jenkins/jenkins:2.426.3 > privileged: true > ports: > - "8085:8080" > - "50000:50000" > environment: > JAVA_OPTS: "-Xmx4g -Xms4g" > volumes: > - jenkins_data:/var/jenkins_home > restart: always > > volumes: > jenkins_data: > external: true Jenkins setup: ``` Jenkins: 2.426.3 OS: Linux - 6.6.12-linuxkit Java: 17.0.9 - Eclipse Adoptium (OpenJDK 64-Bit Server VM) --- ant:497.v94e7d9fffa_b_9 antisamy-markup-formatter:162.v0e6ec0fcfcf6 apache-httpcomponents-client-4-api:4.5.14-208.v438351942757 apache-httpcomponents-client-5-api:5.3.1-1.0 authentication-tokens:1.53.v1c90fd9191a_b_ authorize-project:1.7.1 bootstrap5-api:5.3.2-3 bouncycastle-api:2.30.1.77-225.v26ea_c9455fd9 branch-api:2.1144.v1425d1c3d5a_7 build-history-metrics-plugin:112.v476124de7dfc build-keeper-plugin:19.va_df8a_2c65123 build-timeout:1.32 caffeine-api:3.1.8-133.v17b_1ff2e0599 checks-api:2.0.2 cloud-stats:336.v788e4055508b_ cloudbees-folder:6.858.v898218f3609d clover:4.14.1.577.vb_ff5a_f69b_37b_ cobertura:1.17 code-coverage-api:4.99.0 command-launcher:107.v773860566e2e commons-lang3-api:3.13.0-62.v7d18e55f51e2 commons-text-api:1.11.0-95.v22a_d30ee5d36 copyartifact:722.v0662a_9b_e22a_c coverage:1.10.0 credentials:1319.v7eb_51b_3a_c97b_ credentials-binding:657.v2b_19db_7d6e6d cucumber-reports:5.8.1 dark-theme:416.v535839b_c4e88 dashboard-view:2.495.v07e81500c3f2 data-tables-api:1.13.8-2 datadog:6.0.0 display-url-api:2.200.vb_9327d658781 docker-build-step:2.11 docker-commons:439.va_3cb_0a_6a_fb_29 docker-java-api:3.3.4-86.v39b_a_5ede342c docker-plugin:1.5 docker-workflow:572.v950f58993843 dtkit-api:3.0.2 durable-task:547.vd1ea_007d100c echarts-api:5.4.3-2 email-ext:2.104 external-monitor-job:215.v2e88e894db_f8 font-awesome-api:6.5.1-2 forensics-api:2.3.0 git:5.2.1 git-client:4.6.0 git-server:114.v068a_c7cc2574 github:1.37.3.1 github-api:1.318-461.v7a_c09c9fa_d63 global-build-stats:288.vb_2c4a_0f138b_b_ gradle:2.9 gson-api:2.10.1-15.v0d99f670e0a_7 htmlpublisher:1.32 instance-identity:185.v303dc7c645f9 ionicons-api:56.v1b_1c8c49374e jackson2-api:2.16.1-373.ve709c6871598 jakarta-activation-api:2.0.1-3 jakarta-mail-api:2.0.1-3 javadoc:243.vb_b_503b_b_45537 javax-activation-api:1.2.0-6 javax-mail-api:1.6.2-9 jaxb:2.3.9-1 jdk-tool:73.vddf737284550 jnr-posix-api:3.1.18-1 jobConfigHistory:1229.v3039470161a_d joda-time-api:2.12.6-21.vca_fd74418fb_7 jquery3-api:3.7.1-1 jsch:0.2.16-86.v42e010d9484b_ json-path-api:2.9.0-33.v2527142f2e1d junit:1256.v002534a_5f33e ldap:711.vb_d1a_491714dc lockable-resources:1232.v512d6c434eb_d mailer:463.vedf8358e006b_ matrix-auth:3.2.1 matrix-project:822.824.v14451b_c0fd42 maven-plugin:3.23 mercurial:1260.vdfb_723cdcc81 mina-sshd-api-common:2.12.0-90.v9f7fb_9fa_3d3b_ mina-sshd-api-core:2.12.0-90.v9f7fb_9fa_3d3b_ okhttp-api:4.11.0-172.vda_da_1feeb_c6e pam-auth:1.10 parameterized-trigger:787.v665fcf2a_830b_ pipeline-build-step:540.vb_e8849e1a_b_d8 pipeline-graph-analysis:202.va_d268e64deb_3 pipeline-groovy-lib:704.vc58b_8890a_384 pipeline-input-step:477.v339683a_8d55e pipeline-milestone-step:111.v449306f708b_7 pipeline-model-api:2.2175.v76a_fff0a_2618 pipeline-model-definition:2.2175.v76a_fff0a_2618 pipeline-model-extensions:2.2175.v76a_fff0a_2618 pipeline-rest-api:2.34 pipeline-stage-step:305.ve96d0205c1c6 pipeline-stage-tags-metadata:2.2175.v76a_fff0a_2618 pipeline-stage-view:2.34 plain-credentials:143.v1b_df8b_d3b_e48 plugin-util-api:3.8.0 prism-api:1.29.0-10 publish-over:0.22 publish-over-ssh:1.25 resource-disposer:0.23 run-condition:1.7 saferestart:0.7 scm-api:683.vb_16722fb_b_80b_ script-security:1313.v7a_6067dc7087 slack:684.v833089650554 snakeyaml-api:2.2-111.vc6598e30cc65 sonar:2.17.1 ssh:2.6.1 ssh-credentials:308.ve4497b_ccd8f4 ssh-slaves:2.948.vb_8050d697fec sshd:3.322.v159e91f6a_550 structs:337.v1b_04ea_4df7c8 tap:2.4.1 text-file-operations:1.3.2 theme-manager:215.vc1ff18d67920 timestamper:1.26 token-macro:400.v35420b_922dcb_ trilead-api:2.133.vfb_8a_7b_9c5dd1 variant:60.v7290fc0eb_b_cd workflow-aggregator:596.v8c21c963d92d workflow-api:1291.v51fd2a_625da_7 workflow-basic-steps:1042.ve7b_140c4a_e0c workflow-cps:3853.vb_a_490d892963 workflow-durable-task-step:1322.v63864b_7a_e384 workflow-job:1385.vb_58b_86ea_fff1 workflow-multibranch:773.vc4fe1378f1d5 workflow-scm-step:415.v434365564324 workflow-step-api:657.v03b_e8115821b_ workflow-support:865.v43e78cc44e0d ws-cleanup:0.45 xunit:3.1.3 xvfb:1.2 ```

What Operating System are you using (both controller, and any agents involved in the problem)?

Host is MacBook M2 Max w/ 32G RAM. Docker Desktop. Latest LTS image (see above). macOS Sonoma 14.2.1. No agents.

Reproduction steps

Install Dark Theme with the existing plugins, reboot, page load performance drops dramatically.

Expected Results

Normal navigation performance.

Actual Results

60+ seconds, sometimes 120+, to load a page. Navigating through Jenkins is really just unusable.

Anything else?

I did start up a fresh Jenkins instance with no data and it's running beautifully. Fast and smooth. I added Dark Theme plugin and it still was smooth. It appears that this is a conflict perhaps with some other plugin.

Also, on my sandbox system I tried disabling just the Dark Theme plugin, leaving the Theme Manager plugin enabled, and the performance was normal/good.

Are you interested in contributing a fix?

I will continue testing, as I can, by disabling individual plugins to see if I can find the conflicting plugin(s).

timja commented 7 months ago

I'd be surprised if dark theme is doing very much. All it does is add an endpoint for a CSS file

kerrhome commented 7 months ago

I agree, but I flip that switch (enable/disable) with the current plugins in my list and page loading is garbage or great. Must be one of my other plugins that doesn't like dark theme. Not sure which yet.

zbynek commented 7 months ago

https://plugins.jenkins.io/monitoring might help you find out which plugin is causing this

kerrhome commented 7 months ago

Thank you @zbynek

peteraghnovanta commented 6 months ago

hello @kerrhome did you find the reason why this happens ? I have similarly problem, I have 5 jenkins instances and only one with dark theme has this problem.

AdamTylerLynch commented 6 months ago

I also have the same issue. Requests to /theme-dark/theme.css time out eventually, but it kills the UX loading experience.

kerrhome commented 6 months ago

I'm sorry, I have not had time to investigate further. I just disabled it for now. Using browser plugin for dark mode.

On Fri, Mar 1, 2024, 2:56 AM peteraghnovanta @.***> wrote:

hello @kerrhome https://github.com/kerrhome did you find the reason why this happens ? I have similarly problem, I have 5 jenkins instances and only one with dark theme has this problem.

— Reply to this email directly, view it on GitHub https://github.com/jenkinsci/dark-theme-plugin/issues/458#issuecomment-1972695214, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABGM7YK2VZW2T4BGFIUEYVTYWAYCTAVCNFSM6AAAAABCVEQTNOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZSGY4TKMRRGQ . You are receiving this because you were mentioned.Message ID: @.***>

timja commented 6 months ago

I also have the same issue. Requests to /theme-dark/theme.css time out eventually, but it kills the UX loading experience.

can you get a thread dump please while the page is stuck loading: https://www.jenkins.io/doc/book/troubleshooting/obtaining-a-thread-dump/

cuiliang commented 6 months ago

When the real jenkins url in browser is mismatch with configured Jenkins URL , there maybe some load problem in /theme-dark/theme.css file.
Request url was generated based on configuration, not the real url in browser.

zbynek commented 6 months ago

@cuiliang that sounds like a wrong revere proxy setting, the Jenkins URL should match the real URL in browser.

cuiliang commented 6 months ago

@zbynek I am moving jenkins to another server using backup-restore method, when still not have proxy setup, access jenkins using http://localhost:8080, will have this problem. I dont know if it is possible to generate theme.css url using request information, if can, will solve this problem.

timja commented 2 months ago

No information on how to reproduce so closing