基本タイプ

C/C++ SDKは次の不透明タイプを定義します。

  • appd_bt_handle:アクティブなビジネストランザクションへのハンドル
  • appd_exitcall_handle:アクティブな終了コールへのハンドル
  • struct appd_config*:構成オブジェクトへのポインタ
  • struct appd_context_config*:コンテキスト構成オブジェクトへのポインタ

appd_config_init

空の構成構造を初期化します。この関数は、appd_sdk_init() を呼び出す前に呼び出します。

形式

APPD_API struct appd_config * appd_config_init ()

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。

appd_config_set_analytics_enabled

分析エージェントレポートの有効/無効フラグを設定します。無効にすると、分析関連のロギングメッセージが抑制されます。

形式

APPD_API void appd_config_set_analytics_enabled(struct appd_config* cfg, const unsigned short enable)

パラメータ

  • C/C++ SDK の構成構造。cfgSplunk AppDynamics
  • enable:分析エージェントの有効/無効フラグ。値がゼロ以外の場合、エージェントは有効です。値がゼロ(デフォルト設定)の場合、エージェントは無効です。

appd_config_set_app_name

ビジネスアプリケーション名を設定します。

形式

appd_config_set_app_name(cfg, APP_NAME);

パラメータ

  • cfg:Splunk AppDynamics 構成オブジェクト。
  • APP_NAME:アプリケーション名。

appd_config_set_tier_name

ティア名を設定します。

形式

appd_config_set_tier_name(cfg, TIER_NAME);

パラメータ

  • cfg:Splunk AppDynamics 構成オブジェクト。

  • TIER_NAME:ティアの名前。

appd_config_set_node_name

ノード名を設定します。

形式

appd_config_set_node_name(cfg, NODE_NAME);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • NODE_NAME:ノードの名前。

appd_config_set_controller_host

コントローラのホスト名を設定します。

形式

appd_config_set_controller_host(cfg, CONTROLLER_HOST);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • CONTROLLER_HOST:コントローラホストの名前。

appd_config_set_controller_port

コントローラが待機しているポート番号を設定します。

形式

appd_config_set_controller_port(cfg, CONTROLLER_PORT);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • CONTROLLER_PORT コントローラが待機しているポート番号。

appd_config_set_controller_account

コントローラに接続するためのアカウント名を設定します。

形式

appd_config_set_controller_account(cfg, CONTROLLER_ACCOUNT);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • CONTROLLER_ACCOUNT コントローラが接続されるアカウント名。

appd_config_set_controller_access_key

コントローラに接続するためのアクセスキーを設定します。

形式

appd_config_set_controller_access_key(cfg, CONTROLLER_ACCESS_KEY);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • CONTROLLER_ACCESS_KEYコントローラに接続するためのアクセスキー。

appd_config_set_controller_use_ssl

コントローラとの通信に SSL が使用されるべきかどうかを指定します。

形式

appd_config_set_controller_use_ssl(cfg, CONTROLLER_USE_SSL);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • CONTROLLER_USE_SSLSSL を使用してコントローラに接続するかどうかを指定します。:true の場合は、ゼロ以外の整数に設定します。false の場合は整数ゼロに設定します。SaaS コントローラでは、これをゼロ以外に設定する必要があることに注意してください。

appd_config_set_controller_http_proxy_host

オプション。HTTP プロキシを使用してコントローラと通信する場合は、HTTP プロキシのホスト名を設定します。

形式

appd_config_set_controller_http_proxy_host(cfg, CONTROLLER_HTTP_PROXY_HOST);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • CONTROLLER_HTTP_PROXY_HOST:HTTP プロキシを使用してコントローラと通信する場合の HTTP プロキシのホスト名。

appd_config_set_controller_http_proxy_port

オプション。HTTP プロキシのポート番号を設定します。デフォルトはポート 80 です。

形式

appd_config_set_controller_http_proxy_port(cfg, CONTROLLER_HTTP_PROXY_PORT);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • CONTROLLER_HTTP_PROXY_PORTHTTP プロキシのポート名。デフォルトはポート 80 です。

appd_config_set_controller_http_proxy_username

オプション。HTTP プロキシに接続するときに使用するユーザ名を設定します。

形式

appd_config_set_controller_http_proxy_username(cfg, CONTROLLER_HTTP_PROXY_USERNAME);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • CONTROLLER_HTTP_PROXY_USERNAME:HTTP プロキシに接続するときに使用するユーザー名.

appd_config_set_controller_http_proxy_password

オプション。HTTP プロキシに接続するときに使用するパスワードを設定します。

形式

appd_config_set_controller_http_proxy_password(cfg, CONTROLLER_HTTP_PROXY_PASSWORD);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • CONTROLLER_HTTP_PROXY_PASSWORD:HTTP プロキシに接続するときに使用するパスワード。

appd_config_set_controller_http_proxy_password_file

オプション。HTTP プロキシに接続するときに使用するパスワードが含まれるファイルを設定します。

形式

appd_config_set_controller_http_proxy_password_file(cfg, CONTROLLER_HTTP_PROXY_PASSWORD_FILE);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • CONTROLLER_HTTP_PROXY_PASSWORD_FILE:HTTP プロキシに接続するときに使用するパスワードが含まれるファイル。

appd_config_set_controller_certificate_file

オプション。CA 証明書のファイル名を設定します。独自の証明書ファイルを使用するように選択した場合は、これを設定します。

形式

appd_config_set_controller_certificate_file(cfg, CONTROLLER_HTTP_CERTIFICATE_FILE);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • CONTROLLER_CERTIFICATE_FILE:証明書ファイルの名前。デフォルトでは、付属の ca-bundle.crtcrt ファイル。

appd_config_set_controller_certificate_dir

オプション。CA証明書ファイルへのフルパスを設定します。複数の証明書ファイルがある場合は、これを設定します。

形式

appd_config_set_controller_certificate_dir(cfg, CONTROLLER_HTTP_CERTIFICATE_DIR);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • CONTROLLER_CERTIFICATE_DIR:証明書ファイルへのフルパス。

appd_config_set_flush_metrics_on_shutdown

appd_sdk_term を介して、SDK がシャットダウンする 1 分前にメトリックを収集するかどうかを指定します。デフォルトでは、SDK がシャットダウンする 1 分前に報告するメトリックは失われます。メトリックのフラッシュを有効にすると、シャットダウンする 1 分前に報告されるメトリックを保持できます。

形式

APPD_API void appd_config_set_flush_metrics_on_shutdown(struct appd_config* cfg, int enable);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • int:コントローラへのメトリックのフラッシュを有効にするには、ゼロ以外の整数に設定。デフォルト値は 0 です。
注: このフラグを設定すると、基盤となるエージェントロジックがメトリックデータをアップロードするまで、appd_sdk_term() がブロックされます。このフラグを使用しない場合、最後のコントローラ更新以降に収集されたメトリックはすべて廃棄されます。コントローラの負荷に応じて、メトリックのフラッシュには 60 ~ 120 秒(平均)、またはさらに長く時間がかかります。終了/切断ロジックがすぐに完了する必要がある場合は、このフラグを使用しないでください。

appd_config_set_logging_min_level

許可されるログの最小レベルを設定します。APPD_LOG_LEVEL_TRACE APPD_LOG_LEVEL_FATA APPD_LOG_LEVEL_INFO の場合

形式

appd_config_set_logging_min_level(cfg, LOGGING_MIN_LEVEL);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • LOGGING_MIN_LEVEL:許可されるログの最小レベル。
  • APPD_LOG_LEVEL_TRACE
  • APPD_LOG_LEVEL_DEBUG
  • APPD_LOG_LEVEL_INFO
  • APPD_LOG_LEVEL_WARN
  • APPD_LOG_LEVEL_ERROR
  • APPD_LOG_LEVEL_FATAL

appd_config_set_logging_log_dir

ログが記録されるディレクトリを設定します。SDK を実行するプロセスには、このディレクトリを作成する権限(まだ存在しない場合)、そのディレクトリ内のファイルを一覧表示する権限、およびそのディレクトリ内のファイルに書き込む権限が必要です

形式

appd_config_set_logging_log_dir(cfg, LOGGING_LOG_DIR);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • LOGGING_LOG_DIRログファイルを保存するディレクトリ。デフォルト:/tmp/appd/

appd_config_set_logging_max_num_files

テナントごとに許可されるログファイルの最大数を設定します。この数に達すると、ログファイルがローテーションされます。

形式

appd_config_set_logging_max_num_files(cfg, LOGGING_MAX_NUM_FILES);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • LOGGING_MAX_NUM_FILES:テナントごとに許可されるログファイルの最大数。デフォルト値は 10 です。

appd_config_set_logging_max_file_size_bytes

各ログファイルの最大サイズ(バイト)を設定します。このサイズに達すると、ログファイルがローテーションされます。

形式

appd_config_set_logging_max_file_size_bytes(cfg, LOGGING_MAX_FILE_SIZE_BYTES);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • LOGGING_MAX_FILE_SIZE_BYTES各ログファイルの最大サイズ(バイト単位)。デフォルトは 5 * 1024 * 1024 です。

appd_config_set_init_timeout_ms

コントローラ構成が受信され、ビジネストランザクションを取得する準備ができるまで appd_sdk_init(非同期アクション)で待機するミリ秒数を設定します。アプリケーションの起動時に発生する短時間のビジネストランザクションを取得し、コントローラから構成が送信されるまでの待機時間が延びても問題ない場合は、これを設定します。

形式

appd_config_set_init_timeout_ms(cfg, INIT_TIMEOUT_MS);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • INIT_TIMEOUT_MS:コントローラ構成が受信され、ビジネストランザクションを取得する準備ができるまで appd_sdk_init(非同期アクション)で待機するミリ秒数。
    • X:最大 X ミリ秒までコントローラ構成を待機します。
    • 0:コントローラ構成を待機しません。
    • -1:エージェントでコントローラ構成が受信されるまで無期限に待機します。
    • デフォルト値は 0 です。

appd_config_getenv

SDK を設定するための環境変数を設定します。環境変数は、デフォルトでは読み込まれません。環境変数を使用して SDK を構成するには、この関数を呼び出す必要があります。

使用可能な環境変数のリストについては、「環境変数」を参照してください。環境変数

形式

APPD_API void appd_config_getenv(struct appd_config * cfg, const char * prefix);

パラメータ

  • cfgSplunk AppDynamics 構成オブジェクト。
  • prefix環境変数名のプレフィックス。環境変数名は <prefix> になります。<base>.

appd_context_config_init

空のコンテキスト構成構造を初期化して、返します。

形式

APPD_API struct appd_context_config* appd_context_config_init(const char* context_name)

パラメータ

  • context_name:このコンテキストの名前。

appd_context_config_set_controller_host

アプリケーション コンテキストにコントローラホストを追加します。

形式

APPD_API void appd_context_config_set_controller_host (struct appd_context_config * context_cfg, const char * host)

パラメータ

  • context_cfg:このコンテキストのビジネスアプリケーション、階層、およびノードの名前を示す Splunk AppDynamics コンテキスト構成オブジェクト。
  • host:コントローラホストの名前。

appd_context_config_set_controller_port

アプリケーション コンテキストにコントローラポートを追加します。

形式

APPD_API void appd_context_config_set_controller_port (struct appd_context_config * context_cfg, const unsigned short port)

パラメータ

  • context_cfg:このコンテキストのビジネスアプリケーション、階層、およびノードの名前を示す Splunk AppDynamics コンテキスト構成オブジェクト。
  • port コントローラが待機しているポート番号。

appd_context_config_set_controller_account

アプリケーション コンテキストにコントローラポートを追加します。

形式

APPD_API void appd_context_config_set_controller_port (struct appd_context_config * context_cfg, const char * acct)

パラメータ

  • context_cfg:このコンテキストのビジネスアプリケーション、階層、およびノードの名前を示す Splunk AppDynamics コンテキスト構成オブジェクト。
  • account コントローラが接続されるアカウント名。

appd_context_config_set_controller_access_key

アプリケーション コンテキストにコントローラアクセスキーを追加します。

形式

APPD_API void appd_context_config_set_controller_port (struct appd_context_config * context_cfg, const char * key)

パラメータ

  • context_cfg:このコンテキストのビジネスアプリケーション、階層、およびノードの名前を示す Splunk AppDynamics コンテキスト構成オブジェクト。
  • keyコントローラに接続するためのアクセスキー。

appd_context_config_set_controller_use_ssl

アプリケーション コンテキストにコントローラアクセスキーを追加します。

形式

APPD_API void appd_context_config_set_controller_port (struct appd_context_config * context_cfg, const char * key)

パラメータ

  • context_cfg:このコンテキストのビジネスアプリケーション、階層、およびノードの名前を示す Splunk AppDynamics コンテキスト構成オブジェクト。
  • ssl:true の場合は、ゼロ以外の整数に設定します。false の場合は整数ゼロに設定します。SaaS コントローラでは、これをゼロ以外に設定する必要があることに注意してください。

appd_context_config_set_controller_http_proxy_host

オプション。HTTP プロキシを使用してコントローラと通信する場合は、HTTP プロキシのホスト名を設定します。

形式

APPD_API void appd_context_config_set_controller_http_proxy_host(struct appd_context_config *context_cfg, const char *host);

パラメータ

  • context_cfg:このコンテキストのビジネスアプリケーション、階層、およびノードの名前を示す Splunk AppDynamics コンテキスト構成オブジェクト。
  • host:HTTP プロキシを使用してコントローラと通信する場合の HTTP プロキシのホスト名。

appd_context_config_set_controller_http_proxy_port

オプション。HTTP プロキシを使用してコントローラと通信する場合は、HTTP プロキシのホスト名を設定します。

形式

APPD_API void appd_context_config_set_controller_http_proxy_host(struct appd_context_config * context_cfg, const unsigned short port);

パラメータ

  • context_cfg:このコンテキストのビジネスアプリケーション、階層、およびノードの名前を示す Splunk AppDynamics コンテキスト構成オブジェクト。
  • portHTTP プロキシのポート名。デフォルトはポート 80 です。

appd_context_config_set_controller_http_proxy_username

オプション。. で HTTP プロキシに接続するときに使用するユーザー名を設定します。

形式

APPD_API void appd_context_config_set_controller_http_proxy_host(struct appd_context_config *

パラメータ

  • context_cfg:このコンテキストのビジネスアプリケーション、階層、およびノードの名前を示す Splunk AppDynamics コンテキスト構成オブジェクト。
  • user:HTTP プロキシに接続するときに使用するユーザ名。

appd_context_config_set_controller_http_proxy_password

オプション。HTTP プロキシに接続するときに使用するパスワードを設定します。

形式

APPD_API void appd_context_config_set_controller_http_proxy_host(struct appd_context_config * context_cfg, const char * user);

パラメータ

  • context_cfg:このコンテキストのビジネスアプリケーション、階層、およびノードの名前を示す Splunk AppDynamics コンテキスト構成オブジェクト。
  • pwd:HTTP プロキシに接続するときに使用するパスワード。

appd_context_config_set_controller_http_proxy_password_file

オプション。HTTP プロキシに接続するときに使用するパスワードを設定します。

形式

APPD_API void appd_context_config_set_controller_http_proxy_host(struct appd_context_config * context_cfg, const char * pwd);

パラメータ

  • context_cfgこのコンテキストのビジネスアプリケーション、ティア、およびノードの名前を示す AppDynamics コンテキスト構成オブジェクト。
  • file:HTTP プロキシに接続するときに使用するパスワードが含まれるファイル。

appd_context_config_set_controller_certificate_file

オプション。CA 証明書のファイル名を設定します。独自の証明書ファイルを使用するように選択した場合は、これを設定します。

形式

APPD_API void appd_context_config_set_controller_http_proxy_host(struct appd_context_config * context_cfg, const char * file);

パラメータ

  • context_cfgこのコンテキストのビジネスアプリケーション、ティア、およびノードの名前を示す AppDynamics コンテキスト構成オブジェクト。
  • file:証明書ファイルの名前。デフォルトでは、付属の ca-bundle.crtcrt ファイル。

appd_context_config_set_controller_certificate_dir

オプション。CA証明書ファイルへのフルパスを設定します。複数の証明書ファイルがある場合は、これを設定します。

形式

APPD_API void appd_context_config_set_controller_http_proxy_host(struct appd_context_config * context_cfg, const char * file);

パラメータ

  • context_cfg:このコンテキストのビジネスアプリケーション、階層、およびノードの名前を示す Splunk AppDynamics コンテキスト構成オブジェクト。
  • dir:証明書ファイルへのフルパス。

appd_custom_event_start

この関数は、カスタムイベントの定義を開始します。定義されたイベントのハンドルを返します。appd_custom_event_end() を呼び出すと、イベントの定義が完了として通知されます。イベントハンドルは失敗時に null を返します。

形式

APPD_API appd_event_handle appd_custom_event_start(const char* application_context, enum appd_event_severity severity, const char* event_sub_type, const char* summary)

パラメータ

  • application_context:この文字列は、マルチテナントモードで実行している複数のエージェントから 1 つのエージェントを選択します。値が null の場合、デフォルトのエージェントが使用されます。
  • severity:これは、イベントのシビラティ(重大度)を表す列挙型です。有効な値は次のとおりです。APPD_EVENT_SEVERITY_INFOAPPD_EVENT_SEVERITY_WARNINGAPPD_EVENT_SEVERITY_ERROR
  • event_sub_type:カスタムイベントのサブタイプを含む文字列。これは、特定のサブタイプに属するカスタムイベントをフィルタリングするためにコントローラで使用できます。
  • summary:イベントの簡単な説明を含む文字列。

appd_custom_event_add_detail

この関数は、名前と値で構成される詳細をカスタムイベントの定義に追加します。成功時はゼロ以外の値、そうでない場合はゼロを返します。この呼び出しは、appd_custom_event_start()appd_custom_event_end() の呼び出しの間に行うことができます。この関数は、イベントに詳細を追加するために複数回呼び出すことができます。appd_custom_event_start() によって返されるイベントハンドルは、詳細を追加する適切なイベントを識別します。この関数への複数の呼び出しが同じ詳細名で行われた場合、最新の呼び出しからの詳細値がその詳細名を関連付けるために使用されます。

形式

APPD_API int appd_custom_event_add_detail(appd_event_handle event_handle, const char* detail_name, const char* detail_value)

パラメータ

  • detail_name:この文字列には、追加する必要がある詳細の名前が含まれます。値が null または空の場合、API は失敗し、ゼロを返します。
  • detail_value:この文字列には、追加する必要がある値の名前が含まれます。値が null または空の場合、API は失敗し、ゼロを返します。
  • event_handle:詳細を追加する必要があるイベントを参照します。値が null または無効の場合、API は失敗し、ゼロを返します。

appd_custom_event_add_property

この関数は、名前と値で構成されるプロパティをカスタムイベントの定義に追加します。成功時はゼロ以外の値、そうでない場合はゼロを返します。この呼び出しは、appd_custom_event_start()appd_custom_event_end() の呼び出しの間に行うことができます。この関数は、イベントにプロパティを追加するために複数回呼び出すことができます。appd_custom_event_start() によって返されるイベントハンドルは、プロパティを追加する適切なイベントを識別します。このプロパティは、カスタムイベントをフィルタリングするためにコントローラで使用できます。この関数への複数の呼び出しが同じプロパティ名で行われた場合、最新の呼び出しからのプロパティ値がそのプロパティ名を関連付けるために使用されます。

APPD_API int appd_custom_event_add_property(appd_event_handle event_handle, const char* property_name, const char* property_value)

パラメータ

  • event_handle:プロパティを追加する必要があるイベントを参照します。値が null または無効の場合、API は失敗し、ゼロを返します。
  • property_name:この文字列には、追加するプロパティの名前が含まれます。値が null または空の場合、API は失敗し、ゼロを返します。
  • property_value:この文字列には、追加するプロパティの値が含まれます。値が null または空の場合、API は失敗し、ゼロを返します。

appd_custom_event_end

イベント定義が完了したことを C++ SDK に通知し、コントローラに送信されるイベントをキューに入れます。成功時はゼロ、そうでない場合はゼロ以外の値を返します。

形式

APPD_API int appd_custom_event_end(appd_event_handle event_handle)

パラメータ

  • event_handle:イベントを参照するために使用されます。値が null または無効の場合、API は失敗し、ゼロを返します。

形式

APPD_API const char* appd_eum_get_cookie(appd_bt_handle bt, int https, int short_form, const char* referrer_url, const char* path)

パラメータ

  • bt:EUM-ADRUM Cookie が生成されるビジネストランザクションに対する処理。
  • https:ゼロ以外の値に設定すると、このフラグは着信要求で HTTPS プロトコルを使用することを示します。このフラグは、EUM Cookie をセキュアにするために使用されます。
  • short_form:ゼロ以外の値に設定すると、このフラグは EUM Cookie 内のサブ Cookie 名に略称が使用されることを示します。
  • referrer_urlreferrer_url:ユーザが要求したページの URL。これは、リファラ URL が不明の場合に NULL または "" に設定できます。
  • path:Cookie が保存される URL パス。ほとんどの場合、これは "/" に設定できます。NULL"" に設定すると、デフォルト値の "/" が使用されます。

戻り値

成功すると、関数は = で区切られた Cookie キーと Cookie 値を含む文字列を返します。返された Cookie 文字列に関連付けられているメモリを解放しないでください。appd_bt_end() を呼び出すと、メモリは自動的に解放されます。

EUM が無効になっているか、コントローラから設定情報を受信していない場合は、NULL が返されます。

appd_sdk_add_app_context

Cisco AppDynamics SDK を初期化します。

形式

APPD_API int appd_sdk_add_app_context (struct appd_context_config * context_cfg) 

パラメータ

  • context_cfg:このコンテキストのビジネスアプリケーション、階層、およびノードの名前を示す Splunk AppDynamics コンテキスト構成オブジェクト。

appd_sdk_init

Splunk AppDynamics C/C++ SDK を初期化します。この関数は、可能であればアプリケーションの起動時にインストゥルメント化されたアプリケーションから 1 回呼び出される必要があります。

注: fork() を使用する場合、appd_sdk_init() とその他すべての SDK コールはフォークされたプロセスのみで使用し、親プロセスでは使用しません。また、各子プロセスは独立したプロセスとして動作し、このプロセスと他の SDK のインストゥルメント化された子プロセスとの間ではハンドルを共有しません。

形式

APPD_API int appd_sdk_init (const struct appd_config * config)

パラメータ

  • config:エージェントとコントローラ間の通信を有効にする Splunk AppDynamics 構成設定。

戻り値

成功時はゼロ、そうでない場合はゼロ以外の値。返り値がゼロでない場合は、ログメッセージにエラーが示されます。

appd_sdk_term

C/C++ SDK を停止します。このエージェントのアクティブなビジネストランザクションがすべて終了し、コントローラにレポートするエージェントメトリックが停止します。

注: このアクションは60秒ごとに実行されるため、エージェントを数分間未満実行する場合は、エージェントからコントローラに完全にレポートする時間が十分でない場合があります。コントローラに残りのデータがすべて送信されるようにするには、appd_sdk_term() コールを発行するまで少なくとも 1 分間は待機してください。

形式

APPD_API void appd_sdk_term()

appd_bt_begin

ビジネストランザクションを開始するか、既存のトランザクションを継続します。

各アプリケーションのビジネスアプリケーション登録上限は200件、各エージェントのビジネスアプリケーション登録上限は50件であることに注意してください。他のタイプのエージェントで見られるトランザクションと同様に、C/C++ SDKでレポートされるビジネストランザクションの上限を超えると、そのビジネストランザクションはその他のすべてのトラフィックのグループ化に含まれません。エージェントで過剰にビジネストランザクションが作成されないようにすること、および実装によってビジネストランザクションが爆発的に増加する可能性が生じないようにすることに注意してください。

形式

APPD_API appd_bt_handle appd_bt_begin (const char * name, const char *  correlation_header)

パラメータ

  • nameビジネストランザクションの名前。有効な相関ヘッダーを含む現在のビジネスアプリケーションの継続トランザクションである場合は、ヘッダーの名前が SDK で使用されます。{ } [ ] | & ;文字「{ } [ ] | & ;」はトランザクション名に使用できません
  • correlation_header:継続トランザクションの場合は相関ヘッダー、それ以外は NULL。指定した場合、相関ヘッダーは別のエージェントによって生成されていて、このエージェントでは文字列として使用可能です。相関ヘッダーは、このトランザクションがアップストリーム トランザクションと相関するための情報を提供します。

戻り値

開始したビジネストランザクションの不透明ハンドル。

appd_bt_begin_with_app_context

ビジネストランザクションを開始するか、マルチテナントコントローラ環境内の既存のトランザクションを継続します。

形式

APPD_API appd_bt_handle appd_bt_begin_with_app_context (const char *  context, const char *  name, const char *  correlation_header)

パラメータ

  • contextこのビジネストランザクションが属するアプリケーション コンテキスト名。
  • nameビジネストランザクションの名前。有効な相関ヘッダーを含む現在のビジネスアプリケーションの継続トランザクションである場合は、ヘッダーの名前が SDK で使用されます。文字「{ } [ ] | & ;」はトランザクション名に使用できません。
  • correlation_header:継続トランザクションの場合は相関ヘッダー、それ以外は NULL。指定した場合、相関ヘッダーは別のエージェントによって生成されていて、このエージェントでは文字列として使用可能です。相関ヘッダーは、このトランザクションがアップストリーム トランザクションと相関するための情報を提供します。

appd_bt_enable_snapshot

特定のビジネストランザクションのスナップショットを有効にします。この呼び出しは、appd_bt_begin()appd_bt_end() の呼び出しの間に行うことができます。スナップショットが正常に有効化された場合はゼロ以外の値を返し、それ以外の場合はゼロを返します。

形式

APPD_API int appd_bt_enable_snapshot(appd_bt_handle bt)

パラメータ

  • bt:スナップショットを有効にする必要があるビジネストランザクションのハンドル。

appd_bt_end

指定のビジネストランザクションを終了します。

形式

APPD_API void appd_bt_end (appd_bt_handle  bt)

パラメータ

  • bt終了するビジネストランザクションへのハンドル。

appd_bt_get

appd_bt_store で指定の GUID に関連する BT ハンドルを取得します。

形式

APPD_API appd_bt_handle appd_bt_get (const char * guid)

パラメータ

  • guidappd_bt_store に渡されたグローバルな一意の識別子。

戻り値

指定の GUID に関連するビジネストランザクションへのハンドル。

以下の場合、SDKは警告を記録し他のAPI関数で安全に使用できるハンドルを返します。結果として、関数が何もせずすぐに戻り値を返す場合ことになります。

  • SDK で GUID に関連するハンドルが見つからない。
  • SDK がハンドルを取得する前にコールが終了した。

appd_bt_is_snapshotting

エージェントが現在トランザクションスナップショットを取得しているかどうかをレポートします。スナップショットが取得されていない場合、潜在的にコストが高い関数が何もしていない可能性を調べることができるため、appd_add_user_data() または appd_bt_set_url() を呼び出す前に使用すると効果的です。

形式

APPD_API char appd_bt_is_snapshotting (appd_bt_handle  bt)

パラメータ

  • bt スナップショットの取得をチェックするためのビジネストランザクションへのハンドル。

戻り値

指定のビジネストランザクションでスナップショットを取得中の場合はゼロ以外。それ以外の場合はゼロになります。

appd_bt_set_url

スナップショットのURLを設定します(取得されている場合)。

スナップショットが発生した場合は、URLが設定されます。データは7ビットASCIIまたはUTF-8である必要があります。

スナップショットが発生していないときに、この関数を呼び出すと安全です。指定のビジネストランザクションでスナップショットが取得されていないときは、この関数がすぐに戻ります。ただし、この関数に渡すデータの抽出はコストが高い場合、appd_bt_is_snapshotting を使用して、データが抽出され、この関数が呼び出される前にビジネストランザクションでスナップショットが取得されているかどうかを確認できます。

形式

APPD_API void appd_bt_set_url (appd_bt_handle  bt, const char *  url)

パラメータ

  • bt:ユーザデータを追加するビジネストランザクション(スナップショットが取得されている場合)。
  • url7 ビット ASCII または UTF-8 として取得されるスナップショットの URL 値。

appd_bt_override_start_time_ms

1970年1月1日(協定世界時)以降に経過したミリ秒数を表す時間(ミリ秒)を取得します。デフォルトの開始時間(システムクロックに従って appd_bt_begin() API が呼び出される時間)は、この関数に指定した時間でオーバーライドされます。特定の値で開始時間をオーバーライドすると、BT 内部の開始時間が無効になり、指定された開始時間がコントローラにレポートされます。

この関数は、appdynamics_advanced.h ファイルに配置され、特殊なケースのみで使用されます。

形式

APPD_API void appd_bt_override_start_time_ms(appd_bt_handle bt, unsigned int timeMS);

パラメータ

  • bt:時間をオーバーライドするビジネストランザクション
  • timeMS:新紀元の開始(1970 年 1 月 1 日午前 0 時(協定世界時))以降の時間(ミリ秒)。

appd_bt_override_time_ms

このビジネス トランザクションについてコントローラにレポートされるビジネス トランザクション応答時間をオーバーライドする時間(ミリ秒)を指定します。

C/C++ SDK では、ビジネストランザクションの応答時間のために独自の内部タイマーが保持されています。このタイマーには、bt_begin コールから bt_end コールまでの経過時間が反映されます。場合によっては、デフォルトのビジネストランザクション応答タイマーをオーバーライドして、ビジネストランザクションタイマーを直接設定します。たとえば、外部モニタリングシステムと Splunk AppDynamics を統合する際に役立つ場合があります。

この関数を呼び出すと、レポートされるビジネストランザクションは指定した時間か、トランザクションの exit コール時間すべての合計のどちらか大きい方になることに注意することが重要です。これは、含まれる exit コールの合計よりも短い時間でビジネストランザクションをレポートできないためです。

この関数は、appdynamics_advanced.h ファイルに配置され、特殊なケースのみで使用されます。

形式

APPD_API void appd_bt_override_time_ms(appd_bt_handle bt, unsigned int timeMS);

パラメータ

  • bt:応答時間を設定するビジネストランザクション。
  • timeMS:ビジネストランザクションの所要時間(ミリ秒)。

appd_bt_store

appd_bt_get を使用して取得するための BT ハンドルを格納します。

この関数を使用すると、後で取得するためにBTをグローバルレジストリに格納できます。これは、BTの開始と終了を別々の場所で行う必要があり、必要なコード部分を使用してハンドルをBTに渡すことが困難である場合に便利です。

BTが終了すると、ハンドルがグローバルレジストリから削除されます。

形式

APPD_API void appd_bt_store (appd_bt_handle bt, const char * guid)

パラメータ

  • bt格納される BT。
  • guid指定の BT に関連付けるグローバルな一意の識別子。

int begin_transaction(uint64_t txid, uint64_t sku, float price)
{
appd_bt_handle bt = appd_bt_begin("payment-processing", NULL);
appd_bt_store(bt, std::to_string(txid).c_str());
// ...
}

appd_bt_add_error

ビジネストランザクションにエラーを追加します。

エラーはビジネストランザクションの一部としてレポートされます。ただし、ビジネストランザクションにエラーのマークを付けずにエラーを追加できます(たとえば、致命的なエラー以外の場合)。

形式

APPD_API void appd_bt_add_error (appd_bt_handle  bt, enum appd_error_level  level, const char *  message, int  mark_bt_as_error)

パラメータ

  • btエラーが追加されたビジネストランザクションへのハンドル。
  • level:このエラーのレベルは、APPD_LEVEL_NOTICEAPPD_LEVEL_WARNING、および APPD_LEVEL_ERROR です。
  • messageこのエラーのエラーメッセージ。
  • mark_bt_as_errortrue に設定すると、このエラーが発生したビジネストランザクションにエラートランザクションのマークが付けられます。この場合、ビジネストランザクションはエラートランザクションとしてのみカウントされます。トランザクションが遅延または停滞していた場合でも、遅い、非常に遅い、または停滞するトランザクションとしてカウントされません。false に設定すると、ビジネストランザクションにエラートランザクションのマークが付けられません。

appd_bt_add_user_data

特定のビジネストランザクションで生成されたトランザクションスナップショットにユーザーデータを添付。

ユーザデータはビジネストランザクションに追加されますが、トランザクション スナップショットが発生している場合にのみ報告されます。ユーザーデータは、コントローラ UI のトランザクション スナップショット詳細の [Business Data] タブに表示されます。

スナップショットが発生していないときに、この関数を呼び出すと安全です。指定のビジネストランザクションがスナップショットを取得していないときは、この関数がすぐに戻る。

この関数に渡すデータの抽出はコストが高い場合、appd_bt_is_snapshotting() を使用して、データが抽出され、この関数が呼び出される前にビジネストランザクションで実際にスナップショットが取得されているかどうかを確認できます。

データは7ビットASCIIまたはUTF-8である必要があります。

形式

APPD_API void appd_bt_add_user_data (appd_bt_handle  bt, const char *  key, const char *  value)

パラメータ

  • bt:ユーザデータを追加するビジネストランザクション(スナップショットが取得されている場合)。
  • key :7 ビット ASCII または UTF-8 としてスナップショットに追加するユーザデータの名前。
  • value :7 ビット ASCII または UTF-8 としてスナップショットに追加するユーザデータの値。

appd_backend_add

宣言されたバックエンドを現在のビジネスアプリケーションに追加します。追加する前にバックエンドを宣言するには、appd_backend_declare を使用します。

この関数は、追加するバックエンドのタイプに少なくとも1つの識別プロパティが存在しなければ失敗します。

形式

APPD_API int appd_backend_add (const char * backend)

パラメータ

  • backendバックエンドへのポインタ。

戻り値

成功時はゼロ、そうでない場合はゼロ以外の値。返り値がゼロでない場合は、ログメッセージにエラーが示されます。

appd_backend_declare

バックエンドの存在を宣言します。バックエンドがまだ C++ SDK インスタンスに登録されていない場合にのみ、これを呼び出します。

形式

APPD_API void appd_backend_declare (const char * type, const char *  unregistered_name)

パラメータ

  • typeバックエンドのタイプ(次のオプションから選択):
    • APPD_BACKEND_HTTP

    • APPD_BACKEND_DB

    • APPD_BACKEND_CACHE

    • APPD_BACKEND_RABBITMQ

    • APPD_BACKEND_WEBSERVICE

    • APPD_BACKEND_JMS

  • unregistered_nameバックエンドの名前。C++ SDK インスタンスごとに一意である必要があります。

appd_backend_prevent_agent_resolution

ダウンストリームエージェントがこのバックエンドとして解決されないようにするために呼び出します。使用する場合、これは appd_backend_add() の前に呼び出す必要があります。

通常は、エージェントで未解決バックエンドの相関ヘッダーが選択されると、それ自体がそのバックエンドとして解決されます。通常は、これが適切な動作です。

ただし、実際にバックエンドが相関ヘッダーを通過するインストゥルメント化されていないティア(メッセージキューやプロキシなど)である場合は、ルーティングされるティアとは異なるようにバックエンドを表示させることがあります。この関数を呼び出すと、SDKでこのバックエンドへの exit コールに生成された相関ヘッダーによって、バックエンドとは異なるようにレポートすることがダウンストリームエージェントに指示されます。

たとえば、ティアAからインストゥルメント化されていないバックエンドBに通信し、そのバックエンドBからティアCにルーティングされている場合は、この機能を呼び出さなければ、フローマップが A > Cになります。この機能を呼び出すと、フローマップが A > B > Cになります。

形式

APPD_API int appd_backend_prevent_agent_resolution (const char * backend)

パラメータ

  • backend宣言されたバックエンドへのポインタ。

戻り値

成功時はゼロ、そうでない場合はゼロ以外の値。返り値がゼロでない場合は、ログメッセージにエラーが示されます。

appd_backend_set_identifying_property

バックエンドの識別プロパティを設定します。設定する識別プロパティごとに1回呼び出します。この関数は、appd_backend_declareappd_backend_add の間に呼び出します。

バックエンドの識別プロパティが、呼び出されるダウンストリームコンポーネントを一意に識別。これらのプロパティは、コントローラ UI でバックエンドダッシュボードの右上パネルに表示されます。

ビルトイン exit コールタイプのいずれかのバックエンドを追加するときは、少なくとも1つの識別プロパティを設定する必要があります。有効なプロパティは、次の出口コールタイプによって異なります。

exit コールタイプ有効な識別プロパティ

APPD_BACKEND_HTTP

HOSTPORTURLQUERY STRING
APPD_BACKEND_DB HOSTPORTDATABASEVENDORVERSION
APPD_BACKEND_CACHE SERVER POOLVENDOR
APPD_BACKEND_RABBITMQ HOSTPORTROUTING KEYEXCHANGE
APPD_BACKEND_WEBSERVICE SERVICEURLOPERATIONSOAP ACTIONVENDOR
APPD_BACKEND_JMS DESTINATIONDESTINATIONTYPEVENDOR
APPD_BACKEND_WEBSPHEREMQ HOSTPORTDESTINATIONDESTINATIONTYPEMAJOR VERSIONVENDOR

形式

APPD_API int appd_backend_set_identifying_property (const char * backend, const char *  key, const char *  value)

パラメータ

  • backendバックエンドへのポインタ。
  • keyプロパティの名前。たとえば、DESTINATION または PORT など。
  • value:プロパティの値。たとえば、Order Queue または 3304 など。

戻り値

成功時はゼロ、そうでない場合はゼロ以外の値。返り値がゼロでない場合は、ログメッセージにエラーが示されます。

appd_custom_metric_add

カスタムメトリックを報告します。

形式

APPD_API void appd_custom_metric_add (const char * application_context, const char *  metric_path, enum appd_time_rollup_type  time_rollup_type, enum appd_cluster_rollup_type  cluster_rollup_type, enum appd_hole_handling_type  hole_handling_type)

パラメータ

  • application_context:このカスタムメトリックのアプリケーション コンテキスト。
  • metric_pathカスタムメトリックのパス。このパスでは、カスタムメトリックがメトリックブラウザで表示される場所が定義されます。パス内のブランチを区切るには、パイプ文字を使用します。たとえば、Custom Metrics|MyCustomMetric はツリーの最上位メトリックとして MyCustomMetric を定義します。
  • time_rollup_type:このメトリックのメトリック値を時間経過とともにロールアップする方法を次から指定します。
    • APPD_TIMEROLLUP_TYPE_AVERAGE:時間経過とともにメトリックの平均値を計算します。

    • APPD_TIMEROLLUP_TYPE_SUM時間経過とともにメトリックの合計値を計算します。

    • APPD_TIMEROLLUP_TYPE_CURRENTメトリックの現在の値をレポートします。

  • cluster_rollup_type:このメトリックのメトリック値をクラスタ全体でロールアップする方法を指定します(次のオプションから選択)。

    • APPD_CLUSTERROLLUP_TYPE_INDIVIDUAL:クラスタのメンバーごとに値を個別にロールアップします。

    • APPD_CLUSTERROLLUP_TYPE_COLLECTIVE:クラスタのすべてのメンバー間で値をロールアップします。

  • hole_handling_type:ホール(このメトリックから値がレポートされていないギャップ)を処理する方法を次から指定します。
    • APPD_HOLEHANDLING_TYPE_RATE_COUNTER:メトリックの集計時にギャップ(または 0 値)が重要とみなされます。

    • APPD_HOLEHANDLING_TYPE_REGULAR_COUNTER:メトリックの集計時にギャップ(または 0 値)が重要とみなされません。

これらのパラメータに関する追加情報については、「カスタムメトリックの作成カスタムメトリックの作成」を参照してください。

appd_custom_metric_report

指定のメトリック値をレポートします。

形式

APPD_API void appd_custom_metric_report (const char * application_context, const char *  metric_path, long  value) 

パラメータ

  • application_context:このカスタムメトリックのアプリケーション コンテキスト。
  • metric_path:レポートするメトリックのパス(appd_custom_metric_add で定義)。
  • value:レポートするメトリック値。値が集計される方法は、ロールアップパラメータを appd_custom_metric_add に設定することで指定されます。

appd_exitcall_add_error

exit コールにエラーを追加します。

形式

APPD_API void appd_exitcall_add_error (appd_exitcall_handle exitcall, enum appd_error_level  level, const char *  message, int  mark_bt_as_error) 

パラメータ

  • exitcall終了コールへのハンドル。
  • level:このエラーのレベルは、APPD_LEVEL_NOTICEAPPD_LEVEL_WARNING、および APPD_LEVEL_ERROR です。

  • messageこのエラーのエラーメッセージ。
  • mark_bt_as_errortrue に設定すると、このエラーが発生した終了コールを行うビジネストランザクションにエラートランザクションのマークが付けられます。この場合、ビジネストランザクションはエラートランザクションとしてのみカウントされます。トランザクションが遅延または停滞していた場合でも、遅い、非常に遅い、または停滞するトランザクションとしてカウントされません。false に設定すると、ビジネストランザクションにエラートランザクションのマークが付けられません。

appd_exitcall_begin

ビジネストランザクションの一部として指定したバックエンドへの exit コールを開始します。

形式

APPD_API appd_exitcall_handle appd_exitcall_begin (appd_bt_handle bt, const char *  backend)

パラメータ

  • bt終了コールを行うビジネストランザクションへのハンドル。
  • backend:終了コールの宛先バックエンド。Splunk AppDynamics では自動的に Go アプリケーションのバックエンドが検出されないため、宛先バックエンドを指定する必要があります。

戻り値

開始した exit コールへの Opaque ハンドル。

appd_exitcall_end

exit コールを完了します。

形式

APPD_API void appd_exitcall_end (appd_exitcall_handle exitcall) 

パラメータ

  • exitcall終了する終了コールへのハンドル。

appd_exitcall_get

appd_exitcall_store() 経由で GUID に関連する終了コールへのハンドルを取得します。

形式

APPD_API appd_exitcall_handle appd_exitcall_get (const char * guid)

パラメータ

  • guidappd_exitcall_store() に渡されたグローバルな一意の識別子。

戻り値

指定の GUID に関連する exit コールへのハンドル。

以下の場合、SDK は警告を記録し他の API 関数で安全に使用できるハンドルを返します。結果として、関数が何もせずすぐに戻り値を返すことになります。

  • SDK で GUID に関連するハンドルが見つからない。
  • SDK がハンドルを取得する前にコールが終了した。

appd_exitcall_get_correlation_header

ビジネストランザクションを相関させるためのヘッダーを取得します。

相関させる exit コールがビジネストランザクションで行われる場合は、相関ヘッダーを取得し、それを exit コールのペイロードに挿入する必要があります。

返された文字列は、exit コールが終了すると解放されます。自分で解放しないでください。

形式

APPD_API const char* appd_exitcall_get_correlation_header (appd_exitcall_handle exitcall) 

パラメータ

  • exitcall終了コールへのハンドル。

戻り値

成功時は相関情報を含む 7 ビット ASCII 文字列を返します。この文字列を exit コールのペイロードに挿入できます。これにより、ダウンストリーム エージェントはこのペイロードからヘッダーを抽出して、ビジネストランザクションを継続できます。

エラー時は、ダウンストリームビジネストランザクションの検出が回避されるデフォルトのヘッダーが返されます。

appd_exitcall_override_start_time_ms

1970年1月1日(協定世界時)以降に経過したミリ秒数を表す時間(ミリ秒)を取得します。デフォルトの開始時間(システムクロックに従って appd_exitcall_begin() API が呼び出される時間)は、この関数に指定した時間でオーバーライドされます。特定の値で開始時間をオーバーライドすると、exit コール内部の開始時間が無効になり、指定された開始時間がコントローラにレポートされます。

この関数は、appdynamics_advanced.h ファイルに配置され、特殊なケースのみで使用されます。

形式

APPD_API void appd_exitcall_override_time_ms(appd_exitcall_handle exitCall, int64_t timeMS);

パラメータ

  • exitCall:開始時間がオーバーライドされる終了コール
  • timeMS終了コールの開始時間をオーバーライドする時間

appd_exitcall_override_time_ms

コントローラにレポートされる exit コールの時間をオーバーライドする時間(ミリ秒)を指定します。

C/C++ SDK は、 exit コールの完了にかかる時間用の独自の内部タイマーを維持します。場合によっては exit コールの内部タイマーを無効にする必要があります。たとえば、外部のモニタリングシステムで記録され、SDK プログラムに読み込まれる exit コールをレポートする場合に役立ちます。

この関数は、appdynamics_advanced.h ファイルに配置され、特殊なケースのみで使用されます。

形式

APPD_API void appd_exitcall_override_time_ms(appd_exitcall_handle exitCall, int64_t timeMS);

パラメータ

  • exitCall:完了時間がオーバーライドされる終了コール
  • timeMS:終了コールの時間をオーバーライドする時間。

appd_exitcall_set_details

exit コールの詳細文字列を設定します。たとえば、DB バックエンドで exit コールの一部として実行される SQL ステートメントを追加する場合に使用できます。このデータは、トランザクション スナップショットの exit コール詳細 UI に表示されます。

形式

APPD_API int appd_exitcall_set_details (appd_exitcall_handle exitcall, const char * details)

パラメータ

  • exitcall終了コールへのハンドル。
  • details終了コールに追加する任意の文字列。

戻り値

成功時はゼロ、そうでない場合はゼロ以外の値。返り値がゼロでない場合は、ログメッセージにエラーが示されます。

appd_exitcall_store

appd_exitcall_get() を使用して取得するための終了コールハンドルを格納します。

この関数を使用すると、後で取得するために exit コールをグローバルレジストリに格納できます。これは、コールの開始と終了を別々の場所で行う必要があり、必要なコード部分を使用してハンドルを渡すことが困難である場合に便利です。

このハンドルは、 exit コール(またはそれを含む BT)が終了すると削除されます。

形式

APPD_API void appd_exitcall_store (appd_exitcall_handle exitcall, const char *  guid) 

パラメータ

  • exitcall格納される終了コール。
  • guid指定のコールに関連付けるグローバルな一意の識別子。

appd_exitcall_handle ec = appd_exitcall_begin(bt, "authdb");
appd_exitcall_store(ec, "login-exit");

appd_frame_begin

コールスタックにメソッド呼び出しの開始を記録します。メソッド呼び出しの期間を追跡するには、メソッドコードの開始付近で appd_frame_begin を呼び出し、メソッドが戻るときに appd_frame_end を呼び出す必要があります。

形式

APPD_API appd_frame_handle appd_frame_begin(appd_bt_handle bt, enum appd_frame_type frame_type,const char* class_name, const char* method_name, const char* file, unsigned int line_number);

パラメータ

  • bt:コールグラフのビジネストランザクション。
  • frame_type:フレームのタイプ。C または C++ コードで使用する場合は、APPD_FRAME_TYPE_CPP を使用します。
  • class_name:このメソッドがクラスのメンバーである場合は、クラスの名前。この値を NULL にすることはできません。
  • method_name:メソッドの名前。この値を NULL にすることはできません。
  • file:ソースファイルのパス。
  • line_number:ソースファイルの行番号。

戻り値

フレームへの不透明ハンドル。エラーが発生した場合はNULL。

appd_frame_end

コールスタックにメソッド呼び出しの終了を記録します。メソッド呼び出しの期間を追跡するには、メソッドコードの開始付近で appd_frame_begin を呼び出し、メソッドが戻るときに appd_frame_end を呼び出す必要があります。

形式

APPD_API void appd_frame_end(appd_bt_handle bt, appd_frame_handle frame);

パラメータ

  • bt:コールグラフのビジネストランザクション。
  • frame:対応する appd_frame_begin コールで返されるハンドル。