Application Real-Time Monitoring Service (ARMS) の Real User Monitoring (RUM) サブサービスは、C および C++ 言語の PC アプリと動的ライブラリのための包括的なモニタリング機能を提供します。このトピックでは、C および C++ 用の RUM SDK を使用して Windows および macOS アプリを RUM に統合する方法について説明します。
サポートされているバージョンとアーキテクチャ
C および C++ 用 RUM SDK は、以下の Windows および macOS のバージョンとアーキテクチャをサポートしています。
オペレーティングシステム | オペレーティングシステムのバージョン | アーキテクチャ |
Windows | 7+ | x86 および x86-64 |
macOS | 10.13+ | x86-64 および ARM64 |
ステップ 1: アプリを作成する
ARMS コンソール にログインします。
左側のナビゲーションウィンドウで、 を選択します。 上部のナビゲーションバーで、リージョンを選択します。
[アプリケーション] ページで、[アプリケーションの追加] をクリックします。
[アプリケーションの作成] パネルで、[Windows] または [macOS] を選択します。
[Windows] または [macOS] パネルで、アプリ名と説明を入力し、[作成] をクリックします。
その後、モニタリングデータの報告先アドレス ([ConfigAddress]) とアプリ ID ([AppID]) がアプリに対して自動的に生成されます。
ステップ 2: SDK を統合する
1. SDK をダウンロードする
オペレーティングシステム | アーキテクチャ | 動的ライブラリ |
Windows |
| https://rum-sdk.oss-cn-hangzhou.aliyuncs.com/native/AlibabaCloud_RUM_Windows_0.2.1.zip |
macOS |
| https://rum-sdk.oss-cn-hangzhou.aliyuncs.com/native/AlibabaCloud_RUM_macOS_0.2.1.zip |
SDK の説明:
機能:
ページビューとユニークビジターの統計情報の収集
クラッシュデータのキャプチャ
libcurl および Chromium Embedded Framework (CEF) からのネットワークサービスデータの収集
カスタムイベントレポート
動的ライブラリ:
macOS:
dylibWindows:
dll
現在、データ収集は動的ライブラリに対してのみ構成できます。
2. SDK を初期化する
ヘッダーファイルをインポートします。
Windows と macOS の両方でヘッダーファイルが必要です。
#include "alibabacloud_rum.h"SDK を初期化します。
SDK は幅広い構成オプションを提供します。 詳細については、「SDK 構成リファレンス」をご参照ください。
alibabacloud_rum_options_t *options = alibabacloud_rum_options_new(); // 必須。アドレスを指定します。 alibabacloud_rum_options_set_config_address(options, "<your config address>"); // 必須。 アプリ ID を指定します。 alibabacloud_rum_options_set_app_id(options, "<your appId>"); // 必須。 アプリのバージョンを指定します。 alibabacloud_rum_options_set_app_version(options, "0.1.0"); // オプション。開発環境または本番環境のどちらを使用しているかを指定します。 デフォルト値は ALIBABACLOUD_RUM_ENV_PROD です。 alibabacloud_rum_options_set_env(options, ALIBABACLOUD_RUM_ENV_PROD); // オプション。クラッシュデータキャプチャを有効にするかどうかを指定します。 デフォルトでは、この機能は有効になっています。 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);
結果を確認する
アプリの実行後に [AlibabaCloud-RUM] [INFO] [Init] alibabacloud rum init success. ログが表示された場合、SDK の初期化は成功です。
ログエントリの例:
2024-07-25 17:27:27.647 [AlibabaCloud-RUM] [INFO] [Init] alibabacloud rum init success.SDK を無効にする
RUM SDK を使用して PC アプリをモニタリングする必要がなくなった場合は、次の関数を呼び出して SDK を無効にすることができます。
関数を呼び出すと、SDK の構成が破棄され、すべての SDK 機能が停止し、メモリリソースが解放されます。
alibabacloud_rum_close();関数を呼び出すと、システムがリソースを解放し、バックエンドの非同期操作を完了する必要があるため、短時間ブロックが発生する可能性があります。