Skip to content

Expose trace IDs as environment variables#134

Merged
drodriguezhdez merged 6 commits into
masterfrom
drodriguezhdez/inject_envvars
Oct 7, 2020
Merged

Expose trace IDs as environment variables#134
drodriguezhdez merged 6 commits into
masterfrom
drodriguezhdez/inject_envvars

Conversation

@drodriguezhdez

@drodriguezhdez drodriguezhdez commented Sep 29, 2020

Copy link
Copy Markdown
Collaborator

Requirements for Contributing to this repository

  • Fill out the template below. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
  • The pull request must only fix one issue at the time.
  • The pull request must update the test suite to demonstrate the changed functionality.
  • After you create the pull request, all status checks must be pass before a maintainer reviews your contribution. For more details, please see CONTRIBUTING.

What does this PR do?

This PR exposes the traces ids, such as trace_id and span_id, of the traces spans as environment variables.
The environment variables are:

  • X_DATADOG_TRACE_ID for the traceID.
  • X_DATADOG_PARENT_ID for the spanID.

Those environment variables are available for Jenkins Build span, and for all Jenkins Pipeline workflow steps, setting the correct spanID in the correct step environment.

This feature is required to be able to correlate spans sent from the datadog-ci tool.

Description of the Change

Alternate Designs

Possible Drawbacks

Verification Process

Additional Notes

Release Notes

Review checklist (to be filled by reviewers)

  • Feature or bug fix MUST have appropriate tests (unit, integration, etc...)
  • PR title must be written as a CHANGELOG entry (see why)
  • Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
  • PR must have one changelog/ label attached. If applicable it should have the backward-incompatible label attached.
  • PR should not have do-not-merge/ label attached.
  • If Applicable, issue must have kind/ and severity/ labels attached at least.

@drodriguezhdez drodriguezhdez added the changelog/Added Added features results into a minor version bump label Sep 29, 2020
@drodriguezhdez drodriguezhdez self-assigned this Sep 29, 2020

@FlorianVeaux FlorianVeaux left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good, can we avoid reflection by adding the appropriate API in datadog.opentracing.OTSpan?
Also could definitely use more tests.

@drodriguezhdez

Copy link
Copy Markdown
Collaborator Author

I'd say it's not possible to add this API to datadog.opentracing.OTSpan because the lack of this API is intended, as we don't want the user can modify the IDs of the Spans. This should be an internal detail.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/Added Added features results into a minor version bump

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants