Specify that widget rebuilds is only available when running in debug-mode

Open Beginner friendly
#9,730 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
74/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
dart
Domain
devtools

Research direction

Start in the performance panel code that renders the disabled widget-rebuild checkbox and the "To see widget rebuilds" text; trace how it handles the trackRebuildDirtyWidgets service extension and the debugOnRebuildDirtyWidget limitation described in packages/flutter/lib/src/widgets/debug.dart. Done means profile-mode frames show the specified unavailability message without a checkbox, while debug-mode behavior remains usable.

Written by the indexing model from the issue text.

Description

contributions welcome good first issue P2 screen: performance

Currently when you run your app in profile-mode, the performance panel shows a disabled checkbox that makes it seem like it should be possible to "count widget builds" (see screenshot below)

In actuality, "count widget builds" relies on the trackRebuildDirtyWidgets service extension, which uses debugOnRebuildDirtyWidget. This is only available in debug-mode: https://github.com/flutter/flutter/blob/f9e809913240552c391bf31b1cfdbdf410224d8c/packages/flutter/lib/src/widgets/debug.dart#L59

Instead of "To see widget rebuilds for Flutter frames, enable CountWidgetRebuilds", we should remove the checkbox and update the text to say "Rebuild information not available for this frame. Widget rebuild counts are only available when running an app in debug-mode."

Image
Dominant language
Dart
Stars
1.7k
Forks
405
Avg merge
4d 23h
Merged PRs (30d)
12

Contributor guide

Open the contributing guide

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 flutter/devtools

All issues in flutter/devtools

Similar issues

More Dart issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.