バックエンドの作成

バックエンドは、データベースまたはアプリケーションが使用するメッセージキュー、HTTPサービス、またはキャッシュサービスなどのリモートサービスです。バックエンドコンポーネント自体はアプリケーションエージェントにより監視されませんが、エージェントはインストゥルメント化されたサーバーからの呼び出しを監視します。インストゥルメント化された環境でエージェントがバックエンドを検出できるよう、バックエンドを作成する必要があります。以下が必要となります。

  • バックエンドの宣言
  • 識別プロパティの設定
  • 必要に応じて、コントローラ UI におけるバックエンド表示方法の構成
  • インストゥルメント化されたアプリケーションへのバックエンドの追加

バックエンドの宣言

エージェントが検出できるように、appd_backend_declare() を使用してバックエンドを宣言する必要があります。バックエンドを宣言した後は、バックエンドを単一SDKインスタンス内の他のビジネストランザクションが使用している場合、再度宣言する必要はありません。バックエンドは、「C/C++ SDK 参考資料」の「exit コールタイプ」のリストにあるサポートされているタイプのいずれかである必要があります。

バックエンドの識別

バックエンドには、appd_backend_set_identifying_property() を使用して設定する識別プロパティもあります。これらのプロパティは、バックエンドのタイプおよび表示する情報のタイプによって異なります。コントローラでは、バックエンドのダッシュボードに識別プロパティが表示されます。追加するバックエンドのタイプに少なくとも 1 つの識別プロパティを設定する必要があります。

次に、ActiveMQのコントローラUIのバックエンドプロパティを示します。

Backend properties

ティアへの転換

デフォルトでは、コントローラは検出されたバックエンドをフローマップ内の別のエンティティとして表示することはありませんが、エージェントはそのメトリックをダウンストリームティアの一部として報告します。バックエンドを個別のコンポーネントとして表示し、ティアに転換しない場合は appd_backend_prevent_agent_resolution() を使用します。「リモートサービスのティアへの転換」を参照してください。

アプリケーションへの追加

バックエンドを宣言して構成したら、アプリケーションに追加してエージェントが検出できるようにします。

バックエンドの例

次のリストに、データベースバックエンドの設定例を示します。

// declare a backend, only once for this SDK instance
const char backendOne[] = "first backend";
appd_backend_declare(APPD_BACKEND_HTTP,  backendOne);
// set the host property
rc = appd_backend_set_identifying_property(backendOne, "HOST", "sqs-us-west-hostname");
if (rc) {
std:cerr << "Error: appd_backend_set_identifying_property: " << rc << ".";
return -1;
}
// do not resolve the backend to the tier
rc = appd_backend_prevent_agent_resolution(backendOne);
if (rc) {
std:cerr << "Error: appd_backend_prevent_agent_resolution: " << rc << ".";
return -1;
}
// add the backend
rc = appd_backend_add(backendOne);
if (rc)
{
std:cerr << "Error: appd_backend_add: " << rc << ".";
return -1;
}