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

A client-side telemetry SDK for Flutter apps tracking screen latency, HTTP request durations, error stack traces, and session breadcrumbs.

example/lib/main.dart

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

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

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

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  late final TelemetryClient _client;

  @override
  void initState() {
    super.initState();
    _client = TelemetryClient(
      maxBatchSize: 5,
      exporter: (events) async {
        debugPrint('📤 Exporting ${events.length} telemetry events to analytics server');
        return true;
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'mobile_telemetry_sdk Demo',
      navigatorObservers: [
        TelemetryNavigatorObserver(client: _client),
      ],
      home: HomeScreen(client: _client),
    );
  }
}

class HomeScreen extends StatelessWidget {
  final TelemetryClient client;

  const HomeScreen({super.key, required this.client});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('mobile_telemetry_sdk Demo')),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () {
                client.recordBreadcrumb('User clicked test breadcrumb button');
                ScaffoldMessenger.of(context).showSnackBar(
                  const SnackBar(content: Text('Breadcrumb recorded!')),
                );
              },
              child: const Text('Record Breadcrumb'),
            ),
            const SizedBox(height: 12),
            ElevatedButton(
              onPressed: () {
                client.recordError(
                  StateError('Simulated network timeout error'),
                  StackTrace.current,
                );
                ScaffoldMessenger.of(context).showSnackBar(
                  const SnackBar(content: Text('Error trace recorded!')),
                );
              },
              child: const Text('Simulate Error Trace'),
            ),
          ],
        ),
      ),
    );
  }
}
0
likes
150
points
4
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A client-side telemetry SDK for Flutter apps tracking screen latency, HTTP request durations, error stack traces, and session breadcrumbs.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on mobile_telemetry_sdk