feat: introduce "exit spans" and mark S3 spans as exit spans#2552
feat: introduce "exit spans" and mark S3 spans as exit spans#2552
Conversation
Per https://github.com/elastic/apm/blob/main/specs/agents/tracing-spans.md#exit-spans the result is that HTTP child spans of S3 spans are no longer captured. Closes: #2125
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
🤖 GitHub commentsTo re-run your PR in the CI, just comment with:
|
|
I'm experimenting a bit with adding some However, I am inclined to not include:
|
…me of this info might be helpful
|
run module tests for aws-sdk |
|
The TAV test run for aws-sdk is getting out of hand again. They are a lot of the slowest TAV runs: Current TAV runs are testing all these release versions: I'll update the versions to test: |
|
run module tests for aws-sdk |
| return null | ||
| } | ||
| return this._runCtxMgr.active().currTransaction() || null | ||
| return this._runCtxMgr.active().currTransaction() |
There was a problem hiding this comment.
REVIEW NOTE: This was redundant. RunContext.currTransaction() already defaults to null if there isn't a transaction.
Per https://github.com/elastic/apm/blob/main/specs/agents/tracing-spans.md#exit-spans
the result is that HTTP child spans of S3 spans are no longer captured.
Closes: #2125
Overview
There is a boolean
exitSpanoption to thestartSpan()APIs now, which we'll eventually use in our instrumentations. For now I've just added it to thes3instrumentation to get a feel. When creating a new span, if its parent is an exitSpan then the span won't be created.I manually tested that context-propagation still works, but don't have a test case for that, because it is a pain in the S3 tests. I plan to add tests for context-propagation still working in #2000 (because I already have a MockES in tests that I can easily use to test the
traceparentet al headers).In subsequent PRs we can work through adding
, { exitSpan: true }to the relevant instrumentations.Checklist