メッセージ・フローのアカウンティングおよび統計のアカウンティング起点の設定

アカウンティングおよび統計データは、アカウンティング起点と関連しています。

始める前に:

このタスクを実行するには、以下のタスクを完了している必要があります。

mqsichangeflowstats コマンドを使用して、メッセージ・フローのアカウンティングと統計のデータ収集でアカウンティング起点をサポートするときには、どんなデータが関連しているかを示す正しい識別値を提供するよう、メッセージ・フローを構成しなければなりません。 データ収集を行うそれぞれのメッセージ・フローごとに異なる値を設定できます。 または、特定のメッセージ・フロー・グループに対して同じ値を設定できます (たとえば、 1 つの実行グループ内のメッセージ・フロー、または特定のクライアント、部門、 アプリケーション・スイートに関連したメッセージ・フロー)。

アカウンティング起点の設定は、 実行場所のブローカーにメッセージ・フローをデプロイするまでは使用されません。 メッセージ・フローのデプロイ前またはデプロイ後に、 データ収集をアクティブ化または変更して、 アカウンティング起点をサポートさせることができます。 アカウンティング起点を変更するメッセージ・フローをデプロイするとき、データ収集を停止する必要はありません。

メッセージ・フローを構成して特定のアカウンティング起点を指定するには:

  1. 「ブローカー・アプリケーション開発 (Broker Application Development)」パースペクティブに切り替えます。
  2. 作業するメッセージ・フローを開きます。
  3. ノードのパレットの上の「選択 (Selection)」をクリックします。
  4. エディター・ビューで Compute、Database、または Filter ノードを右クリックし、「ESQL のオープン (Open ESQL)」をクリックします。 関連する ESQL ファイルがエディター・ビュー内に開き、 現在のモジュールの先頭にカーソルが置かれます。 これらのノードのいずれにも、必要な ESQL を組み込むことが可能なので、このアクションに関して、各メッセージ・フローのどのノードが最も適切かを決定してください。

    アカウンティング起点サポートを利用するためには、 特定の起点を設定する各メッセージ・フローの中に、 これらのノードのいずれかを組み込む必要があります。 これら 3 つのノードのいずれもメッセージ・フロー内にまだ構成していない場合、 適切なポイント (たとえば入力ノードの直後) にいずれかを追加して、 それをフロー内の他のノードに接続する必要があります。

    これらのノードの詳細、および構成方法については、 Compute ノードDatabase ノード、 またはFilter ノードを参照してください。 さらに、ノードに関するトピックでは、 関連する ESQL モジュールと、 モジュールを格納している ESQL ファイルについて説明されているほか、 モジュール、ファイル、 またはその両方が存在しない場合にどんなアクションが取られるかを示しています。

  5. ノードのモジュール内の ESQL を更新して、 アカウンティング起点を設定します。 ブローカーは、Environment ツリーに設定された起点 ID を使用します。 相関名 Environment.Broker.Accounting.Origin のフィールドに、 値を設定する必要があります。 メッセージが最初にブローカーに受信されるとき、 このフィールドは Environment ツリー内に自動生成されません。 メッセージ・フローのノードに関連した ESQL モジュールでこれを設定するときに、これが初めて作成されます。

    メッセージ・フロー内に値を設定しない場合、 デフォルト値「無名 (Anonymous)」がすべての出力で使用されます。 メッセージ・フローの複数の場所に値を設定した場合、 メッセージ・フローの終端に最も近い場所で設定された値が出力データで使用されます。

    コードを追加するとき、以下の形式にします。

    SET Environment.Broker.Accounting.Origin = "value";

    (上記のように) 識別子を固定値として指定できます。 または、実行時に決定される動的な値に基づいて値を指定することもできます。 たとえば、この値を、 処理対象のメッセージの特定フィールドの内容に設定することができます (Compute ノードの ESQL をコーディングしている場合、 以下の例では、Body の代わりに相関名 InputBody を使用する必要があります):

    IF Body.DepartmentName <> NULL THEN
          SET Environment.Broker.Accounting.Origin = Body.DepartmentName;
    END IF;

    値は 32 バイト以内の文字データでなければなりません。

  6. ESQL モジュールに必要な変更を行った後、これを保存して、新たにエラーが発生していないことを確認します。
  7. メッセージ・フローを保存して、再びエラーを確認します。
これで、更新済みのメッセージ・フローをデプロイする準備ができました。 メッセージ・フローのデプロイ後に収集されるアカウンティングおよび統計のデータ・レコードには、 すでに設定した起点 ID が含まれます。

関連概念
メッセージ・フロー
メッセージ・フローのアカウンティングおよび統計データ

関連タスク
メッセージ・フロー・アプリケーションの開発
メッセージ・フロー・アプリケーションのデプロイ
メッセージ・フローのアカウンティングおよび統計データの収集パラメーターの変更
ノードでの ESQL の構成

関連資料
mqsichangeflowstats コマンド
Compute ノード
Database ノード
Filter ノード
メッセージ・フローのアカウンティングおよび統計データ