Data Collector はコード解析/テスト ツールからのレポートを受け取るコンポーネントです。Data Collector のストレージとアップロード制限の閾値は、組織の要件に合わせてユーザーが設定できます。

このセクションの内容:

Data Collector レポート ストレージ閾値の設定

Data Collector がアナライザーからファイルを受信して処理する際、処理されたレポート ファイルは <DTP_DATA_DIR>/data/_DEFAULT_/dc/stored フォルダーに置かれます。このフォルダーには、YEAR/MONTH/DAY/XXX/YYY という書式のサブフォルダーがあります 。XXX と YYY は整数です。この値はファイル名に基づいて計算されます。

保存するフォルダーの最大サイズを指定すると、古いエントリが自動的に削除されます。この設定は、ビルド詳細の保持設定ではなく、DTP に保存されている XML レポートにのみ適用されます (「Configuring Build Details Retention Settings」を参照)。 

  1. <DTP_DATA_DIR>/grs/config/ ディレクトリの DCConfig.xml ファイルを開き、次のエントリを探します。

    <stored-folder>
    	<max-size>20</max-size>
    	<size-to-clean>5</size-to-clean>
    </stored-folder>
  2. <max-size> プロパティの値 (単位: GB) を許される最大のストレージ容量に変更します。デフォルトは 50 GB です。
  3. <size-to-clean> プロパティの値 (単位: GB) を最大容量に達した時に削除するデータの量に変更します。デフォルトは 5 GB です。
  4. ファイルを保存します。

DCConfig.xml ファイルにエントリがない場合、デフォルト値が使用されます。

レポート アップロードの最大サイズの設定

デフォルトでは、Data Collector が受け取ることができる XML レポートの最大サイズは 512MB です。以下の Data Collector JVM 引数を追加して、最大サイズを変更できます。

-Dcom.parasoft.sdm.api.rawstorage.datacollector.uploadMaxSize=512

Linux の場合、<DTP_DATA_DIR>/bin/variables ファイルにある以下の文字列を変更できます。

JAVA_DC_CONFIG_ARGS=" -Dcom.parasoft.sdm.api.rawstorage.datacollector.uploadMaxSize=512"

ビルド詳細の保持設定

デフォルトでは、Data Collector は 10 ビルド分に相当するメトリクス データと 2 ビルド分に相当するテスト結果およびテスト カバレッジ データをデータベースに保存します (「Default Data Retention Settings」を参照)。これらのプラクティスに関連するデータは「ビルド詳細」と呼ばれ、それぞれエクスプローラー ビューに表示するために使用されます。新しいレポートが DTP に送信された際にビルド詳細の上限を超えている場合、最も古い関連ビルドの詳細が削除されます。ただし、各ビルド詳細タイプは個別に保存されるため、あるビルド詳細タイプの制限を超えても、同じビルドの他のビルド詳細には影響しません。静的解析の詳細は常にデータベースに保存されます。保存についてユーザーが設定することはできません。

次の例では、2 ビルド分のテスト データが保存されており、[テストの傾向] ウィジェットの詳細レポートから利用できます。

プラクティスごとに、保持されるデータをビルド数で設定できます (「設定」を参照)。新しいレポートが DTP に送信されるときに Data Collector が保持するビルド詳細データを増やしたい場合、上限を引き上げます。ビルド詳細は大量のディスク容量を消費する可能性があるため、ディスク容量が問題になる場合は、上限を下げることを検討してください。DTP が意味のある情報を表示するには、少なくとも 2 ビルド分の詳細データが必要です。 

リソース カバレッジ詳細

リソース グループに従ってデータを表示するようにフィルターを設定している場合、単一のビルドのデータを表示したり、ビルトインのカバレッジ傾向のウィジェットを表示したりするには、リソース カバレッジ詳細も必要です。リソース グループは、1 個以上の Ant ファイル パターンによって定義されたファイルあるいはフォルダーの集合です。リソース グループによって、コードの特定部分のソフトウェア品質情報を参照できます (「プロジェクトへのリソース グループの追加」を参照)。

カバレッジとはメソッド レベルのカバレッジを指します

DTP はメソッド レベルおよびリソース レベルでカバレッジを収集します。メソッド レベルのカバレッジ データは、カバレッジ エクスプローラー でカバレッジを表示するために必要です。明示的な記述がない限り、本ドキュメントでの「カバレッジ」はメソッド レベルのカバレッジを指します。

フィルターがリソース グループを使用しない場合は、リソース カバレッジの詳細の設定を無視できます。

構成の階層

  1. Data Collector は、Parasoft ツールから新しい結果を受け取ったとき、最初にプロジェクトのビルド詳細ストレージ設定をチェックします (「ビルドの詳細設定」を参照)。 
  2. プロジェクトのビルド詳細設定が構成されていない場合、Data Collector はグローバルなビルド詳細設定を使用します (「構成」を参照)。
  3. プロジェクトも Data Collector のビルド詳細設定も構成されていない場合、テストとカバレッジの詳細の上限は、次の Java 引数で設定された値によって定義されます。

    -Dcom.parasoft.sdm.dc.build.details.to.keep

    引数は、<DTP_INSTALL>/bin ディレクトリにある variables ファイルで指定されます。メトリクスまたはリソース カバレッジのビルド詳細の場合、上限はありません。このオプションは非推奨であり、将来のバージョンで削除される可能性があります。

デフォルトのデータ保存期間の設定

保存されるデータの量は、ギガバイトなどのハード的な制限ではなく、履歴ビルドの数に基づいて決まります。デフォルトでは、DTP は以下のデータを保存します。

  • 単体テスト データ: 2 つの履歴ビルド
  • カバレッジ データ: 2 つの履歴ビルド
  • リソース カバレッジ データ: 10 の履歴ビルド
  • メトリクス データ: 10 の履歴ビルド

設定 

データの保存期間を設定するには、以下の操作を行います。

  1. Data Collector サービスを停止します。「DTP サービスの停止」を参照してください。
  2. <DTP_DATA_DIR>/grs/config/DCConfig.xml 構成ファイルを開き、<details-retention-builds-count> を探します。

    <!-- <details-retention-builds-count>
            <tests>2</tests>
            <coverage>2</coverage>
    		<resource-coverage>10</resource-coverage>
            <metrics>8</metrics>
     </details-retention-builds-count>-->
  3. 設定のコメントを外し、プラクティスごとに保存するデータ量を指定します。値はビルドの数を表します。たとえば 1 を指定することは、そのプラクティスについてビルド 1 つ分のデータを保存することを意味します。 

    <details-retention-builds-count>
    	<tests>3</tests>
        <coverage>4</coverage>
    	<resource-coverage>12</resource-coverage>
        <metrics>9</metrics>
    </details-retention-builds-count>
  4. ファイルを保存して Data Collector および DTP Server を再起動します。

テストの失敗の閾値の変更

デフォルトでは、Data Collector は 5000 件を超えるテストの失敗があるレポートを拒否します。以下の Data Collector JVM 引数を追加して上限を変更できます。

-Dcom.parasoft.sdm.rawstorage.failures.limit=5000

Linux の場合、<DTP_DATA_DIR>/bin/variables ファイルにある以下の文字列を変更できます。

JAVA_DC_CONFIG_ARGS=" -Dcom.parasoft.sdm.rawstorage.failures.limit=5000"

負の値を指定した場合、テストの失敗の数に関係なく Data Collector はレポートを拒否しません。

variables ファイルはアップグレード中に上書きされるため、DTP のアップグレード後に構成設定を再適用する必要があります。

レポート スキャン間隔の設定

DTP に送信されたレポートは、データベースに保存される前に、DTP_DATA ディレクトリ内のフォルダでキューに入れられます。デフォルトでは、Data Collector は 60 秒ごとにキュー フォルダーをチェックして新しいレポート ファイルを探します。スキャンとスキャンの間のアイドル時間を変更して、Data Collector がキュー フォルダーをチェックする間隔を変更できます。次の Data Collector の JVM 引数を <DTP_INSTALL>/bin/variables ファイルに追加して、スキャンの間隔を設定します。

-Dcom.parasoft.sdm.dc.scanning.period=<seconds>

variables ファイルはアップグレード中に上書きされるため、DTP のアップグレード後に構成設定を再適用する必要があります。

SOAtest からの最大トラフィック レスポンスの構成

SOAtest から DTP に送信されるレポートには、リクエスト レスポンス メッセージが含まれる場合があります。デフォルトでは、Data Collector は 100 万 byte のメッセージ レスポンスを受け入れますが、次の Data Collector の JVM 引数を設定することで上限を指定できます。

-Dcom.parasoft.sdm.dc.traffic.max.length=<BYTES>

セキュリティ層プロトコルと暗号化スイートの無効化

DTP では SSL はデフォルトで有効化されています。ただし、Parasoft ツールに関係するセキュリティ関連の問題がある場合、SSL プロトコルおよび/または暗号化スイートを無効化できます。

  1. Data Collector サービスを停止します。「DTP サービスの停止」を参照してください。
  2. <DTP_DATA_DIR>/conf/DCServerConfig.xml 構成ファイルを開き、適切な要素で除外するプロトコルおよび/または暗号化スイートを指定します:

    <!-- comma separated list of protocols to exclude
     By default, TLSv1, TLSv1.1 are excluded -->
    <excluded-ssl-protocols>TLSv1,TLSv1.1</excluded-ssl-protocols>
    <!-- comma separated list of cipher suites to exclude -->
    <excluded-cipher-suites></excluded-cipher-suites>
  3. Data Collector を再起動します。

リバース プロキシの設定

リバース プロキシは、高可用性を実現したりネットワーク セキュリティを強化するために使用されることがあります。組織でリバース プロキシを使用している場合は、リバース プロキシ環境で動作するように Data Collector を構成できます。Data Collector 構成ファイルの構成に加えて、リバース プロキシ サーバーも構成し、リクエストを正しいポートに転送する必要があります。詳細については「リバース プロキシのサポート」を参照してください。

  1. <DTP_DATA_DIR>/conf ディレクトリにある DCServerConfig.xml 構成ファイルを開きます。
  2. 次の要素の値を指定します。
    • <dc-reverse-proxy-protocol> : ユーザーが接続するリバース プロキシ サーバーのプロトコル (HTTP または HTTPS)。
    • <dc-reverse-proxy-port> : ユーザーが接続するリバース プロキシ サーバーのポート。
    • <dc-reverse-proxy-host> : ユーザーが接続するリバース プロキシ サーバーのホスト名。
    • <dc-reverse-proxy-path>: (オプション) リバース プロキシ サーバーが Data Collector を介して DTP にデータをアップロードするために使用できるパスを指定します。Data Collector、Report Center、およびその他の DTP アプリケーションがシングル コンテキスト パスを使用するように構成されている場合に、それらへのアクセスを提供します。パスを設定する必要があるのは、リバース プロキシがシングル コンテキスト パスをサポートするように構成されている場合だけです。パスは / で開始する必要があります。 
  3. ファイルを保存して Data Collector を再起動します (「DTP サービスの開始」を参照)。

設定の例

次の例では、Parasoft レポートが https://reverse-proxy123.example.com:7777/dtp/dc に送られ、http://your-dtp-server.example.com:8082 に転送されます。

<root-config>
<!-- fields that always need to be are not part of the reverse proxy setup -->
<dc-server-protocol>http</dc-server-protocol>
<dc-server-port>8082</dc-server-port>
<!-- reverse proxy setup -->
<dc-reverse-proxy-protocol>https</dc-reverse-proxy-protocol>
<dc-reverse-proxy-port>7777</dc-reverse-proxy-port>
<dc-reverse-proxy-host>reverse-proxy123.example.com</dc-reverse-proxy-host>
<dc-reverse-proxy-path>/dtp/dc</dc-reverse-proxy-path>
... other fields ...
</root-config>

これらのフィールドを設定していない場合、レポートを Data Collector にアップロードするときに Parasoft ツール (Jtest など) が失敗します。 

また、大きなリクエスト ペイロードを処理するようにリバース プロキシを構成する必要もあります。その理由は、サイズがメガバイトのレポートを Parasoft ツールが生成することがあるからです。詳細については、リバース プロキシ サーバーのドキュメントを参照してください。

  • No labels