前提条件
Dart 异常、启动性能监控指标、卡顿指标、联网上报全都需要配置开启,且支持采样。在接入时,请务必确认功能的开启情况符合您的预期。
需要在 终端性能监控 Pro > 应用配置 > SDK 配置 页面创建配置任务。有关配置功能的详细说明请参见 SDK 配置。
在接入期间,建议将所有监控项的采样率调整为1.0(即 sample_ratio 和 event_sample_ratio),方便验证数据上报。接入完成后,可再根据需要调整采样率:开发任务打开所有的监控项,灰度阶段按需采样,正式发布根据需要降低采样。
检查待接入的产品是否已经 购买并绑定 生效中的资源包。如果产品没有绑定生效中的资源包,该产品将无法上报数据。
错误监控
模拟异常
参考以下示例代码,可以模拟各类异常。
class MyCrashTestApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(home: Scaffold(appBar: AppBar(title: const Text('APM异常捕获测试')),body: Center(child: Column(mainAxisAlignment: MainAxisAlignment.center,children: [// 1. 同步异常测试ElevatedButton(child: const Text('触发同步异常'),onPressed: () => _throwSyncException(),),const SizedBox(height: 20),// 2. 异步异常测试ElevatedButton(child: const Text('触发异步异常'),onPressed: () => _throwAsyncException(),),const SizedBox(height: 20),// 3. Widget构建异常ElevatedButton(child: const Text('触发Widget异常'),onPressed: () => Navigator.push(context,MaterialPageRoute(builder: (_) => FaultyWidget())),),],),),),);}// 同步异常示例void _throwSyncException() {// 模拟业务逻辑错误final list = [];print(list[0]); // 越界访问}// 异步异常示例Future<void> _throwAsyncException() async {await Future.delayed(Duration(milliseconds: 500));// 模拟异步错误dynamic nullObject = null;print(nullObject.length); // NoSuchMethodError}}// 会抛出异常的Widgetclass FaultyWidget extends StatelessWidget {@overrideWidget build(BuildContext context) {// 故意构造一个会抛出异常的build方法if (DateTime.now().millisecond % 2 == 0) {return Container(color: Colors.blue);}throw Exception('Widget构建时随机异常');}}
检查数据上报
卡顿指标

启动监控
