getsentry / getsentry/sentry-javascript

profiling-node should store `profile_id` on span rather than profile context

Open
#15,405 2 comments 0 reactions 0 assignees View on GitHub
Improvement Profiles profiling-node
Dominant language
TypeScript
Stars
8.7k
Forks
1.8k
Avg merge
1d 17h
Merged PRs (30d)
523

Description

### Description

Currently `@sentry/profiling-node` stores the `profile_id` on the isolated context:
https://github.com/getsentry/sentry-javascript/blob/ec02f84fc6597e73bbc1c6d905da7b12b15dbc07/packages/profiling-node/src/integration.ts#L87

This means the profile cannot be found if there are multiple versions of `@sentry/core` in the dependencies.

Instead can we store the `profile_id` on the span? There's already a property for this:
https://github.com/getsentry/sentry-javascript/blob/bfe7bfa53270fc6f173e49f79177d367f1c78639/packages/core/src/types-hoist/span.ts#L49

Then the integration wouldn't rely on updating any scope. In the `beforeEnvelope` hook we just go through the spans until we find a `profile_id`?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.