![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Exemple : Implémentation de l'interface PMI personnalisée
Le diagramme suivant représente l'environnement PMI personnalisé :

Les étapes suivantes sont nécessaires à l'instrumentation d'une application utilisant Custom PMI :
- Définissez un modèle de module Stats. Un document XML permet de définir un ensemble de statistiques pour un composant d'application donné. Utilisé comme modèle, ce document XML permet de créer les données PMI. Le document XML doit suivre le fichier DTD WAS_HOME/plugins\com.ibm.ws.runtime.jar\com\ibm\websphere\pmi\xml\perf.dtd.
- Créez un objet Stats à l'aide de StatsFactory. StatsFactory est utilisé pour créer une instance (StatsInstance) ou un groupe (StatsGroup) du modèle Stats. L'objet StatsInstance représente une instance unique du modèle Stats et contient toutes les statistiques définies dans le modèle. Le groupe StatsGroup est une collection logique d'instances Stats similaires. La souplesse de Custom PMI rend possible l'organisation des groupes et des instances dans une structure d'arborescence.L'illustration précédente représente deux instances d'applications boursières figurant dans le groupe StockAppStats. Le groupe StockAppStats peut comporter plusieurs applications Stock, et chaque instance d'application Stock, un groupe StockBroker. Dans ce cas, le groupe StockAppStats effectue l'agrégat des statistiques de StockApp1 et de StockApp2, alors que le groupe StockBroker effectue l'agrégat des statistiques de toutes les instances StockBroker de leurs groupes respectifs.
- Instrumentez l'application en mettant à jour l'objet Stats. A cet effet, l'application doit appeler le module Stats du service PMI afin de gérer les comptes bruts. Par exemple, pour instrumenter le nombre de ventes traité par l'application Stock, créez un module Stats en y intégrant une statistique de type CountStatistic. Quand une transaction de vente est traitée, incrémentez la statistique nombre de ventes en appelant NumSellsCountStatistic.increment().