opentelemetry-plugin icon indicating copy to clipboard operation
opentelemetry-plugin copied to clipboard

Using withSpanAttribute removes information about stages

Open 1davidmichael opened this issue 11 months ago • 2 comments

Jenkins and plugins versions report

Environment
Jenkins: 2.448
OS: Linux - 6.1.75-0-virt
Java: 17.0.10 - 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
bootstrap5-api:5.3.2-4
bouncycastle-api:2.30.1.77-225.v26ea_c9455fd9
branch-api:2.1152.v6f101e97dd77
build-timeout:1.32
caffeine-api:3.1.8-133.v17b_1ff2e0599
checks-api:2.0.2
cloudbees-folder:6.928.v7c780211d66e
commons-lang3-api:3.13.0-62.v7d18e55f51e2
commons-text-api:1.11.0-95.v22a_d30ee5d36
credentials:1337.v60b_d7b_c7b_c9f
credentials-binding:657.v2b_19db_7d6e6d
dark-theme:439.vdef09f81f85e
display-url-api:2.200.vb_9327d658781
durable-task:550.v0930093c4b_a_6
echarts-api:5.4.3-4
email-ext:2.105
font-awesome-api:6.5.1-3
git:5.2.1
git-client:4.6.0
github:1.38.0
github-api:1.318-461.v7a_c09c9fa_d63
github-branch-source:1772.va_69eda_d018d4
gradle:2.10
gson-api:2.10.1-15.v0d99f670e0a_7
instance-identity:185.v303dc7c645f9
ionicons-api:56.v1b_1c8c49374e
jackson2-api:2.16.1-373.ve709c6871598
jakarta-activation-api:2.1.3-1
jakarta-mail-api:2.1.3-1
javax-activation-api:1.2.0-6
javax-mail-api:1.6.2-9
jaxb:2.3.9-1
jjwt-api:0.11.5-77.v646c772fddb_0
joda-time-api:2.12.7-29.v5a_b_e3a_82269a_
jquery3-api:3.7.1-2
json-path-api:2.9.0-33.v2527142f2e1d
junit:1259.v65ffcef24a_88
ldap:711.vb_d1a_491714dc
mailer:470.vc91f60c5d8e2
matrix-auth:3.2.1
matrix-project:822.824.v14451b_c0fd42
metrics:4.2.21-449.v6960d7c54c69
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
opentelemetry:3.1111.vc2733c03b_db_1
pam-auth:1.10
pipeline-build-step:540.vb_e8849e1a_b_d8
pipeline-github-lib:42.v0739460cda_c4
pipeline-graph-analysis:216.vfd8b_ece330ca_
pipeline-graph-view:225.v87c53b_9237dd
pipeline-groovy-lib:704.vc58b_8890a_384
pipeline-input-step:491.vb_07d21da_1a_fb_
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-stage-step:305.ve96d0205c1c6
pipeline-stage-tags-metadata:2.2175.v76a_fff0a_2618
plain-credentials:179.vc5cb_98f6db_38
plugin-util-api:4.1.0
resource-disposer:0.23
scm-api:683.vb_16722fb_b_80b_
script-security:1326.vdb_c154de8669
snakeyaml-api:2.2-111.vc6598e30cc65
ssh-credentials:322.v124df57ed808
ssh-slaves:2.948.vb_8050d697fec
structs:337.v1b_04ea_4df7c8
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:1049.v257a_e6b_30fb_d
workflow-cps:3880.vb_ef4b_5cfd270
workflow-durable-task-step:1331.vc8c2fed35334
workflow-job:1400.v7fd111b_ec82f
workflow-multibranch:783.va_6eb_ef636fb_d
workflow-scm-step:415.v434365564324
workflow-step-api:657.v03b_e8115821b_
workflow-support:865.v43e78cc44e0d
ws-cleanup:0.45

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

We've seen this in our production environments running Jenkins on Alma Linux but I have duplicated the same issue running in a fresh install of Jenkins via the official Docker image locally.

Reproduction steps

  1. Create a Jenkins pipeline
  2. In a stage add a withSpanAttribute section
  3. Run pipeline and view resulting spans, notice that Stage: Hello spans are no longer present

Expected Results

I'd expect that stage level info persists when adding additional attributes with the withSpanAttribute function. Screenshot 2024-03-06 at 8 40 41 AM

Actual Results

Stage spans are removed from the transaction. Screenshot 2024-03-06 at 8 40 29 AM

Anything else?

Sample pipeline

pipeline {
    agent any

    stages {
        stage('Hello') {
            
            steps {
                withSpanAttribute(key: "test_key", value: "test_value")
                echo 'Hello World'
            }
        }
    }
}

No response

Are you interested in contributing a fix?

Possibly but I am not a regular Java developer.

1davidmichael avatar Mar 06 '24 14:03 1davidmichael

I am trying to replicate it with the latest code against Elastic Stack 8.13.0, and I cannot replicate it. The label is set and the spans are correct.

pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                withSpanAttribute(key: "test_key", value: "test_value")
                echo 'Hello World'
            }
        }
    }
}

Screenshot 2024-03-15 at 21 29 17 Screenshot 2024-03-15 at 21 30 15

kuisathaverat avatar Mar 15 '24 20:03 kuisathaverat

Could it be that you clicked on the link to go to the spans too fast? I mean, the spans take about a minute (or so) to become available in the backend.

kuisathaverat avatar Mar 15 '24 20:03 kuisathaverat