Skip to content
This repository was archived by the owner on Jul 5, 2020. It is now read-only.

When Activity has root id compatible with W3C Id, use it as trace id#1107

Merged
lmolkova merged 5 commits intodevelopfrom
lmolkova/reuseActivityRootIdWhenCompatibleWithW3C
Dec 3, 2018
Merged

When Activity has root id compatible with W3C Id, use it as trace id#1107
lmolkova merged 5 commits intodevelopfrom
lmolkova/reuseActivityRootIdWhenCompatibleWithW3C

Conversation

@lmolkova
Copy link
Copy Markdown

The transition to W3C standard in customer distributed system starts with frontend service. The first service should generate W3C compatible operation id that could be used downstream on all services whether they support W3C or not.

This change checks

  • if Request-Id is present
  • if traceparent (w3c header) is not present
  • if Request-Id root part (operation id) is valid w3c traceId

THEN is uses root id as traceid.

As a result when customer updates frontend to AppInsights 2.7+ and when it calls downstream service, it emits Request-Id = |traceId.1. and traceparent = 00-trace-id-spanId-00

This guarantees common operation id on all downstream services.

@lmolkova
Copy link
Copy Markdown
Author

@MS-TimothyMothra please review

@lmolkova lmolkova merged commit 2320709 into develop Dec 3, 2018
lmolkova pushed a commit that referenced this pull request Dec 3, 2018
lmolkova pushed a commit that referenced this pull request Dec 3, 2018
* Add more ServiceBus test cases for W3C enabled scenario

* Fix broken tests after merge with #1107
@lmolkova lmolkova deleted the lmolkova/reuseActivityRootIdWhenCompatibleWithW3C branch September 3, 2019 20:44
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants