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

W3C TraceContext compliance #74

Open
reyang opened this issue May 8, 2020 · 8 comments · Fixed by #476, #480 or #487 · May be fixed by #3115
Open

W3C TraceContext compliance #74

reyang opened this issue May 8, 2020 · 8 comments · Fixed by #476, #480 or #487 · May be fixed by #3115
Assignees
Labels
do-not-stale help wanted Good for taking. Extra help will be provided by maintainers priority:p1 Issues that are blocking release:required-for-ga To be resolved before GA release

Comments

@reyang
Copy link
Member

reyang commented May 8, 2020

Implement W3C TraceContext and get 100% pass rate from the validation service https://github.com/w3c/trace-context/tree/master/test.

CI should be implemented which verifies the TraceContext compliance.

@reyang reyang added this to the Alpha v0.2 milestone May 8, 2020
@reyang
Copy link
Member Author

reyang commented May 26, 2020

FYI - how OpenTelemetry Python did this open-telemetry/opentelemetry-python#228

@lalitb lalitb added help wanted Good for taking. Extra help will be provided by maintainers priority:p1 Issues that are blocking release:required-for-ga To be resolved before GA release labels Dec 16, 2020
@pyohannes pyohannes self-assigned this Dec 22, 2020
@pyohannes pyohannes reopened this Dec 23, 2020
@pyohannes pyohannes linked a pull request Jan 21, 2021 that will close this issue
@lalitb lalitb modified the milestones: Alpha v0.2, 1.0.0-rc.1 Apr 26, 2021
@lalitb
Copy link
Member

lalitb commented Apr 30, 2021

After #563 ( tracestate integration ), 9 tests are still failing. keeping it open till it's fixed.

STRICT_LEVEL: 2
harness listening on http://127.0.0.1:7777
test_multiple_requests_with_illegal_traceparent (__main__.AdvancedTest)
harness sends an invalid traceparent and asks vendor service to callback multiple times ... ok
test_multiple_requests_with_valid_traceparent (__main__.AdvancedTest)
harness sends a valid traceparent and asks vendor service to callback multiple times ... ok
test_multiple_requests_without_traceparent (__main__.AdvancedTest)
harness asks vendor service to callback multiple times ... ok
test_both_traceparent_and_tracestate_missing (__main__.TraceContextTest)
harness sends a request without traceparent or tracestate ... ok
test_traceparent_duplicated (__main__.TraceContextTest)
harness sends a request with two traceparent headers ... FAIL
test_traceparent_header_name (__main__.TraceContextTest)
harness sends an invalid traceparent using wrong names ... ok
test_traceparent_header_name_valid_casing (__main__.TraceContextTest)
harness sends a valid traceparent using different combination of casing ... ok
test_traceparent_included_tracestate_missing (__main__.TraceContextTest)
harness sends a request with traceparent but without tracestate ... ok
test_traceparent_ows_handling (__main__.TraceContextTest)
harness sends an valid traceparent with heading and trailing OWS ... FAIL
test_traceparent_parent_id_all_zero (__main__.TraceContextTest)
harness sends an invalid traceparent with parent_id = 0000000000000000 ... ok
test_traceparent_parent_id_illegal_characters (__main__.TraceContextTest)
harness sends an invalid traceparent with illegal characters in parent_id ... ok
test_traceparent_parent_id_too_long (__main__.TraceContextTest)
harness sends an invalid traceparent with parent_id more than 16 HEXDIG ... ok
test_traceparent_parent_id_too_short (__main__.TraceContextTest)
harness sends an invalid traceparent with parent_id less than 16 HEXDIG ... ok
test_traceparent_trace_flags_illegal_characters (__main__.TraceContextTest)
harness sends an invalid traceparent with illegal characters in trace_flags ... ok
test_traceparent_trace_flags_too_long (__main__.TraceContextTest)
harness sends an invalid traceparent with trace_flags more than 2 HEXDIG ... ok
test_traceparent_trace_flags_too_short (__main__.TraceContextTest)
harness sends an invalid traceparent with trace_flags less than 2 HEXDIG ... ok
test_traceparent_trace_id_all_zero (__main__.TraceContextTest)
harness sends an invalid traceparent with trace_id = 00000000000000000000000000000000 ... ok
test_traceparent_trace_id_illegal_characters (__main__.TraceContextTest)
harness sends an invalid traceparent with illegal characters in trace_id ... ok
test_traceparent_trace_id_too_long (__main__.TraceContextTest)
harness sends an invalid traceparent with trace_id more than 32 HEXDIG ... ok
test_traceparent_trace_id_too_short (__main__.TraceContextTest)
harness sends an invalid traceparent with trace_id less than 32 HEXDIG ... ok
test_traceparent_version_0x00 (__main__.TraceContextTest)
harness sends an invalid traceparent with extra trailing characters ... ok
test_traceparent_version_0xcc (__main__.TraceContextTest)
harness sends an valid traceparent with future version 204 (0xcc) ... FAIL
test_traceparent_version_0xff (__main__.TraceContextTest)
harness sends an invalid traceparent with version 255 (0xff) ... ok
test_traceparent_version_illegal_characters (__main__.TraceContextTest)
harness sends an invalid traceparent with illegal characters in version ... ok
test_traceparent_version_too_long (__main__.TraceContextTest)
harness sends an invalid traceparent with version more than 2 HEXDIG ... ok
test_traceparent_version_too_short (__main__.TraceContextTest)
harness sends an invalid traceparent with version less than 2 HEXDIG ... ok
test_tracestate_all_allowed_characters (__main__.TraceContextTest)
harness sends a request with a valid tracestate header with all legal characters ... ok
test_tracestate_duplicated_keys (__main__.TraceContextTest)
harness sends a request with an invalid tracestate header with duplicated keys ... FAIL
test_tracestate_empty_header (__main__.TraceContextTest)
harness sends a request with empty tracestate header ... FAIL
test_tracestate_header_name (__main__.TraceContextTest)
harness sends an invalid tracestate using wrong names ... ok
test_tracestate_header_name_valid_casing (__main__.TraceContextTest)
harness sends a valid tracestate using different combination of casing ... ok
test_tracestate_included_traceparent_included (__main__.TraceContextTest)
harness sends a request with both tracestate and traceparent ... ok
test_tracestate_included_traceparent_missing (__main__.TraceContextTest)
harness sends a request with tracestate but without traceparent ... ok
test_tracestate_key_illegal_characters (__main__.TraceContextTest)
harness sends a request with an invalid tracestate header with illegal key ... ok
test_tracestate_key_illegal_vendor_format (__main__.TraceContextTest)
harness sends a request with an invalid tracestate header with illegal vendor format ... ok
test_tracestate_key_length_limit (__main__.TraceContextTest)
harness sends tracestate header with a key of 256 and 257 characters ... FAIL
test_tracestate_member_count_limit (__main__.TraceContextTest)
harness sends a request with a valid tracestate header with 32 list members ... FAIL
test_tracestate_multiple_headers_different_keys (__main__.TraceContextTest)
harness sends a request with multiple tracestate headers, each contains different set of keys ... FAIL
test_tracestate_ows_handling (__main__.TraceContextTest)
harness sends a request with a valid tracestate header with OWS ... FAIL
test_tracestate_value_illegal_characters (__main__.TraceContextTest)
harness sends a request with an invalid tracestate header with illegal value format ... ok

----------------------------------------------------------------------
Ran 40 tests in 0.807s

FAILED (failures=9)
``

@lalitb
Copy link
Member

lalitb commented Jun 3, 2021

Moving to GA milestone, as fix doesn't involve api/sdk interface changes. And few of the failures are related to issues with the test suite used for validation.

@lalitb lalitb modified the milestones: 1.0.0-rc.1, 1.0.0 GA Jun 3, 2021
@reyang reyang removed this from the 1.0.0 milestone Sep 23, 2021
@github-actions
Copy link

github-actions bot commented Dec 7, 2021

This issue was marked as stale due to lack of activity. It will be closed in 7 days if no furthur activity occurs.

@github-actions github-actions bot added the Stale label Dec 7, 2021
@lalitb lalitb added do-not-stale and removed Stale labels Dec 7, 2021
@github-actions
Copy link

github-actions bot commented Feb 6, 2022

This issue was marked as stale due to lack of activity. It will be closed in 7 days if no furthur activity occurs.

@github-actions github-actions bot added the Stale label Feb 6, 2022
@lalitb lalitb assigned lalitb and unassigned pyohannes Feb 6, 2022
@lalitb lalitb removed the Stale label Feb 6, 2022
@marcalff
Copy link
Member

It would be good to resolve this issue for level 1, in preparation for:

@psx95
Copy link
Contributor

psx95 commented Oct 18, 2024

I could take this up, if there are no takers. Please feel free to assign this to me.

@lalitb
Copy link
Member

lalitb commented Oct 18, 2024

Thanks @psx95, it's yours :)

@psx95 psx95 linked a pull request Oct 30, 2024 that will close this issue
17 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment