tree: 4c5302c21c02f94bd9c1c90dc1c42ca3e6f8fd9c [path history] [tgz]
  1. lib/
  2. test/
  3. analysis_options.yaml
  5. pubspec.yaml


A library to facilitate reporting analytics and crash reports.


This library is designed to allow all Dart SDK tools to easily send analytics information and crash reports. The tools share a common setting to configure sending analytics data. To use this library for a specific tool:

import 'package:telemetry/telemetry.dart';
import 'package:usage/usage.dart';

main() async {
  final String myAppTrackingID = ...;
  final String myAppName = ...;

  Analytics analytics = createAnalyticsInstance(myAppTrackingID, myAppName);
  await analytics.waitForLastPing();

The analytics object reads from the correct user configuration file automatically without any additional configuration. Analytics will not be sent if the user has opted-out.

Crash reporting

To use the crash reporting functionality, import crash_reporting.dart, and create a new CrashReportSender instance:

import 'package:telemetry/crash_reporting.dart';

main() {
  Analytics analytics = ...;
  CrashReportSender sender = new CrashReportSender(analytics);
  try {
  } catch (e, st) {
    sender.sendReport(e, st);

Crash reports will only be sent if the cooresponding [Analytics] object is configured to send analytics.