flutter_chaos_toolkit 0.1.1 copy "flutter_chaos_toolkit: ^0.1.1" to clipboard
flutter_chaos_toolkit: ^0.1.1 copied to clipboard

Runtime performance overlay toolkit for Flutter apps.

Flutter Chaos Toolkit #

Runtime performance overlay toolkit for Flutter applications.

Features #

  • Real-time FPS display from engine FrameTiming
  • Optional memory usage display
  • Optional CPU placeholder row for future native integrations
  • Network throttling profiles (normal, 2G, 3G, 4G, no internet)
  • Configurable placement (topLeft, topRight, bottomLeft, bottomRight)
  • Overlay manager API and singleton toolkit controller

Installation #

Add to pubspec.yaml:

dependencies:
  flutter_chaos_toolkit: ^0.1.0

Usage #

import 'package:flutter/material.dart';
import 'package:flutter_chaos_toolkit/flutter_chaos_toolkit.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      builder: (BuildContext context, Widget? child) {
        return Stack(
          children: <Widget>[
            child ?? const SizedBox.shrink(),
            const ChaosOverlay(
              config: ChaosConfig(
                showFPS: true,
                showMemory: true,
                showFrameTime: true,
                showJankPercent: true,
                showNetworkProfile: true,
                position: ChaosPosition.topRight,
                networkProfile: NetworkProfile.normal,
              ),
            ),
          ],
        );
      },
      home: const Scaffold(
        body: Center(child: Text('Your app content')),
      ),
    );
  }
}

Runtime Reconfiguration #

ChaosToolkit.instance.configure(
  ChaosConfig.performance().copyWith(showMemory: true),
);
ChaosToolkit.instance.show(context);

Simulate Network Profiles for API Timing #

ChaosToolkit.instance.setNetworkProfile(NetworkProfile.g3);

final ChaosHttpResult result = await ChaosToolkit.instance.httpClient.get(
  Uri.parse('https://jsonplaceholder.typicode.com/todos/1'),
);
print('${result.profile.label}: ${result.durationMs}ms');

Sample Screenshots #

<img width="1206" height="2622" alt="Chaos Toolkit - Normal ProfileSimulator Screenshot - iPhone 17 - 2026-04-10 at 19 44 56

3
likes
145
points
145
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Runtime performance overlay toolkit for Flutter apps.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, http

More

Packages that depend on flutter_chaos_toolkit