-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
feat(tracing): Add instana header support in propagation #13915
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you so much for this great contribution! A couple of notes:
- For consistency, this should be supported by the Zipkin plugin as well, which requires a small schema update similar to what was done for OpenTelemetry in this PR, and an integration test in
spec/03-plugins/34-zipkin/zipkin_spec.lua
. - The test in
spec/01-unit/26-observability/02-propagation_strategies_spec.lua
should be updated as well to include this new header format
if trace_id then | ||
trace_id = trace_id:match("^(%x+)") | ||
if not trace_id then | ||
kong.log.warn("x-instana-t header invalid; ignoring.") | ||
end | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would use different variables instead of reassigning the extracted trace_id
to the same variable that contained the raw header's value. Here, if the match
fails we're logging a warning but then the code proceeds with the raw header's value in the trace_id
variable, which can be error prone.
In addition to my previous comment, this needs a rebase. |
e28fb70
to
0c0f894
Compare
|
||
trace_id = from_hex(trace_id_raw) or nil | ||
span_id = from_hex(span_id_raw) or nil | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have updated trace_id
, span_id
, level_id
variable name to trace_id_raw
, span_id_raw
and level_id_raw
Also since we dont use correlation_type
and correlationId
here, changed
level_id_raw = level_id_raw:match("^([0-1])$")
or level_id_raw:match("^([0-1]),correlationType=(.-);correlationId=(.*)")
to
level_id_raw = level_id_raw:match("^([0-1])$")
or level_id_raw:match("^([0-1]).")
Summary
Checklist
changelog/unreleased/kong
orskip-changelog
label added on PR if changelog is unnecessary. README.mdIssue reference
Fix #12494