Perfetto trace points on the hot path, so a profile shows SuperPlayer's phases
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Domain
- mobile, observability
Research direction
Start with PRD.md §3.6 and the existing devicelab smoke run that already captures a Perfetto trace. Add the androidx.tracing entry to the version catalog and its row in THIRD_PARTY.md, then wrap the named phases (request adoption, engine build, prepare, first frame, selection, load and retries, fallback) in trace sections. Done means every section closes on error paths and a committed devicelab trace shows those phases. This depends on #285, which is still open.
Written by the indexing model from the issue text.
Description
Parent
#284
What to build
A Perfetto capture of a device playing through SuperPlayer currently shows Media3's and the platform's work — MediaCodec, the loader, the renderers — and nothing of the library's own phases. PRD.md §3.6 asks for trace points on the hot path via androidx.tracing, so that a profile shows where a start-up second actually went.
androidx.tracing is not in the version catalog at all, so it arrives here with its row in THIRD_PARTY.md, as every dependency does.
What to instrument is the phases a reader would ask about: adopting a request, building the engine, preparing, the wait for the first frame, a selection being decided and re-decided, a load and its retries, and a fallback rung being climbed. Sections must be cheap enough to leave on in a release build, or be argued down to debug builds with a reason.
devicelab already captures a Perfetto trace on a smoke run, so the verification is that run's own artifact rather than a new harness.
Acceptance criteria
-
androidx.tracingis in the version catalog with itsTHIRD_PARTY.mdrow in the same change - The named phases appear as trace sections, each opened and closed on the same thread, with no section left open on an error path
- The cost of the instrumentation when tracing is off is stated and argued, and the decision about release versus debug builds is written where the sections are
- A devicelab capture shows SuperPlayer's phases, and the evidence is committed with the run
-
./gradlew assemble checkpasses
Blocked by
- #285
- Dominant language
- Kotlin
- Stars
- 1
- Forks
- 0
- Avg merge
- 1h 20m
- Merged PRs (30d)
- 172
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ramesh130/superplayer
-
bug need-device
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
ramesh130/superplayer#495 ·
Maintainers usually reply within 1 day
-
Flakes (Android): AudioCapabilityChangeTest reselect wait and DownloadConditionsTest metered stopOpenready-for-agent
Difficulty 4/5 1-2 days Newbie friendliness 28/100
ramesh130/superplayer#526 ·
Maintainers usually reply within 1 day
-
ios ready-for-agent
Difficulty 4/5 3-5 days Newbie friendliness 28/100
ramesh130/superplayer#518 ·
Maintainers usually reply within 1 day
-
ready-for-agent
Difficulty 4/5 1-2 days Newbie friendliness 58/100
ramesh130/superplayer#501 ·
Maintainers usually reply within 1 day
-
ready-for-agent
Difficulty 4/5 3-5 days Newbie friendliness 48/100
ramesh130/superplayer#500 ·
Maintainers usually reply within 1 day
All issues in ramesh130/superplayer
Similar issues
-
bug follow-up
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
binding:web core docs p3
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
RunanywhereAI/runanywhere-sdks#1123 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
openai/openai-java#1202 ·
Maintainers usually reply within 1 day
-
StepExamBenchmarkTest runs a loop and prints a timing but asserts nothingPossibly taken A pull request linked to this issue is open or already merged. Openjules
Difficulty 1/5 Under an hour Newbie friendliness 82/100
open-learning-exchange/myplanet#18199 · 1 comment ·
Maintainers usually reply within 4 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
auth0/Auth0.Android#1095 · 1 comment ·
Maintainers usually reply within 1 day