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.
Note: this is only a discussions PR with no intention of merging (hence no tests)
Wanted to get feedback on this PR :) primarily, which of these ideas might be worth pursuing. At the moment, I've forked 4 modules which can be difficult to work with, so the less modules that deviate from the main branch the better.
One thing I've noticed is that when Hub Branching is enabled, breadcrumbs do not appear, likely due to the heavy use of hub & scope cloning, which breaks bubbling of breadcrumbs back to the transaction - does that sound right? I noticed some discussion here: https://develop.sentry.dev/sdk/research/performance#conflicting-data-propagation-expectations
Features included:
Hub Branching
trace
in the node package (src/utils.ts
) and is a workaround for the limitation of scopes being stored in a Stack data structure (and not a Tree, that would be required to trace concurrent spans)Sentry.init({ enableHubBranching: true })
HTTP
sentry-trace
header being sent in a request, while retaining the tracing functionalityhttp.client
span, to include time to lookup hostname, and time to establish connectionAWS Lambda
domain.create
when accepting incoming HTTP messages)aws.request
op stays as the leaf span)Postgres
loadModule
which tends to break bundlers. Integration user passes in module to constructor (similar to the Express tracer)pg
package when using webpack #4099loadModule
when using PnP #4077client.connect
pg
connection, i.e.client.connect()
#4158