Repository navigation
Commit bc48e9b
docs(android): Explain when ProfilingManager rejects profiling requests (#20129)
## DESCRIBE YOUR PR
On Android 15+, UI Profiling runs on Android's `ProfilingManager`. Until
now the docs only said requests are "rate limited and not guaranteed".
This adds a **When Android Rejects Profiling Requests** section to the
Android profiling page that covers:
- How the SDK uses `ProfilingManager`: each chunk of up to 60s is a
separate request, and `trace` mode sends a new request each time it
restarts.
- Why Android rejects requests: the per-app hourly/daily/weekly budget
(`ERROR_FAILED_RATE_LIMIT_PROCESS`), the system-wide budget shared by
all apps (`ERROR_FAILED_RATE_LIMIT_SYSTEM`), and a profiling session
that's already running (`ERROR_FAILED_PROFILING_IN_PROGRESS`).
- Why the app start and first screens get profiled more often than parts
of the app users reach later in a session.
- How to use the `manual` lifecycle (`Sentry.startProfiler()` /
`Sentry.stopProfiler()`) to spend the limited budget on specific flows.
I also moved the existing local-testing `adb` tip into this section and
added a troubleshooting entry that points to it.
The behavior matches `PerfettoContinuousProfiler` / `PerfettoProfiler`
in sentry-java (60s `MAX_CHUNK_DURATION_MILLIS`, rate-limit error
logging) and Android's [profiling
limitations](https://developer.android.com/topic/performance/tracing/profiling-manager/will-my-profile-always-be-collected#how-rate-limiting-works)
page.
## IS YOUR CHANGE URGENT?
- [ ] Urgent deadline (GA date, etc.): YYYY-MM-DD
- [ ] Other deadline: YYYY-MM-DD
- [x] No deadline: Not urgent, can wait up to 1 week+
## PRE-MERGE CHECKLIST
- [ ] 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](https://github.com/orgs/getsentry/teams/docs)
<!-- junior-request-attribution:start -->
via **markus.hintersteiner**.
<!-- junior-request-attribution:end -->
<!-- junior-session-footer:start -->
<!-- junior-conversation-id:slack%3AD0ANA6YA22F%3A1792582667.364859 -->
--
[View Junior
Session](https://junior-prod.sentry.dev/conversations/slack%3AD0ANA6YA22F%3A1792582667.364859)
[[Sentry]](https://sentry.sentry.io/explore/conversations/slack%3AD0ANA6YA22F%3A1792582667.364859/?project=4510944073809921)
<!-- junior-session-footer:end -->
---------
Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com>
Co-authored-by: Markus Hintersteiner <markus.hintersteiner@sentry.io>1 parent 721e58a commit bc48e9b
2 files changed
Lines changed: 26 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
176 | | - | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
177 | 191 | | |
178 | 192 | | |
179 | 193 | | |
| |||
182 | 196 | | |
183 | 197 | | |
184 | 198 | | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
0 commit comments