make DatadogSpanContext.toTraceId and DatadogSpanContext.toSpanId more defensive #5147
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Add handling for the cases _traceId or _spanId is undefined as a possible fix for this issue
Motivation
This line technically makes it possible to have a DatadogSpanContext object with no _traceId or _spanId, even though I'm not sure when this case will be reached, other than when the only propagation style is
baggage
in the tracer config object. Some customers reported they started seeing crashes due to this issue after their services have been running for a while, so I think there is probably some edge cases that are currently unaccounted for. This PR is an attempt at remedying this.Plugin Checklist
Additional Notes