15 イベントの記録と再生を使用したデバッグ
イベントの記録と再生の機能を使用して、実行中のOracle Stream Analyticsアプリケーションをデバッグできます。アプリケーションの実行中に、EPNコンポーネントから永続ストアにフローするイベントを記録します。後のステージで、イベントBeanなどのアプリケーションでイベントを再生します。イベントBeanでイベントを問い合せ、その結果に基づいてアプリケーションを修正します。
この章のサンプル・コードは、/Oracle/Middleware/my_osa/examples/source/applications/recplay
にあるイベントの記録と再生のサンプルからとったものです。
この章の内容は次のとおりです。
15.1 イベント・フロー
simpleEventSource
アダプタは、イベントを記録するように構成されています。記録は、アダプタからのイベント・フローとして実行されます。eventStream
チャネルは、イベントを再生するように構成されています。再生は、チャネルへのイベント・フローとして実行されます。
次の図は、イベントの記録と再生の例のEPNを示し、どこでイベントを記録でき、どこでイベントを再生できるかを示しています。
15.2 Berkeley DB
Berkeley DBは、産業レベルの信頼性や可用性のある、高速でスケーラブルなトランザクション・データベースです。
イベントを記録する場合、Oracle Stream Analyticsサーバーでは、デフォルトで、Oracle Stream Analyticsサーバーにバンドルされた永続イベント・ストアであるBerkeley DBにイベントが格納されます。Berkeley DBの詳細は、次を参照してください。
http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html
。
記録と再生の機能を使用するように構成されているアプリケーションをデプロイする場合、Oracle Stream AnalyticsサーバーはBerkeley DBのデータベース・スキーマとインスタンスを次のディレクトリに作成します。
/Oracle/Middleware/my_oep/
/user_projects/domains/
domainname
/
servername
/bdb
注意:
データベース・キーは、レコード時間およびシーケンス番号です。
デフォルトBerkeleyデータベース構成はそのままで使用できます。Berkeleyデータベース・インスタンスの位置をカスタマイズしたり、またはパフォーマンスをチューニングする場合のみ、構成を変更する必要があります。Berkeley DBの構成方法の詳細は、Berkeley DBの構成を参照してください。
イベント・ストアAPIを使用して、記録時間の範囲とイベント記録元のコンポーネントを指定することで、ストア内の過去のイベントに対する問合せを実行できます。実際に使用する問合せはイベント・リポジトリ・プロバイダによって異なります。たとえば、Oracle Stream Analyticsに付属のデフォルト永続イベント・ストア・プロバイダではOracle CQLを使用します。これらのAPIを使用してイベント・ストアの古いイベントを削除することもできます。
15.3 イベントの記録
プロセッサ、アダプタ、チャネル、イベントBeanなど、イベントを生成するEPNの任意のコンポーネントの記録を構成できます。プロセッサとチャネルは常にイベントを生成します。
アダプタとイベントBeanは、EventSource
インタフェースを実装する必要があります。
EPNの異なるコンポーネントからのイベントを異なる永続ストアに格納したり、すべてのイベントを同じストアに格納したりするよう構成できます。コンポーネントによって出力されるイベントのみが記録されます。
コンポーネントのイベントの記録を有効にするには、構成ファイルを更新し、record-parameters
要素を追加します。record-parameters
の子要素を使用して、イベントの記録先となるイベント・ストア、記録が行われる最初の期間、格納するイベント・タイプのリストなどを指定します。
アプリケーションのデプロイが完了し、イベントがネットワーク内で循環を開始すると、特定の開始時間を構成した場合は記録が自動的に開始され、または管理ツールを使用して記録が動的に開始されます。記録が構成された各コンポーネントについて、Oracle Stream Analyticsではコンポーネントを離れたイベントが、記録時のタイムスタンプとともに適切なストアに格納されます。
15.4 イベントの再生
プロセッサ、アダプタ、ストリーム、イベントBeanなど、EPNの任意のコンポーネントの再生を構成できます。一般に、再生コンポーネントはネットワーク内でイベントを記録するステージよりも後のステージです。
コンポーネントのイベントの再生を有効にするには、構成ファイルを更新し、playback-parameters
要素を追加します。playback-parameters
の子要素を使用して、イベントを再生するイベント・ストア、再生するイベント・タイプのリスト(デフォルトではすべて再生)、再生する記録されたイベントの期間などを指定します。Oracle Stream Analyticsでは、デフォルトで、時間に正確にイベントが再生されます。ただし、イベントが記録元のコンポーネントを離れたときの元の速度よりも速いまたは遅い速度で再生されるように構成できます。
アプリケーションのデプロイが完了し、イベントがネットワーク内で循環を開始すると、Oracle Stream Analytics Visualizerまたはwlevs.Admin
を使用して再生を開始する必要があります。Oracle Stream Analyticsでは永続ストアからイベントが読み込まれ、EPNの適切な場所に挿入されます。
コンポーネントが再生イベントを取得した場合は、元のイベントとまったく同じように見えます。イベントを記録するようにダウンストリーム・コンポーネントが構成されている場合、Oracle Stream Analyticsでは着信した再生イベントとリアルタイム・イベントが記録されます。
15.5 Berkeley DBの構成
デフォルトBerkeley DB構成はそのままで使用できます。Berkeleyデータベース・インスタンスの位置をカスタマイズしたり、キャッシュ・サイズを設定してパフォーマンスをチューニングする場合のみ、構成を変更する必要があります。
Oracle Stream Analyticsサーバーにイベント・ストアを構成するには、次のようにします。
15.6 イベントを記録するコンポーネントの構成
アプリケーションの任意のプロセッサ、アダプタ、チャネル、またはイベントBeanでイベントの記録を構成できます。
この項では、イベントを記録するアダプタ構成を更新します。
表15-2は指定できるrecord-parameters
の子要素の一覧を示します。dataset-name
のみ必須です。
表15-2 record-parametersの子要素
子要素 | 説明 |
---|---|
|
Berkeley DB: 記録されているデータを識別し、サーバーの Oracle RDBMSベースのプロバイダ: 記録されたイベントを格納する表が作成されるデータベース領域またはスキーマを指定します。Oracle RDBMSベースのプロバイダを構成するには、この要素を指定する必要があります。 |
|
Berkeley DB: イベント・ストアに記録されるイベント・タイプを指定します。この要素を指定しない場合、Oracle Stream Analyticsではコンポーネントを離れるすべてのイベント・タイプが記録されます。 Oracle RDBMSベースのプロバイダ: この要素は指定する必要があります。 |
|
記録が行われる期間を指定します。 開始時間および終了時間を次のXMLスキーマの yyyy-mm-ddThh:mm:ss たとえば、記録の開始を2010年1月20日午前5時、終了を2010年1月20日午後6時に指定するには、次のように入力します。 <time-range> <start>2010-01-20T05:00:00</start> <end>2010-01-20T18:00:00</end> </time-range> XMLスキーマの 期間を指定しない場合、アプリケーションをデプロイしてもイベントは記録されず、Oracle Stream Analytics Visualizerまたは
|
|
記録が行われる期間を指定します。 開始時間を次のXMLスキーマの yyyy-mm-ddThh:mm:ss 次の形式で期間を表します。 hh:mm:ss たとえば、記録を2010年1月20日午前5時に開始し、3時間続くように指定するには、次のように入力します。 <time-range-offset> <start>2010-01-20T05:00:00</start> <duration>03:00:00</duration> </time-range-offset> XMLスキーマの 期間を指定しない場合、アプリケーションをデプロイしてもイベントは記録されず、Oracle Stream Analytics Visualizerまたは
|
|
イベント・バッファからイベント・ストアに書き込むためにOracle Stream Analyticsによって単一のバッチで選択されるイベント数を指定します。 デフォルト値は1000です。 |
|
イベント・ストアに書き込む前に、イベント・バッファ枠が デフォルト値は60です |
|
指定した場合、Oracle Stream Analyticsではイベント・ストアへの書込みにストリームが使用され、この要素はストリーム・サイズを指定します。ゼロ以外の値は非同期の書込みを示します。 デフォルト値は1024です。 |
|
指定した場合、Oracle Stream Analyticsではイベント・ストアへの書込みにストリームが使用され、この要素によって、このストリームのイベントの処理に使用するスレッドの最大数が指定されます。 デフォルト値は1です。 |
15.7 イベントを再生するコンポーネントの構成
アプリケーションの任意のプロセッサ、アダプタ、チャネル、またはイベントBeanでイベントの再生を構成できます。再生コンポーネントがイベントを受け取って再生できるように、コンポーネントは記録コンポーネントよりダウンストリームにある必要があります。
この項では、イベントを再生するチャネル構成を更新します。
表15-3は指定できるplayback-parameters
の子要素の一覧を示します。dataset-name
のみ必須です。
表15-3 playback-parametersの子要素
子要素 | 説明 |
---|---|
|
Berkeley DB: 記録されているデータを識別し、サーバーの Oracle RDBMSベースのプロバイダ: 記録されたイベントを格納する表が作成されるデータベース領域またはスキーマを指定します。Oracle RDBMSベースのプロバイダを構成するには、この要素を指定する必要があります。Oracle RDBMSベースのプロバイダを構成するには、この要素を指定する必要があります。 |
|
Berkeley DB: イベント・ストアから再生されるイベント・タイプを指定します。この要素を指定しない場合、Oracle Stream Analyticsではすべてのイベント・タイプが再生されます。 Oracle RDBMSベースのプロバイダ: この要素は指定する必要があります。 |
|
開始および終了時間を使用して、再生が行われる期間を指定します。 開始時間および終了時間を次のXMLスキーマの yyyy-mm-ddThh:mm:ss たとえば、再生の開始を2010年1月20日午前5時、終了を2010年1月20日午後6時に指定するには、次のように入力します。 <time-range> <start>2010-01-20T05:00:00</start> <end>2010-01-20T18:00:00</end> </time-range> XMLスキーマの 期間を指定しない場合はアプリケーションをデプロイしてもイベントは再生されず、Oracle Stream Analytics Visualizerまたは
|
|
開始時間と期間を使用して、再生が行われる期間を指定します。 開始時間を次のXMLスキーマの yyyy-mm-ddThh:mm:ss 次の形式で期間を表します。 hh:mm:ss たとえば、再生を2010年1月20日午前5時に開始し、3時間続くように指定するには、次のように入力します。 <time-range-offset> <start>2010-01-20T05:00:00</start> <duration>03:00:00</duration> </time-range-offset> XMLスキーマの 期間を指定しない場合はアプリケーションをデプロイしてもイベントは再生されず、Oracle Stream Analytics Visualizerまたは
|
|
再生速度を正のfloatとして指定します。 デフォルト値は1で、これは通常速度に相当します。値が2の場合、イベントは元の記録速度の2倍の速さで再生されます。0.5の値は、イベントが半分の速度で再生されることを意味します。 |
|
指定された期間の再生が完了した後に、イベントをもう一度再生するかどうかを指定します。 有効な値は |
|
指定した場合、Oracle Stream Analyticsではイベント・ストアからイベントを再生するとき、ストリームが使用されます。この要素にはストリームのサイズを指定します。ゼロ以外の値は非同期の書込みを示します。 デフォルト値は1024です。 |
|
指定した場合、Oracle Stream Analyticsではイベント・ストアからイベントを再生するのにストリームが使用されます。この要素には、ストリームのイベントを処理する際に使用するスレッドの最大数を指定します。 デフォルト値は1です。 |
15.8 イベントの記録と再生の開始および終了
アプリケーションのコンポーネントで記録および再生機能の構成が完了し、Oracle Stream Analyticsにアプリケーションをデプロイすると、構成ファイルで開始および終了の情報を明示的に構成している場合にのみ、サーバーでイベントの記録が開始されます。
たとえば、コンポーネント構成に次の要素が含まれている場合、2010年1月20日午前5時に記録が開始されます。
<time-range> <start>2010-01-20T05:00:00</start> <end>2010-01-20T18:00:00</end> </time-range>
イベントの記録と再生を有効にするには、Oracle Stream Analytics Visualizerまたはwlevs.Admin
を使用します。有効にした記録と再生は、構成設定に応じて開始および終了されます。
詳細は、次を参照してください。
-
Oracle Stream Analyticsの管理の再生の開始に関する項
-
Oracle Stream Analyticsの管理の再生の停止に関する項
Visualizerおよびwlevs.Admin
では、管理対象Bean (MBean)を使用して、イベントの記録と再生を動的に開始および終了し、イベント・ストアの構成を管理します。管理対象BeanはJava Management Extensions (JMX)インタフェースを提供するJava Beanです。JMXはネットワーク上のリソースをモニターおよび管理するためのJava EEソリューションです。com.bea.wlevs.management.configuration.StageMBean
を使用することにより、独自の管理ツールを作成し、JMXを使用してイベント・ストア機能を管理できます。
詳細は、次を参照してください。