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:
dylib
Windows:
dll
現在、データ収集はダイナミックライブラリに対してのみ構成できます。
2. SDK を初期化する
ヘッダーファイルをインポートします。
Windows と macOS の両方でヘッダーファイルが必要です。
#include "alibabacloud_rum.h"
SDK を初期化します。
SDK は広範な構成オプションを提供します。 詳細については、PC アプリ用 RUM 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_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); // オプション。クラッシュデータキャプチャを有効にするかどうかを指定します。 デフォルトでは、この機能は有効になっています。 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();
関数を呼び出すと、システムがリソースを解放し、バックエンドの非同期操作を完了する必要があるため、短時間ブロックされる場合があります。