PC平台应用的监控能力,包含跨平台C/C++ API动态库。本文介绍Windows和macOS应用如何通过C/C++ SDK接入用户体验监控。
前提条件
C/C++ SDK当前支持以下平台,您的PC应用需要满足以下平台的要求:
平台 | 系统版本 | 架构 |
Windows | Win7 + | x86/x86_64 |
macOS | 10.13 + | x86_64/arm64 |
步骤一:创建应用
登录云监控2.0控制台,选择目标工作空间,在左侧导航栏单击接入中心。
单击Windows或macOS卡片,选择地域,然后输入应用名称和描述,单击创建应用。
说明应用名称唯一,不能与已创建的应用名称重复。
创建成功后,当前应用将会自动生成对应的ConfigAddress(上报地址)和AppID。
步骤二:接入SDK
1.下载 SDK
平台 | 架构 | 产物 |
Windows |
| https://rum-sdk.oss-cn-hangzhou.aliyuncs.com/native/AlibabaCloud_RUM_Windows.zip |
macOS |
| https://rum-sdk.oss-cn-hangzhou.aliyuncs.com/native/AlibabaCloud_RUM_macOS.zip |
SDK说明:
功能支持:PV/UV统计、Crash捕获、网络服务(libcurl、cef框架数据采集)、自定义事件上报
产物形式:
macOS:
dylib动态库Windows:
dll动态库
当前仅支持动态库数据的采集。
2. 初始化SDK
添加头文件依赖。
Windows/macOS平台都需要引入头文件。
#include "alibabacloud_rum.h"初始化SDK。
SDK支持丰富的配置,更多SDK相关配置函数请参见SDK配置参考。
alibabacloud_rum_options_t *options = alibabacloud_rum_options_new(); // (必须) ConfigAddress创建RUM应用时获取 alibabacloud_rum_options_set_config_address(options, "<your config address>"); // (必须) AppId,创建应用时获取 alibabacloud_rum_options_set_app_id(options, "<your appId>"); // (必须)设置应用名称 alibabacloud_rum_options_set_app_name(options, "WindowsDemo"); // (必须) 设置应用版本号 alibabacloud_rum_options_set_app_version(options, "0.1.0"); // (可选) 设置环境,用于区分开发环境、线上环境,默认为 ALIBABACLOUD_RUM_ENV_PROD alibabacloud_rum_options_set_env(options, ALIBABACLOUD_RUM_ENV_PROD); //(可选)开启crash捕获,默认为开启 alibabacloud_rum_options_set_auto_crash_tracking(options, 1); //(可选)开启curl网络数据采集,默认为开启 alibabacloud_rum_options_set_auto_curl_tracking(options, 1); //(可选)开启CEF框架网络请求数据采集,默认为关闭 alibabacloud_rum_options_set_auto_cef_tracking(options, 1); //(可选)配置网络请求数据采集过滤器,支持以下配置(后文有详细配置说明): // 1. should_tracing 函数返回 0 时,不生效当前URL的端到端打通。默认返回 0,即:所有URL请求都不支持端到端打通 // 2. should_record_request 函数返回 0 时,不采集当前URL。默认返回 1,即:所有URL请求都支持采集 alibabacloud_rum_network_options_t *network_options = alibabacloud_rum_network_options_new(); network_options->should_tracing = example_should_tracing; network_options->should_record_request = example_should_record_request; alibabacloud_rum_options_set_network_options(options, network_options); // (必须) 完成SDK初始化 alibabacloud_rum_init(options);
步骤三:退出SDK
调用退出SDK的接口后,SDK的实例会被销毁,并停止所有功能和回收内存。如果您确定不再需要使用SDK,可以直接调用以下接口:
alibabacloud_rum_close();注意:调用此接口时可能会发生短暂阻塞。SDK退出时会涉及回收操作,以及后台任务的等待操作,SDK会等待后台异步任务结束后才会退出。
接入验证
应用运行后,出现[AlibabaCloud-RUM] [DEBUG] [Init] alibabacloud rum init success.日志即表示SDK初始化成功。
日志示例:
2024-07-25 17:27:27.647 [AlibabaCloud-RUM] [DEBUG] [Init] alibabacloud rum init success.高级功能
SDK支持自定义事件上报,功能模块开关等更多配置,请参考文档:SDK配置参考。