Modules PMI

Vous pouvez surveiller les performances de vos applications avec les modules PMI (Performance Monitoring Infrastructure).

objectGridModule

Le module objectGridModule contient une statistique de durée : le temps de réponse des transactions. Une transaction est définie comme la durée entre l'appel de méthode Session.begin et l'appel de méthode Session.commit. Cette durée est suivie comme temps de réponse des transactions. L'élément racine de la structure objectGridModule, "root", sert de point d'entrée aux statistiques de WebSphere eXtreme Scale. Cet élément racine contient des ObjectGrids comme éléments enfant et ces derniers possèdent des types de transaction comme éléments enfant. Les statistiques de temps de réponse sont associées à chaque type de transaction.
Figure 1. Structure de module ObjectGridModule
Structure de module ObjectGridModule
Le diagramme ci-après illustre un exemple de structure ObjectGridModule. Dans cet exemple, il existe deux instances ObjectGrid sur le système : ObjectGrid A et ObjectGrid B. L'instance ObjectGrid A possède deux types de transaction : A et default. L'instance ObjectGrid B ne possède que le type de transaction default.
Figure 2. Exemple de structure de module ObjectGridModule
Exemple de structure de module ObjectGridModule
Les types de transaction sont définis par les développeurs d'applications car ils savent quels types de transaction sont utilisés par leurs applications. Le type de transaction est défini à l'aide de la méthode Session.setTransactionType(String) suivante :
/**
* Définit le type de transaction des transactions futures.
*
* Une fois que cette méthode a été appelée, toutes les transactions futures sont de
* même type jusqu'à ce qu'un autre type de transaction ait été défini. Si aucun type
* de transaction n'est défini, le type de transaction TRANSACTION_TYPE_DEFAULT
* par défaut est utilisé.
*
* Les types de transaction sont principalement utilisés à des fins de suivi des données statistiques.
* Les utilisateurs peuvent prédéfinir les types des transactions qui sont exécutées
* dans une application. L'idée consiste à regrouper les transactions de mêmes caractéristiques
* dans une même catégorie (type), afin qu'une statistique de temps de réponse
* des transactions puisse être utilisée pour rechercher chaque type de transaction.
*
* Ce suivi est utile si votre application possède différents types de
* transactions.
* Parmi eux, certains types de transaction, comme les transactions de mise à
* jour, possèdent un délai de traitement supérieur à celui d'autres
* transactions, telles que les transactions en lecture seule. Si le type de
* transaction est utilisé, les différentes transactions sont recherchées par des
* statistiques différentes, afin que ces dernières puissent être plus utiles.
*
* @param tranType Type de transaction des transactions futures.
*/
void setTransactionType(String tranType);
L'exemple suivant spécifie updatePrice comme type de transaction :
// Spécifiez le type de transaction updatePrice
// La durée entre session.begin() et session.commit() fait l'objet d'un suivi
// dans les statistiques de durée de "updatePrice".
session.setTransactionType("updatePrice");
session.begin();
map.update(stockId, new Integer(100));
session.commit();
La première ligne indique que le type de transaction suivant est updatePrice. Il existe une statistiques updatePrice sous l'instance ObjectGrid qui correspond à la session de l'exemple. A l'aide d'interfaces JMX (Java™ Management Extensions), vous pouvez obtenir le temps de réponse des transactions updatePrice. Vous pouvez également extraire les statistiques agrégées de tous les types de transaction sur l'instance ObjectGrid spécifiée.

mapModule

La structure mapModule contient trois statistiques sur les mappes eXtreme Scale : L'élément racine de la structure mapModule, "root", sert de point d'entrée aux statistiques des mappes ObjectGrid. Cet élément racine contient des ObjectGrids comme éléments enfant et ces derniers possèdent des mappes comme éléments enfant. Trois statistiques sont répertoriées pour chaque instance de mappe. La structure mapModule est illustrée dans le diagramme suivant :
Figure 3. structure mapModule
Structure de Module mapModule
Le diagramme suivant illustre un exemple de structure mapModule :
Figure 4. Exemple de structure de module mapModule
Exemple de structure de Module mapModule

hashIndexModule

La structure hashIndexModule contient les statistiques suivantes sur les index de niveau mappe : L'élément racine de la structure hashIndexModule, "root", sert de point d'entrée aux statistiques de HashIndex. Cet élément racine contient des ObjectGrids comme éléments enfant, les ObjectGrids contiennent des mappes comme éléments enfant et enfin, ces mappes contiennent des instances HashIndex comme éléments enfant et les noeuds terminaux de l'arborescence. Trois statistiques sont répertoriées pour chaque instance HashIndex. La structure hashIndexModule est illustrée dans le diagramme suivant :
Figure 5. structure de module hashIndexModule
structure hashIndexModule
Le diagramme suivant illustre un exemple de structure hashIndexModule :
Figure 6. Exemple de structure de module hashIndexModule
Exemple de structure hashIndexModule

agentManagerModule

La structure agentManagerModule contient les statistiques sur les agents de niveau mappe : L'élément racine de la structure agentManagerModule, "root", sert de point d'entrée aux statistiques d'AgentManager. Cet élément racine contient des ObjectGrids comme éléments enfant, les ObjectGrids contiennent des mappes comme éléments enfant et enfin, ces mappes contiennent des instances AgentManager comme éléments enfant et les noeuds terminaux de l'arborescence. Chaque instance AgentManager a des statistiques.
Figure 7. Structure agentManagerModule
Racine, nom_objectgrid, nom_mappe, nom_classe_agent
Figure 8. Exemple de structure agentManagerModule

queryModule

La structure queryModule contient les statistiques sur les requêtes eXtreme Scale : L'élément racine de la structure queryModule, "root", sert de point d'entrée aux statistiques des requêtes. Cet élément racine contient des ObjectGrids comme éléments enfant et ces derniers possèdent des objets de requête comme éléments enfant et les noeuds terminaux de l'arborescence. Trois statistiques sont répertoriées pour chaque instance de requête.
Figure 9. structure queryModule
présentation de queryModule
Figure 10. Exemple de structure queryModule QueryStats.jpg
Exemple de structure queryModule