Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Perfetto trace points on the hot path, so a profile shows SuperPlayer's phases

Open
#293 0 comments 0 reactions 0 assignees View on GitHub

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
Tech stack
android, kotlin

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

need-device ready-for-agent

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.tracing is in the version catalog with its THIRD_PARTY.md row 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 check passes

Blocked by

  • #285
Dominant language
Kotlin
Stars
1
Forks
0
Avg merge
1h 20m
Merged PRs (30d)
172

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ramesh130/superplayer

All issues in ramesh130/superplayer

Similar issues

More Kotlin issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.