jenkinsci / code-coverage-api-plugin

Deprecated Jenkins Code Coverage Plugin
https://plugins.jenkins.io/code-coverage-api/
MIT License
112 stars 75 forks source link

Line coverage map is poorly readable #449

Closed argorain closed 2 years ago

argorain commented 2 years ago

Jenkins and plugins versions report

Environment ```text Jenkins: 2.346.3 OS: Windows Server 2016 - 10.0 --- Office-365-Connector:4.17.0 ace-editor:1.1 active-directory:2.25.1 ant:475.vf34069fef73c antisamy-markup-formatter:2.7 apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61 authentication-tokens:1.4 authorize-project:1.4.0 azure-container-agents:241.va_780fa_dc374a_ azure-credentials:216.ve0b_4a_485ffc2 azure-sdk:118.v43f74dd9ca_dc bitbucket:223.vd12f2bca5430 bitbucket-oauth:0.12 blueocean:1.25.6 blueocean-autofavorite:1.2.5 blueocean-bitbucket-pipeline:1.25.6 blueocean-commons:1.25.6 blueocean-config:1.25.6 blueocean-core-js:1.25.6 blueocean-dashboard:1.25.6 blueocean-display-url:2.4.1 blueocean-events:1.25.6 blueocean-git-pipeline:1.25.6 blueocean-github-pipeline:1.25.6 blueocean-i18n:1.25.6 blueocean-jwt:1.25.6 blueocean-personalization:1.25.6 blueocean-pipeline-api-impl:1.25.6 blueocean-pipeline-editor:1.25.6 blueocean-pipeline-scm-api:1.25.6 blueocean-rest:1.25.6 blueocean-rest-impl:1.25.6 blueocean-web:1.25.6 bootstrap4-api:4.6.0-5 bootstrap5-api:5.2.0-1 bouncycastle-api:2.26 branch-api:2.1046.v0ca_37783ecc5 build-timeout:1.21 caffeine-api:2.9.3-65.v6a_47d0f4d1fe checks-api:1.7.5 cloud-stats:0.27 cloudbees-bitbucket-branch-source:785.ve724eb_44e286 cloudbees-folder:6.740.ve4f4ffa_dea_54 code-coverage-api:3.0.5 command-launcher:84.v4a_97f2027398 copyartifact:1.46.4 cppcheck:1.26 credentials:1139.veb_9579fca_33b_ credentials-binding:523.vd859a_4b_122e6 dark-theme:185.v276b_5a_8966a_e data-tables-api:1.12.1-2 display-url-api:2.3.6 docker-commons:1.19 durable-task:500.v8927d9fd99d8 echarts-api:5.3.3-1 email-ext:2.91 extended-read-permission:3.2 favorite:2.4.1 font-awesome-api:6.1.2-1 forensics-api:1.15.1 git:4.11.4 git-client:3.11.2 git-forensics:1.9.0 git-server:1.11 github:1.34.5 github-api:1.303-400.v35c2d8258028 github-branch-source:1677.v731f745ea_0cf gradle:1.39.4 handlebars:3.0.8 handy-uri-templates-2-api:2.1.8-22.v77d5b_75e6953 htmlpublisher:1.30 hudson-wsclean-plugin:1.0.8 jackson2-api:2.13.3-285.vc03c0256d517 jakarta-activation-api:2.0.1-1 jakarta-mail-api:2.0.1-1 javax-activation-api:1.2.0-4 javax-mail-api:1.6.2-7 jaxb:2.3.6-1 jdk-tool:55.v1b_32b_6ca_f9ca jenkins-design-language:1.25.6 jjwt-api:0.11.5-77.v646c772fddb_0 jquery3-api:3.6.0-4 jsch:0.1.55.61.va_e9ee26616e7 junit:1119.1121.vc43d0fc45561 kubernetes:3690.va_9ddf6635481 kubernetes-client-api:5.12.2-193.v26a_6078f65a_9 kubernetes-credentials:0.9.0 ldap:2.11 leastload:3.0.0 llvm-cov:1.0.0 locale:180.v207501dff9b_a_ lockable-resources:2.16 mailer:435.v79ef3972b_5c7 matrix-auth:2.6.7 matrix-project:772.v494f19991984 mercurial:2.16.2 metrics:4.2.10-389.v93143621b_050 mina-sshd-api-common:2.8.0-36.v8e25ce90d4b_1 mina-sshd-api-core:2.8.0-36.v8e25ce90d4b_1 momentjs:1.1.1 okhttp-api:4.9.3-108.v0feda04578cf pam-auth:1.10 parameterized-scheduler:1.0 pipeline-build-step:2.18 pipeline-github-lib:38.v445716ea_edda_ pipeline-graph-analysis:195.v5812d95a_a_2f9 pipeline-graph-view:51.v5a693b766483 pipeline-groovy-lib:612.v84da_9c54906d pipeline-input-step:449.v77f0e8b_845c4 pipeline-milestone-step:101.vd572fef9d926 pipeline-model-api:2.2114.v2654ca_721309 pipeline-model-definition:2.2114.v2654ca_721309 pipeline-model-extensions:2.2114.v2654ca_721309 pipeline-rest-api:2.24 pipeline-stage-step:293.v200037eefcd5 pipeline-stage-tags-metadata:2.2114.v2654ca_721309 pipeline-stage-view:2.24 plain-credentials:139.ved2b_9cf7587b plugin-util-api:2.17.0 popper-api:1.16.1-3 popper2-api:2.11.5-2 prism-api:1.28.0-2 pubsub-light:1.16 resource-disposer:0.19 role-strategy:555.v8d194cc85b_30 scm-api:621.vda_a_b_055e58f7 script-security:1175.v4b_d517d6db_f0 skip-notifications-trait:43.vea_da_7c53b_831 snakeyaml-api:1.30.2-76.vc104f7ce9870 solarized-theme:0.1 sse-gateway:1.25 ssh-credentials:295.vced876c18eb_4 ssh-slaves:1.834.v622da_57f702c sshd:3.242.va_db_9da_b_26a_c3 stashNotifier:1.28 structs:324.va_f5d6774f3a_d theme-manager:1.5 timestamper:1.18 token-macro:308.v4f2b_ed62b_b_16 trilead-api:1.67.vc3938a_35172f variant:59.vf075fe829ccb windows-azure-storage:378.vb2cb9797e1e5 workflow-aggregator:590.v6a_d052e5a_a_b_5 workflow-api:1192.v2d0deb_19d212 workflow-basic-steps:991.v43d80fea_ff66 workflow-cps:2759.v87459c4eea_ca_ workflow-cps-global-lib:588.v576c103a_ff86 workflow-durable-task-step:1199.v02b_9244f8064 workflow-job:1207.ve6191ff089f8 workflow-multibranch:716.vc692a_e52371b_ workflow-scm-step:400.v6b_89a_1317c9a_ workflow-step-api:639.v6eca_cd8c04a_a_ workflow-support:838.va_3a_087b_4055b ws-cleanup:0.42 ```

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

Windows 10 Pro

Reproduction steps

  1. Install latest (3.0.5) code-coverage-api-plugin
  2. Let you build produce some coverage report
  3. Go to Coverage Report -> Line Coverage, observe color scheme of map

Expected Results

Previous versions had black text on washed-out colored background with more bright border color.

Actual Results

Actual version has swapped background and border colors resulting in black text on brightly colored background rendering it hard to read and washed-out border on even brighter background makes it hard to look at.

Anything else?

No response

argorain commented 2 years ago

Older versions: image

Current versions: image

fo-code commented 2 years ago

Hi @argorain ,

thanks for reporting! The new version provides a broader spectrum of colors in order to show coverage more detailed. Hence there is a dark red in use. Anyways, it is good to get some feedback for the usability of the used colors!

Maybe you could make a proposal of how you would change it? The used colors (background and text) only depend on two enums - a color palette and defined levels. Therefore, the values are easy to change.

argorain commented 2 years ago

HI @fo-code,

I'd say just swap border and fill colors is what I'd like to see - effectively how it is was before

I can try to swap it myself but I don't have dev environment ready... If I swap it myself, is there CI set-up to see if it looks as intended or shall I setup dev environment myself?

fo-code commented 2 years ago

Okay well, this is not dependent on the classes I mentioned before. The border color is calculated based on the fill color of the tree nodes - see borderColorSaturation. The echarts documentation says that an alternating high color saturation is a good option for distinguishing different sections.

I adjusted these options in the PR #455 and also changed that the tree map is shown on the whole screen. Maybe you could try it and give me some feedback? Also, I uploaded some examples in the PR.

When you want to change some values by yourself, you can use this development environment for example.

argorain commented 2 years ago

Hi!, preview pictures looks good, let me try it out myself on test instance :)