Skip to content

Conversation

@s1gr1d
Copy link
Member

@s1gr1d s1gr1d commented Oct 17, 2025

DESCRIBE YOUR PR

Add docs for Profiling API based on those Notion docs: https://www.notion.so/sentry/Continuous-UI-Profiling-SDK-API-Spec-17e8b10e4b5d80c59a40c6e114470934?source=copy_link

IS YOUR CHANGE URGENT?

Help us prioritize incoming PRs by letting us know when the change needs to go live.

  • Urgent deadline (GA date, etc.):
  • Other deadline:
  • None: Not urgent, can wait up to 1 week+

SLA

  • Teamwork makes the dream work, so please add a reviewer to your PRs.
  • Please give the docs team up to 1 week to review your PR unless you've added an urgent due date to it.
    Thanks in advance for your help!

PRE-MERGE CHECKLIST

Make sure you've checked the following before merging your changes:

  • Checked Vercel preview for correctness, including links
  • PR was reviewed and approved by any necessary SMEs (subject matter experts)
  • PR was reviewed and approved by a member of the Sentry docs team

@vercel
Copy link

vercel bot commented Oct 17, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
develop-docs Ready Ready Preview Comment Oct 22, 2025 11:27am
1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
sentry-docs Ignored Ignored Preview Oct 22, 2025 11:27am

The definition of a profiling session depends on the profiling type:

- **Continuous Profiling**: The session starts when the Sentry SDK is configured and stops when the service terminates. `profile_session_sample_rate` controls the percentage of service instances that have profiling enabled. Sampling is re-evaluated on service restart or redeployment.
- **UI Profiling**: The session corresponds to a user session. A user session starts with a new SDK initialization and ends when the tab is closed or like a [Replay session](/product/explore/session-replay/web/) ends. `profile_session_sample_rate` sets the percentage of user sessions for which profiling is enabled. So this sampling decision is made once on SDK initialization.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's a grammar issue here "ends when the tab is closed or like a Replay session ends"

The definition of a profiling session depends on the profiling type:

- **Continuous Profiling**: The session starts when the Sentry SDK is configured and stops when the service terminates. `profile_session_sample_rate` controls the percentage of service instances that have profiling enabled. Sampling is re-evaluated on service restart or redeployment.
- **UI Profiling**: The session corresponds to a user session. A user session starts with a new SDK initialization and ends when the tab is closed or like a [Replay session](/product/explore/session-replay/web/) ends. `profile_session_sample_rate` sets the percentage of user sessions for which profiling is enabled. So this sampling decision is made once on SDK initialization.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **UI Profiling**: The session corresponds to a user session. A user session starts with a new SDK initialization and ends when the tab is closed or like a [Replay session](/product/explore/session-replay/web/) ends. `profile_session_sample_rate` sets the percentage of user sessions for which profiling is enabled. So this sampling decision is made once on SDK initialization.
- **UI Profiling**: The session corresponds to a user session. A user session starts with a new SDK initialization and ends when the tab is closed or a [Replay session](/product/explore/session-replay/web/) ends. `profile_session_sample_rate` sets the percentage of user sessions for which profiling is enabled. So this sampling decision is made once on SDK initialization.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wrote it a bit differently, as I wanted to say that it can end "like" a replay session. But the wording was indeed weird :D

A user session starts with a new SDK initialization. It ends when the browser tab is closed, or alternatively, under the same conditions that end a Replay session.


## Public API

The SDK should expose the following functions to control the profiler.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The SDK should expose the following functions to control the profiler.
The SDK should expose the following functions to control the profiler:

Copy link
Contributor

@coolguyzone coolguyzone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good 👍

@s1gr1d s1gr1d merged commit 437ae82 into master Oct 22, 2025
12 checks passed
@s1gr1d s1gr1d deleted the sig/profiling-dev-docs branch October 22, 2025 11:47
codyde added a commit that referenced this pull request Oct 27, 2025
…s-examples

* origin/master: (478 commits)
  docs(godot): Structured logging (#15287)
  fix(batch-processor): Don't enforce starting timer (#15309)
  feat(node): Add new options to nativeNodeFetchIntegration (#15282)
  Updated dotnet options to include all defaults (#15218)
  ref: add docs that logs channel is optional (#15172)
  docs(svelteKit): Update build-time options for source maps (#15283)
  fix(python): Fix paragraph order in Strawberry docs (#15301)
  Added docs explaining how to disable Sentry Native in the .NET SDK (#15293)
  Updated Unity options with missing defaults (#15219)
  docs(otlp): Update docs for client SDK w3c traceparent support (#15294)
  Adding defaults for Godot options (#15216)
  feat(crons): Document broken monitors feature (#15280)
  fix: Remove OTLP logs from EA list (#15288)
  Bump API schema to 06047b60 (#15276)
  ref(nextjs): Move manual instrumentation examples for ai into Edge section (#15284)
  docs(otlp): change status to open beta (#15285)
  Hono runtime and middleware doc updates (#14853)
  feat(logs): Clarify API for Hub/Scope and Client (#15281)
  docs(astro/nuxt): Remove `sourceMapsUploadOptions` option nesting (#14905)
  docs(profiling): Add docs for Profiling API (#15258)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants