feat(opentelemetry): add upstream client span - #13946
Open
cuongquochoang wants to merge 4 commits into
Open
cuongquochoang wants to merge 4 commits into
cuongquochoang wants to merge 4 commits into
Conversation
Contributor
|
Please resolve merge conflicts, thanks |
…-upstream-client-span # Conflicts: # apisix/plugins/ext-plugin-post-resp.lua
Author
|
@janiussyafiq Resolved the conflicts with #13940 by merging master. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
APISIX currently propagates the gateway SERVER span directly to an upstream service. Without a CLIENT span for the proxy hop, APM service maps cannot represent the APISIX-to-upstream relationship correctly.
This change:
apisix.upstreamCLIENT span for every upstream attempt;ext-plugin-post-respperforms the outbound request and then exits early;The tests cover span hierarchy and propagation, HTTP/2 request isolation, retry attempts, connection failures, early exits with and without a custom upstream dispatch, timing bounds, and error status handling.
Which issue(s) this PR fixes:
Fixes #13945
Tests
t/plugin/opentelemetry6.t— 75 assertions passedopentelemetry.tthroughopentelemetry6.t) — 226 assertions passedlj-releng, test-code-style, Markdown lint, andgit diff --checkchecks passedmake lint: LuaCheck passed;lj-relengstill reports pre-existing Unicode separator comments in unrelated service-discovery filesChecklist