flutter_perf_monitor
Real-time performance monitoring with FPS tracking and memory usage for Flutter applications
0.3.1
5.2K downloads/mo
#3802 most downloaded on pub.dev
Dhia-Bechattaoui/flutter_perf_monitor
What this package is like to depend on
Last release 1 months ago
16 Jul 2026
Release timing varies
gaps range from 2 weeks to 7 months
Most releases are documented
notes for 8 of 9 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
9 releases · first in 2025
8 releases in the last 12 months
see the full history below
Release timeline
9 releases · Aug 2025 to Jul 2026Releases
latest 9-
0.3.116 Jul 2026Release notes
Open source →- Removed explicit Kotlin Gradle Plugin (KGP) application to comply with Flutter 3.24+ Built-in Kotlin standards and suppress KGP warnings.
- Wrapped
kotlinOptionsinproject.pluginManager.withPlugin("org.jetbrains.kotlin.android")to preventCould not find method kotlinOptions()crashes on older Flutter SDKs. - Ensured Java and Kotlin JVM targets are uniformly configured to JavaVersion.VERSION_17 to prevent compilation mismatch errors.
- Bumped package version to 0.3.1.
Release notes
Open source →Fixed
- KGP Warning & Android Compilation Error
- Fully migrated to Flutter Built-in Kotlin standards by removing
kotlinOptionsand the Kotlin Gradle Plugin application. This simultaneously fixes the KGP warning on Flutter 3.24+ and thekotlinOptionscrash on older Flutter SDKs.
- Fully migrated to Flutter Built-in Kotlin standards by removing
-
0.3.023 Jun 2026Release notes
Open source →- Added
getTotalMemory()API to expose total device memory - Migrated Android build script to Groovy (
build.gradle) for full Flutter 3.24+ Built-in Kotlin compatibility without deprecation warnings - Fixed
actions/checkoutfailure in CI for fork PRs by providinggithub.tokenfallback - Recreated iOS example project to fully integrate Swift Package Manager and remove legacy CocoaPods references
- Added INTERNET permission to example Android manifest for VM service socket binding
Release notes
Open source →Added
- Total Memory API
- Exposed
FlutterPerfMonitor.getTotalMemory()to get the total device memory in bytes
- Exposed
Fixed
- iOS Run Failure
- Fixed an issue where the iOS module failed to run due to incorrect
source_filespaths in the.podspec(contributed by @Dabbit-Chan)
- Fixed an issue where the iOS module failed to run due to incorrect
- Android Built-in Kotlin Support
- Migrated
android/build.gradlefrom Kotlin DSL to Groovy to support Flutter 3.24+ Built-in Kotlin without triggering deprecation warnings or JVM target mismatches
- Migrated
- Added
-
0.2.309 Jun 2026Release notes
Open source →Using the new HOMEBREW_TAP_TOKEN PAT to authenticate the git push step, so that GitHub Actions will correctly trigger the publish.yml workflow. Bumped version to 0.2.3 to ensure a fresh tag is created on the next run.
-
0.2.109 Jun 2026Release notes
Open source →Fixed
- Android Gradle Plugin compatibility
- Removed explicit Kotlin Gradle Plugin (
kotlin-android) application to support Flutter 3.24+ Built-in Kotlin and AGP 9.0+ compatibility
- Removed explicit Kotlin Gradle Plugin (
- iOS Swift Package Manager (SPM) compatibility
- Added support for Swift Package Manager on iOS by generating
Package.swiftand reorganizing source files to support the latest Flutter iOS plugin structure
- Added support for Swift Package Manager on iOS by generating
- Android Gradle Plugin compatibility
-
0.2.007 Nov 2025Release notes
Open source →Added
- Web platform support
- Full web platform compatibility with proper error handling
- CPU usage monitoring on web using FPS-based estimation
- Graceful handling of missing native platform channels on web
- Memory monitoring attempt on web (shows 0.0 MB due to browser security restrictions)
Fixed
- Web platform errors
- Fixed
MissingPluginExceptionerrors when running on web - Added platform detection to skip native method channel calls on web
- Fixed
ProcessInfo.currentRsserrors on web by using conditional imports - Updated
index.htmlto use modern Flutter web initialization API - Fixed deprecated
FlutterLoader.loadEntrypointandserviceWorkerVersionwarnings - Fixed
_flutter.buildConfigrequirement error - Fixed deprecated
apple-mobile-web-app-capablemeta tag - Replaced all
printstatements withdebugPrintfor better production code practices
- Fixed
Changed
- Web platform behavior
- CPU usage on web now dynamically updates based on FPS (no longer stuck at first value)
- Memory shows 0.0 MB on web (expected limitation - browsers don't expose process memory)
- Improved error handling with silent fallbacks for web platform
- Added conditional imports for
dart:ioanddart:jsto prevent compilation errors on different platforms
Technical Details
- Web Implementation: Conditional platform detection using
kIsWeb- Uses
dart:jsfor JavaScript interop to accessperformance.memoryAPI - Falls back gracefully when browser APIs are unavailable
- CPU estimation based on FPS performance (60 FPS = ~30% CPU, lower FPS = higher CPU)
- Uses
- Web platform support
-
0.1.104 Nov 2025Release notes
Open source →Fixed
- Android CPU usage calculation accuracy
- Fixed CPU usage calculation to use proper two-snapshot comparison method
- Previously used instantaneous snapshot which didn't reflect actual CPU usage over time
- Now correctly calculates CPU usage percentage by comparing differences between
/proc/statreadings - First call returns 0.0% (baseline initialization), subsequent calls show accurate CPU usage
- Android CPU usage calculation accuracy
-
0.1.003 Nov 2025Release notes
Open source →Added
- Native implementations for Android and iOS
- Real system-level memory metrics (total, available, used) via platform channels
- Accurate CPU usage monitoring with per-core support on Android and iOS
- Android: CPU metrics via
/proc/statwith graceful fallback for restricted devices - iOS: CPU metrics via
task_threadsand memory viamach_task_basic_info
- Enhanced platform channel integration
getMemoryInfomethod returning comprehensive memory statisticsgetCpuUsagemethod returning total and per-core CPU percentages- Fallback mechanisms for platforms without native support
- Documentation improvements
- Added
SETUP.mdwith detailed native implementation documentation - Updated
README.mdwith native capabilities and fallback behavior - Documented platform-specific APIs and limitations
- Added
- Build system enhancements
- Java/Kotlin 17 toolchain configuration for Android
- Modern Gradle configuration with Kotlin DSL
- Proper
.gitignoreconfiguration for generated files - iOS project structure regeneration for example app
Changed
- Memory monitoring accuracy
- Now shows real system total/available memory on Android/iOS
- Conditionally displays "Available" and "Usage" only when native data available
- Removed "N/A" placeholders for better UX
- CPU monitoring accuracy
- Real system CPU usage on Android and iOS (not FPS-based)
- Per-core CPU usage tracking on supported platforms
- Improved FPS-based fallback for non-native platforms
- Platform channel communication
- Made
_collectMetricsasync for native metric updates - Added error handling with debug logging
- Graceful degradation when native calls fail
- Made
Fixed
- Android build errors with JVM compatibility (Java 17 configuration)
- Permission denied errors on Android 8+ devices accessing
/proc/stat - iOS missing
Runner.xcodeprojcausing build failures - CPU usage showing 0.0% on first frame calculation
- Example app test failures with boilerplate counter test
Technical Details
- Android Implementation:
FlutterPerfMonitorPlugin.kt(156 lines)- Uses
ActivityManager.MemoryInfofor memory metrics - Reads
/proc/statwith permission handling - Fallback to memory-pressure-based CPU estimation
- Uses
- iOS Implementation:
FlutterPerfMonitorPlugin.swift(127 lines)- Uses
ProcessInfo.physicalMemoryandmach_task_basic_info - Thread-based CPU monitoring via
task_threads - Proper memory management with
vm_deallocate
- Uses
- Platform Channel:
flutter_perf_monitorchannel with two methods- All native calls wrapped in try-catch with fallbacks
- Non-blocking async updates every 100ms
- Native implementations for Android and iOS
-
0.0.201 Sep 2025Nothing published for this version
-
0.0.112 Aug 2025Release notes
Open source →Added
- Initial release
- Project structure and configuration
- Basic Flutter performance monitoring package setup
- FPS tracking capabilities foundation
- Memory usage monitoring foundation
- Real-time performance monitoring architecture
Changed
- N/A
Deprecated
- N/A
Removed
- N/A
Fixed
- N/A
Security
- N/A