Cloud Monitor 2.0 は、特定の要件を満たすために設定できるいくつかのソフトウェア開発キット (SDK) 設定項目を提供します。このトピックでは、PC アプリケーションの一般的な SDK 設定について説明します。
起動設定
(必須) Config アドレスの設定
各アプリケーションには、対応する設定アドレスが必要です。アドレスは alibabacloud_rum_init 関数を呼び出す前に設定する必要があります。
void alibabacloud_rum_options_set_config_address(alibabacloud_rum_options_t *options, const char *config_address);パラメーター | 説明 | 制約 | 失敗した場合の結果 |
options | alibabacloud_rum_options_t | 空ではありません。 | 関数呼び出しは失敗し、SDK は停止します。 |
config_address | const char* | 空ではありません。リアルユーザーモニタリングプラットフォームによって生成されます。 | 関数呼び出しは失敗し、SDK は停止します。 |
例:
alibabacloud_rum_options_set_config_address(options, RUM_CONFIG_ADDRESS);(必須) アプリケーション ID の設定
各アプリケーションには、対応するアプリケーション ID が必要です。アプリケーション ID は alibabacloud_rum_init 関数を呼び出す前に設定する必要があります。
void alibabacloud_rum_options_set_app_id(alibabacloud_rum_options_t *options, const char *app_id)パラメーター | 説明 | 制約 | 失敗した場合の結果 |
app_id | アプリケーション AppId | リアルユーザーモニタリングプラットフォームによって生成された一意のアプリケーション ID。 | 関数呼び出しは失敗し、SDK は停止します。 |
例:
alibabacloud_rum_options_set_app_id(options, RUM_CONFIG_APPID);(必須) アプリケーションバージョンの設定
アプリケーションのバージョン番号は alibabacloud_rum_init 関数を呼び出す前に設定する必要があります。
void alibabacloud_rum_options_set_app_version(alibabacloud_rum_options_t *options, const char *app_version)パラメーター | 説明 | 制約 | 失敗した場合の結果 |
app_version | const char* | 空ではありません。文字列の長さは 0 より大きく 64 未満である必要があります。 | 関数呼び出しは失敗し、アプリケーションバージョンの設定は有効になりません。 |
例:
alibabacloud_rum_options_set_app_version(options, "0.1.0-beta.2");(任意) アプリケーション環境の設定
local、daily、pre、gray、prod などのアプリケーション環境を設定できます。この関数は alibabacloud_rum_init 関数を呼び出す前に呼び出す必要があります。
void alibabacloud_rum_options_set_env(alibabacloud_rum_options_t *options, alibabacloud_rum_env_t env)パラメーター | 説明 | 制約 | 失敗した場合の結果 |
env | アプリケーション環境 | 次のいずれかの列挙値を指定します:
| 関数呼び出しは失敗し、アプリケーション環境の設定は有効になりません。 |
例:
alibabacloud_rum_options_set_env(options, ALIBABACLOUD_RUM_ENV_LOCAL);(任意) デバイス ID の設定
SDK はデフォルトでデバイス ID を生成し、ローカルファイルにキャッシュします。カスタムデバイス ID を設定することもできます。この関数は alibabacloud_rum_init 関数を呼び出す前に呼び出す必要があります。
void alibabacloud_rum_options_set_utdid(alibabacloud_rum_options_t *options, const char *utdid)パラメーター | 説明 | 制約 | 失敗した場合の結果 |
utdid | const char*、デバイス ID。 | 空ではありません。文字列の長さは 0 より大きく 37 未満である必要があります。 | 関数呼び出しは失敗し、デバイス ID の設定は有効になりません。 |
例:
alibabacloud_rum_options_set_utdid(options, "b7028408-ddac-4a58-72a9-653f6637f0e6");(任意) ログレベルの設定
SDK は実行時にログを出力します。SDK の使用中に問題が発生した場合は、ログレベルを調整して、トラブルシューティングのためにより詳細な情報を出力できます。この関数は alibabacloud_rum_init 関数を呼び出す前に呼び出す必要があります。
void alibabacloud_rum_options_set_debug_level(alibabacloud_rum_options_t *options, alibabacloud_rum_level_t level);パラメーター | 説明 | 制約 | 失敗した場合の結果 |
level | ログレベル。 | 次のいずれかの列挙値を指定します:
ALIBABACLOUD_RUM_LEVEL_ALL は最高のログレベルです。このレベルでは、ログはキャッシュファイルに書き込まれます。 | 関数呼び出しは失敗し、ログレベルの設定は有効になりません。 |
例:
alibabacloud_rum_options_set_debug_level(options, ALIBABACLOUD_RUM_LEVEL_DEBUG);(任意) キャッシュディレクトリの設定
SDK は実行時にキャッシュファイルを生成します。カスタムキャッシュディレクトリを指定できます。デフォルトでは、SDK は実行可能ファイルと同じディレクトリに .alibabacloud-rum という名前のフォルダを作成します。この関数は alibabacloud_rum_init 関数を呼び出す前に呼び出す必要があります。
void alibabacloud_rum_options_set_cache_path(alibabacloud_rum_options_t *options, const char *path)パラメーター | 説明 | 制約 | 失敗した場合の結果 |
path | const char * | 空ではありません。ファイルパスの長さは、オペレーティングシステムによって制限される場合があります。 | 関数呼び出しは失敗し、キャッシュディレクトリの設定は有効になりません。 |
例:
alibabacloud_rum_options_set_cache_path(options, "/path/to/your/cache/");(任意) ネットワークリクエスト収集フィルターの設定
SDK は、libcurl および Chromium Embedded Framework (CEF) フレームからのネットワークリクエストデータの収集をサポートしています。ネットワークリクエスト収集フィルターを設定して、特定の URL の収集動作を制御できます。この関数は alibabacloud_rum_init 関数を呼び出す前に呼び出す必要があります。
void alibabacloud_rum_options_set_network_options(alibabacloud_rum_options_t *options, alibabacloud_rum_network_options_t *network_options)パラメーター | 説明 | 制約 | 失敗した場合の結果 |
network_options | ネットワークリクエストフィルター構造体。 | 空ではありません。次の構造体定義に準拠する必要があります: | 関数呼び出しは失敗し、ネットワークリクエスト収集フィルターの設定は有効になりません。 |
例:
// 特定の URL の収集を許可するかどうかをフィルターします。
// この関数が 0 を返す場合、データは収集されません。0 以外の値を返す場合、データは収集されます。
int ALIBABACLOUD_RUM_CALLBACK example_should_record_request(const char *url)
{
LOG("example", "example_should_record_request, url: %s", url);
return 1;
}
// 特定の URL のエンドツーエンドトレースを許可するかどうかをフィルターします。
// この関数が 0 を返す場合、トレースは許可されます。0 以外の値を返す場合、トレースは許可されません。
int ALIBABACLOUD_RUM_CALLBACK example_should_tracing(const char *url)
{
LOG("example", "example_should_tracing, url: %s", url);
return NULL != strstr(url, "/api/data");
}
// 注: SDK はデフォルトで network_options を設定します。デフォルトでは、すべての URL のリクエストデータが収集されますが、どの 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);(任意) libcurl ネットワークデータ収集モジュールの有効化または無効化
libcurl ネットワークデータ収集モジュールを有効にするかどうかを設定できます。このモジュールはデフォルトで有効になっています。この関数は alibabacloud_rum_init 関数を呼び出す前に呼び出す必要があります。
void alibabacloud_rum_options_set_auto_curl_tracking(alibabacloud_rum_options_t *options, int enabled)パラメーター | 説明 | 制約 | 失敗した場合の結果 |
enabled | int |
| 関数呼び出しは失敗し、libcurl ネットワークデータ収集モジュールの設定は有効になりません。 |
例:
// libcurl ネットワークデータ収集モジュールを有効にします。
alibabacloud_rum_options_set_auto_curl_tracking(options, 1);libcurl ネットワークデータ収集モジュールを有効にする前に、libcurl ライブラリを統合する必要があります。現在、libcurl 動的ライブラリからのデータのみを収集できます。
(任意) クラッシュ収集モジュールの有効化または無効化
クラッシュデータ収集モジュールを有効にするかどうかを設定できます。このモジュールはデフォルトで有効になっています。この関数は alibabacloud_rum_init 関数を呼び出す前に呼び出す必要があります。
void alibabacloud_rum_options_set_auto_crash_tracking(alibabacloud_rum_options_t *options, int enabled)パラメーター | 説明 | 制約 | 失敗した場合の結果 |
enabled | int |
| 関数呼び出しは失敗し、クラッシュデータ収集モジュールの設定は有効になりません。 |
例:
// クラッシュデータ収集モジュールを有効にします。
alibabacloud_rum_options_set_auto_crash_tracking(options, 1);(任意) CEF フレームデータ収集モジュールの有効化または無効化
CEF フレームデータ収集モジュールを有効にするかどうかを設定できます。このモジュールはデフォルトで無効になっています。この関数は alibabacloud_rum_init 関数を呼び出す前に呼び出す必要があります。
void alibabacloud_rum_options_set_auto_cef_tracking(alibabacloud_rum_options_t *options, int enabled)パラメーター | 説明 | 制約 | 失敗した場合の結果 |
enabled | int |
| 関数呼び出しは失敗し、CEF フレームデータ収集モジュールの設定は有効になりません。 |
例:
// CEF フレームデータ収集モジュールを有効にします。
alibabacloud_rum_options_set_auto_cef_tracking(options, 1);CEF フレームデータ収集モジュールを有効にする前に、CEF ライブラリを統合する必要があります。現在、CEF 動的ライブラリからのデータのみを収集できます。
(必須) SDK の起動
alibabacloud_rum_init 関数を使用して SDK を初期化します。
int alibabacloud_rum_init(alibabacloud_rum_options_t *options)パラメーター | 説明 | 制約 | 失敗した場合の結果 |
options | SDK 設定項目 | 空ではありません。すべての必須パラメーターを設定する必要があります。 | 関数呼び出しは失敗し、SDK は停止します。 |
(必須) SDK のシャットダウン
alibabacloud_rum_close 関数を使用して SDK をシャットダウンします。
int alibabacloud_rum_close()例:
alibabacloud_rum_close()カスタム情報
ユーザー名の設定
ユーザー関連の情報を設定できます。これにより、データ分析を実際のユーザーに関連付けることができます。この関数は alibabacloud_rum_init 関数を呼び出した後に呼び出す必要があります。
void alibabacloud_rum_set_username(const char *username)パラメーター | 説明 | 制約 | 失敗した場合の結果 |
username | const char * | 文字列は空にできず、256 文字以下である必要があります。 | 関数呼び出しは失敗し、現在の設定は無効になります。 |
例:
alibabacloud_rum_set_username("my nick name is xxxx");ユーザー ID の設定
SDK を使用してユーザー情報を設定し、データ分析を実際のユーザーに関連付けることができます。この関数は alibabacloud_rum_init 関数の後に呼び出す必要があります。
void alibabacloud_rum_set_userid(const char *userid)パラメーター | 説明 | 制約 | 失敗した場合の結果 |
userid | const char * | 文字列は空にできず、256 文字以下である必要があります。 | 関数呼び出しは失敗し、現在の設定は無効になります。 |
例:
alibabacloud_rum_set_userid("1234567890");ユーザー拡張情報の設定
ユーザー関連の情報を設定できます。これにより、データ分析を実際のユーザーに関連付けることができます。
void alibabacloud_rum_set_user_tags(const char *user_tags)パラメーター | 説明 | 制約 | 失敗した場合の結果 |
user_tags | const char* | 文字列は空にできず、512 文字以下である必要があります。 | 関数呼び出しは失敗し、現在の設定は無効になります。 |
グローバルプロパティの設定
カスタムのグローバルビジネスプロパティを設定できます。グローバルプロパティを設定すると、新しく生成されたすべてのデータにこの情報が自動的に含まれます。これにより、データ分析をビジネスプロパティに関連付けることができます。alibabacloud_rum_set_properties 関数を呼び出すと、以前の値が上書きされます。
#define alibabacloud_rum_set_properties(...)パラメーター | 説明 | 制約 | 失敗した場合の結果 |
(...) | プロパティのキーと値のペア | キーと値のペアの最大数は 50 です。キーの最大長は 52 文字です。すべてのキーと値のペアの文字列の合計長は 2,000 文字を超えることはできません。 | 関数呼び出しは失敗し、現在の設定は無効になります。 |
例:
alibabacloud_rum_set_properties("shop_id", "gz_xihu_001", "shop_name", "West Lake Main Store");カスタム例外のレポート
カスタム例外データの統計を収集するには、カスタム例外関数を呼び出して対応するパラメーターを渡します。C/C++ SDK は、カスタム例外をレポートするための一連の関数を提供します。
alibabacloud_rum_custom_exception_t* alibabacloud_rum_custom_exception_new(const char *name, const char *message);
void alibabacloud_rum_custom_exception_set_file(alibabacloud_rum_custom_exception_t *event, const char *file);
void alibabacloud_rum_custom_exception_set_source(alibabacloud_rum_custom_exception_t *event, const char *source);
void alibabacloud_rum_custom_exception_set_caused_by(alibabacloud_rum_custom_exception_t *event, const char *caused_by);
void alibabacloud_rum_custom_exception_set_stack(alibabacloud_rum_custom_exception_t *event, const char *stack);
void alibabacloud_rum_custom_exception_free(alibabacloud_rum_custom_exception_t *event);
void alibabacloud_rum_custom_exception_report(alibabacloud_rum_custom_exception_t *event);関数名 | 説明 |
alibabacloud_rum_custom_exception_new | alibabacloud_rum_custom_exception_t インスタンスを作成します。 |
alibabacloud_rum_custom_exception_set_file | 例外に関連付けられたソースファイルを設定します。 |
alibabacloud_rum_custom_exception_set_source | 例外ソースを設定します。これは予約済みのフィールドです。 |
alibabacloud_rum_custom_exception_set_caused_by | 例外の原因を設定します。 |
alibabacloud_rum_custom_exception_set_stack | 例外スタックを設定します。 |
alibabacloud_rum_custom_exception_free | alibabacloud_rum_custom_exception_t インスタンスを解放します。通常、この関数を呼び出す必要はありません。 |
alibabacloud_rum_custom_exception_report | カスタム例外をレポートします。 |
例:
alibabacloud_rum_custom_exception_t *custom_exception = alibabacloud_rum_custom_exception_new("exception", "NullPointerException");
alibabacloud_rum_custom_exception_set_file(custom_exception, "/example/main.c");
alibabacloud_rum_custom_exception_set_caused_by(custom_exception, "NullPointerException");
alibabacloud_rum_custom_exception_set_stack(custom_exception, "Exception in thread 'main' java.util.NullPointerException");
alibabacloud_rum_custom_exception_report(custom_exception);カスタムイベントのレポート
カスタムイベントデータの統計を収集するには、対応する関数を呼び出して関連するパラメーターを渡します。C/C++ SDK は、カスタムイベントをレポートするための一連の関数を提供します。
alibabacloud_rum_custom_event_t* alibabacloud_rum_custom_event_new(const char *type, const char *name);
void alibabacloud_rum_custom_event_set_value(alibabacloud_rum_custom_event_t *event, double value);
void alibabacloud_rum_custom_event_set_group(alibabacloud_rum_custom_event_t *event, const char *group);
void alibabacloud_rum_custom_event_set_snapshots(alibabacloud_rum_custom_event_t *event, const char *snapshots);
void alibabacloud_rum_custom_event_add_extra(alibabacloud_rum_custom_event_t *event, const char *k, const char *v);
void alibabacloud_rum_custom_event_free(alibabacloud_rum_custom_event_t *event);
void alibabacloud_rum_custom_event_report(alibabacloud_rum_custom_event_t *event);関数名 | 説明 |
alibabacloud_rum_custom_event_new | alibabacloud_rum_custom_event_t インスタンスを作成します。 |
alibabacloud_rum_custom_event_set_value | イベントに関連付けられた値を設定します。 |
alibabacloud_rum_custom_event_set_group | イベントグループを設定します。 |
alibabacloud_rum_custom_event_set_snapshots | イベントスナップショットを設定します。 |
alibabacloud_rum_custom_event_add_extra | イベントの拡張パラメーターを設定します。 |
alibabacloud_rum_custom_event_free | alibabacloud_rum_custom_event_t インスタンスを解放します。通常、この関数を呼び出す必要はありません。 |
alibabacloud_rum_custom_event_report | カスタムイベントをレポートします。 |
例:
alibabacloud_rum_custom_event_t *event = alibabacloud_rum_custom_event_new("custom_event_type", "custom_event_name");
alibabacloud_rum_custom_event_set_group(event, "custom_event_group");
alibabacloud_rum_custom_event_set_value(event, 123.3456);
alibabacloud_rum_custom_event_set_snapshots(event, "custom event snapshots");
alibabacloud_rum_custom_event_add_extra(event, "event_key1", "event_value1");
alibabacloud_rum_custom_event_add_extra(event, "event_key2", "event_value2");
alibabacloud_rum_custom_event_report(event);カスタムログのレポート
カスタムログデータの統計を収集するには、対応する関数を呼び出して関連するパラメーターを渡します。C/C++ SDK は、カスタムログをレポートするための一連の関数を提供します。
alibabacloud_rum_custom_log_t *alibabacloud_rum_custom_log_new(const char *type, const char *name);
void alibabacloud_rum_custom_log_set_log(alibabacloud_rum_custom_log_t *log, alibabacloud_rum_custom_log_level_t level, const char *content);
void alibabacloud_rum_custom_log_set_value(alibabacloud_rum_custom_log_t *log, double value);
void alibabacloud_rum_custom_log_set_group(alibabacloud_rum_custom_log_t *log, const char *group);
void alibabacloud_rum_custom_log_set_snapshots(alibabacloud_rum_custom_log_t *log, const char *snapshots);
void alibabacloud_rum_custom_log_add_extra(alibabacloud_rum_custom_log_t *log, const char *k, const char *v);
void alibabacloud_rum_custom_log_free(alibabacloud_rum_custom_log_t *log);
void alibabacloud_rum_custom_log_report(alibabacloud_rum_custom_log_t *log);関数名 | 説明 |
alibabacloud_rum_custom_log_t | alibabacloud_rum_custom_log_t インスタンスを作成します。 |
alibabacloud_rum_custom_log_set_log | ログの内容を設定します。 |
alibabacloud_rum_custom_log_set_value | ログに関連付けられた値を設定します。 |
alibabacloud_rum_custom_log_set_group | ロググループを設定します。 |
alibabacloud_rum_custom_log_set_snapshots | ログスナップショットを設定します。 |
alibabacloud_rum_custom_log_add_extra | ログの拡張パラメーターを設定します。 |
alibabacloud_rum_custom_log_free | alibabacloud_rum_custom_log_t インスタンスを解放します。通常、この関数を呼び出す必要はありません。 |
alibabacloud_rum_custom_log_report | カスタムログをレポートします。 |
例:
alibabacloud_rum_custom_log_t *log = alibabacloud_rum_custom_log_new("custom_log_type", "custom_log_name");
alibabacloud_rum_custom_log_set_group(log, "custom_log_group");
alibabacloud_rum_custom_log_set_value(log, 343.4222);
alibabacloud_rum_custom_log_set_snapshots(log, "custom log snapshots");
alibabacloud_rum_custom_log_set_log(log, LOG_DEBUG, "This is the custom log content");
alibabacloud_rum_custom_log_add_extra(log, "log_key1", "log_value1");
alibabacloud_rum_custom_log_add_extra(log, "log_key2", "log_value2");
alibabacloud_rum_custom_log_report(log);