Skip to content
This repository has been 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
merged 5 commits into from
Dec 3, 2018

Conversation

lmolkova
Copy link
Member

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
Member 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