flutter_build_tracker 1.0.0 copy "flutter_build_tracker: ^1.0.0" to clipboard
flutter_build_tracker: ^1.0.0 copied to clipboard

A Flutter package to track widget build counts and times for performance optimization and debugging.

Flutter Build Tracker #

A Flutter package to track widget build counts and times for performance optimization and debugging.

Features #

  • Count how many times a widget builds
  • Track and log build time duration (microseconds/milliseconds)
  • Warn if a widget exceeds a configurable maximum rebuild threshold
  • Display build information in console logs and/or overlay badge
  • Access build statistics programmatically via controller

Installation #

Add this package to your pubspec.yaml:

dependencies:
  flutter_build_tracker: ^0.1.0

Usage #

Wrap any widget you want to track with BuildTracker:

BuildTracker(
  name: 'MyWidget', // Optional name for identification
  maxRebuilds: 5, // Warn after 5 rebuilds
  showOverlay: true, // Show overlay badge
  logToConsole: true, // Log to console
  child: YourWidget(),
)

Advanced Usage with Controller #

Use a controller to access build statistics programmatically:

final controller = BuildTrackerController();

// In your widget tree
BuildTracker(
  name: 'MyWidget',
  controller: controller,
  child: YourWidget(),
)

// Later, access statistics
final stats = controller.getStats('MyWidget');
print('Build count: ${stats?.buildCount}');
print('Last build time: ${stats?.buildTimeMs}ms');

// Reset build counts
controller.resetBuildCount('MyWidget');
// or
controller.resetAll();

// Get widgets exceeding threshold
final problematicWidgets = controller.getWidgetsExceedingThreshold();

Customization #

You can customize the appearance and behavior:

BuildTracker(
  name: 'MyWidget',
  maxRebuilds: 10,
  showOverlay: true,
  logToConsole: true,
  overlayAlignment: Alignment.topRight, // Position of overlay badge
  normalColor: Colors.blue, // Color when below threshold
  warningColor: Colors.red, // Color when exceeding threshold
  child: YourWidget(),
)

Example #

See the example directory for a complete sample application.

Performance Considerations #

The BuildTracker itself adds a small overhead to your application. It's recommended to:

  1. Use it only in debug builds
  2. Remove it from production code
  3. Focus on tracking widgets that you suspect have performance issues

flutter_build_tracker #

3
likes
150
points
34
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A Flutter package to track widget build counts and times for performance optimization and debugging.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flutter_build_tracker