measure_flutter 0.1.2
measure_flutter: ^0.1.2 copied to clipboard
Flutter SDK to track crashes, bug reports, performance traces and more using measure.sh, an open-source monitoring tool.
Flutter SDK for measure.sh #
Measure is an open source tool to monitor mobile apps, this package contains the Flutter SDK which helps instrumenting your app easily.
Some features include:
- Capture Crashes and ANRs automatically
- Monitor app health metrics such as launch times, crash rates and app sizes
- Get screenshots with exception reports
- View full event timelines of sessions with auto-tracked user clicks, navigation events, http calls, cpu usage, memory usage and more for deeper context
- Collect bug reports directly from users and manage them on the dashboard
- Optimize performance with traces
- Track custom events with additional business specific attributes
- Self hosted and private. Your data stays in your servers
Integration #
Install the SDK #
Add the following dependency to your pubspec.yaml
file:
dependencies:
measure_flutter: ^0.1.0
Initialize the SDK #
To initialize the SDK, you need to call the Measure.instance.init
method in your main
function
and wrap your application with MeasureWidget
as the parent.
Future<void> main() async {
await Measure.instance.init(
() =>
runApp(
MeasureWidget(child: MyApp()),
),
config: const MeasureConfig(
enableLogging: true,
traceSamplingRate: 1,
samplingRateForErrorFreeSessions: 1,
),
clientInfo: ClientInfo(
apiKey: "YOUR_API_KEY",
apiUrl: "YOUR_API_URL",
),
);
}
Verify Installation #
Launch the app with the SDK integrated and navigate through a few screens. The data is sent to the server periodically,
so it may take a few seconds to appear. Checkout the Usage
section in the dashboard or navigate to the Sessions
tab
to see the sessions being tracked.
Track screen views #
To hook up with the Flutter navigation system, use the MsrNavigatorObserver
which automatically
tracks screen views when navigating between screens. You can add it to your MaterialApp
or
CupertinoApp
as follows:
@override
Widget build(BuildContext context) {
return MaterialApp(
navigatorObservers: [MsrNavigatorObserver()],
home: HomeScreen(),
);
}
To manually track screen views in a Flutter application, you can use the trackScreenView
method:
Measure.instance.trackScreenView("Home");
Track http events #
Network requests made using the Dio package can be tracked by adding the measure_dio
package to your
project. This package provides MsrInterceptor
that can automatically track network requests done
using Dio.
final dio = Dio();
dio.interceptors.add(MsrInterceptor());
For any other HTTP client libraries, you can manually track network requests using the
Measure.instance.trackHttpEvent
method.
Checkout detailed documentation #
Checkout our documentation to learn more about Measure.