Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

general tracing context interface #16793

Merged
merged 9 commits into from
Jun 29, 2021
Merged

general tracing context interface #16793

merged 9 commits into from
Jun 29, 2021

Conversation

wbpcode
Copy link
Member

@wbpcode wbpcode commented Jun 3, 2021

Signed-off-by: wbpcode [email protected]

Sub-PR of #16049. Check #16049 get more background information.

This PR designed a new generic abstraction TraceContext to replace Http::RequestHeaderMap to provide tracing context to the tracer driver. Http::RequestHeaderMapImpl already inherits from TraceContext and implements the relevant interfaces.

Next, we just need simply replace Http::RequestHeaderMap with TraceContext in all tracer drivers implementations. After that, the main body of the entire general tracing system is completed. I'm not sure, whether the replacement step requires a separate PR. Because it does not involve any new logic, but there will be a lot of file changes.

Risk Level: Low.
Testing: Added.
Docs Changes: N/A
Release Notes: N/A

@wbpcode
Copy link
Member Author

wbpcode commented Jun 3, 2021

/retest

@repokitteh-read-only
Copy link

Retrying Azure Pipelines:
Retried failed jobs in: envoy-presubmit

🐱

Caused by: a #16793 (comment) was created by @wbpcode.

see: more, trace.

@wbpcode
Copy link
Member Author

wbpcode commented Jun 3, 2021

@lizan @mattklein123 This PR is second sub-PR of #16049 and introduces the new TraceContext. All that remains is to replace the ReqeustHeaderMap with the TraceContext. 😃

@wbpcode
Copy link
Member Author

wbpcode commented Jun 3, 2021

@jmarantz Here I completed the new TraceContext without LowerCaseString. 😄

Copy link
Member

@rojkov rojkov left a comment

Choose a reason for hiding this comment

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

Thank you! Looks very good. I've added a couple of question.

test/test_common/utility.h Show resolved Hide resolved
include/envoy/tracing/trace_driver.h Outdated Show resolved Hide resolved
@wbpcode
Copy link
Member Author

wbpcode commented Jun 7, 2021

/retest

@repokitteh-read-only
Copy link

Retrying Azure Pipelines:
Retried failed jobs in: envoy-presubmit

🐱

Caused by: a #16793 (comment) was created by @wbpcode.

see: more, trace.

Signed-off-by: wbpcode <[email protected]>
rojkov
rojkov previously approved these changes Jun 7, 2021
Copy link
Member

@rojkov rojkov left a comment

Choose a reason for hiding this comment

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

Thanks! LGTM. @lizan I think this is ready for a second pass.

source/common/http/header_map_impl.cc Show resolved Hide resolved
source/common/http/header_map_impl.cc Outdated Show resolved Hide resolved
test/test_common/utility.h Outdated Show resolved Hide resolved
@lizan lizan added the waiting label Jun 11, 2021
Signed-off-by: wbpcode <[email protected]>
@wbpcode
Copy link
Member Author

wbpcode commented Jun 14, 2021

/retest

@repokitteh-read-only
Copy link

Retrying Azure Pipelines:
Retried failed jobs in: envoy-presubmit

🐱

Caused by: a #16793 (comment) was created by @wbpcode.

see: more, trace.

@wbpcode wbpcode requested a review from lizan June 19, 2021 07:28
Copy link
Member

@lizan lizan left a comment

Choose a reason for hiding this comment

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

LGTM, just one nit

source/common/http/header_map_impl.cc Outdated Show resolved Hide resolved
@wbpcode
Copy link
Member Author

wbpcode commented Jun 22, 2021

@lizan ASSERT removed and main merged.

@wbpcode
Copy link
Member Author

wbpcode commented Jun 22, 2021

/retest

@repokitteh-read-only
Copy link

Retrying Azure Pipelines:
Retried failed jobs in: envoy-presubmit

🐱

Caused by: a #16793 (comment) was created by @wbpcode.

see: more, trace.

@wbpcode wbpcode requested a review from lizan June 24, 2021 01:40
@lizan lizan merged commit ad628c5 into envoyproxy:main Jun 29, 2021
chrisxrepo pushed a commit to chrisxrepo/envoy that referenced this pull request Jul 8, 2021
Signed-off-by: wbpcode <[email protected]>

Sub-PR of envoyproxy#16049. Check envoyproxy#16049 get more background information.

This PR designed a new generic abstraction `TraceContext` to replace `Http::RequestHeaderMap` to provide tracing context to the tracer driver. `Http::RequestHeaderMapImpl` already inherits from TraceContext and implements the relevant interfaces.

Next, we just need simply replace `Http::RequestHeaderMap` with `TraceContext` in all tracer drivers implementations. After that, the main body of the entire general tracing system is completed. I'm not sure, whether the replacement step requires a separate PR. Because it does not involve any new logic, but there will be a lot of file changes. 

Risk Level: Low.
Testing: Added.
Docs Changes: N/A
Release Notes:  N/A

Signed-off-by: wbpcode <[email protected]>
Signed-off-by: chris.xin <[email protected]>
lizan pushed a commit that referenced this pull request Jul 8, 2021
Sub-PR of #16049. Check #16049 get more background information.

This PR is last sub-PR of #16049. It simply replaces `Http::RequestHeaderMap` with general `Tracing::TraceContext` in all tracer drivers implementations.

Check #16793 get more info about `Tracing::TraceContext`.

After this PR, the main body of the entire general tracing system is completed. Next, we can try to use the new general tracing system in dubbo and thrift.

Commit Message: replace RequestHeaderMap in tracers with general TraceContext
Risk Level: Low.
Testing: N/A.
Docs Changes: N/A.
Release Notes: N/A.

Signed-off-by: wbpcode <[email protected]>
leyao-daily pushed a commit to leyao-daily/envoy that referenced this pull request Sep 30, 2021
Signed-off-by: wbpcode <[email protected]>

Sub-PR of envoyproxy#16049. Check envoyproxy#16049 get more background information.

This PR designed a new generic abstraction `TraceContext` to replace `Http::RequestHeaderMap` to provide tracing context to the tracer driver. `Http::RequestHeaderMapImpl` already inherits from TraceContext and implements the relevant interfaces.

Next, we just need simply replace `Http::RequestHeaderMap` with `TraceContext` in all tracer drivers implementations. After that, the main body of the entire general tracing system is completed. I'm not sure, whether the replacement step requires a separate PR. Because it does not involve any new logic, but there will be a lot of file changes. 

Risk Level: Low.
Testing: Added.
Docs Changes: N/A
Release Notes:  N/A

Signed-off-by: wbpcode <[email protected]>
leyao-daily pushed a commit to leyao-daily/envoy that referenced this pull request Sep 30, 2021
…roxy#17212)

Sub-PR of envoyproxy#16049. Check envoyproxy#16049 get more background information.

This PR is last sub-PR of envoyproxy#16049. It simply replaces `Http::RequestHeaderMap` with general `Tracing::TraceContext` in all tracer drivers implementations.

Check envoyproxy#16793 get more info about `Tracing::TraceContext`.

After this PR, the main body of the entire general tracing system is completed. Next, we can try to use the new general tracing system in dubbo and thrift.

Commit Message: replace RequestHeaderMap in tracers with general TraceContext
Risk Level: Low.
Testing: N/A.
Docs Changes: N/A.
Release Notes: N/A.

Signed-off-by: wbpcode <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants