PMI モジュール

Performance Monitoring Infrastructure (PMI) モジュールを使用してアプリケーションのパフォーマンスをモニターすることができます。

objectGridModule

objectGridModule は時間統計 (トランザクション応答時間) を含みます。 トランザクションは、Session.begin メソッド呼び出しと Session.commit メソッド呼び出しの間の所要時間として 定義されます。 この所要時間は、トランザクション応答時間として追跡されます。objectGridModule の ルート・エレメント (root) は、WebSphere® eXtreme Scale 統計への入り口点として機能します。 このルート・エレメントは ObjectGrid を子エレメントとして持ち、さらにこの子エレメントはトランザクション・タイプを子エレメントとして持ちます。 応答時間統計は それぞれのトランザクション・タイプと関連しています。
図 1. ObjectGridModule モジュール の構造
ObjectGridModule モジュールの構造
次の図は ObjectGridModule 構造の例です。この例では、2 つの ObjectGrid インスタンス (ObjectGrid A と ObjectGrid B) がシステムに存在します。ObjectGrid A インスタンスには 2 つのトランザクション・タイプ (A とデフォルト) があります。 ObjectGrid B インスタンスにはデフォルトのトランザクション・タイプのみがあります。
図 2. ObjectGridModule モジュール構造の例
ObjectGridModule モジュール構造の例
アプリケーション開発者は、アプリケーションがどのタイプのトランザクションを使用するのかを 知っているため、トランザクション・タイプはアプリケーション開発者によって定義されます。トランザクション・タイプの設定は、次の Session.setTransactionType(String) メソッドを使用して行われます。
/**
* Sets the transaction type for future transactions.
*
* After this method is called, all of the future transactions have the
* same type until another transaction type is set. If  no transaction
* type is set, the default  TRANSACTION_TYPE_DEFAULT transaction type
* is used.
*
* Transaction types are used mainly for statistical data tracking purpose.
* Users can predefine types of transactions that run in an
* application. The idea is to categorize transactions with the same characteristics
* to one category (type), so one transaction response time statistic can be
* used to track each transaction type.
*
* This tracking is useful when your application has different types of
* transactions.
* Among them, some types of transactions, such as update transactions, process
* longer than other transactions, such as read−only transactions. By using the
* transaction type, different transactions are tracked by different statistics,
* so the statistics can be more useful.
*
* @param tranType the transaction type for future transactions.
*/
void setTransactionType(String tranType);
次の例は、 updatePrice へのトランザクション・タイプを設定します。
// Set the transaction type to updatePrice
// The time between session.begin() and session.commit() will be
// tracked in the time statistic for "updatePrice".
session.setTransactionType("updatePrice");
session.begin();
map.update(stockId, new Integer(100));
session.commit();
最初の行は、後続のトランザクション・タイプが updatePrice であることを示します。updatePrice 統計は、 例にあるセッションに対応する ObjectGrid インスタンスに置かれています。Java Management Extensions (JMX) インターフェース を使用して、updatePrice トランザクション用のトランザクション応答時間を取得できます。 指定した ObjectGrid インスタンスで、トランザクションのすべてのタイプの 集約統計も取得できます。

mapModule

mapModule は、eXtreme Scale マップに関連した 3 つの統計を含んでいます。 mapModule のルート・エレメント (root) は、ObjectGrid マップ統計への入り口点として機能します。 このルート・エレメントは ObjectGrid を子エレメントとして持ち、さらにこの子エレメントはマップを子エレメントとして持ちます。 すべてのマップ・インスタンスは、3 つのリスト統計を持っています。次の図は mapModule 構造です。
図 3. mapModule 構造
mapModule モジュール構造
次の図は mapModule 構造の例です。
図 4. mapModule モジュール構造の例
mapModule モジュール構造の例

hashIndexModule

hashIndexModule は、マップ・レベルの索引に関連する次の統計を含みます。 hashIndexModule のルート・エレメント (root) は、HashIndex 統計への入り口点として機能します。 このルート・エレメントは ObjectGrid を子エレメントとして持ちます。ObjectGrid はマップを子エレメントとして持ち、最終的にこの子エレメントは HashIndexe を子エレメントおよびツリーのリーフ・ノードとして持ちます。 すべての HashIndex インスタンスは 3 つのリスト統計を持っています。 次の図は hashIndexModule の構造です。
図 5. hashIndexModule モジュール構造
hashIndexModule 構造
次の図は hashIndexModule 構造の例です。
図 6. hashIndexModule モジュール構造の例
hashIndexModule 構造の例

agentManagerModule

agentManagerModule は、マップ・レベルのエージェントに関連した統計を含みます。 agentManagerModule のルート・エレメント (root) は、AgentManager 統計への入り口点として機能します。 このルート・エレメントは ObjectGrid を子エレメントとして持ちます。ObjectGrid はマップを子エレメントとして持ち、最終的にこの子エレメントは AgentManager インスタンスを子エレメントおよびツリーのリーフ・ノードとして持ちます。 すべての AgentManager インスタンスは統計を持っています。
図 7. agentManagerModule 構造
ルート、objectgrid_name、map_name、agent_class_name
図 8. agentManagerModule 構造の例

queryModule

queryModule は、eXtreme Scale 照会に関連した統計を含みます。 queryModule のルート・エレメント (root) は、Query 統計への入り口点として機能します。 このルート・エレメントは ObjectGrid を子エレメントとして持ち、さらにこの子エレメントは照会オブジェクトを子エレメントおよびツリーのリーフ・ノードとして持ちます。 すべての Query インスタンスは 3 つのリスト統計を持っています。
図 9. queryModule の構造
queryModule の概要
図 10. QueryStats.jpg queryModule 構造の例
queryModule 構造の例