/** * NOTE: This copyright does *not* cover user programs that use HQ program * services by normal system calls through the application program interfaces * provided as part of the Hyperic Plug-in Development Kit or the Hyperic Client * Development Kit - this is merely considered normal use of the program, and * does *not* fall under the heading of "derived work". * * Copyright (C) [2009-2010], VMware, Inc. This file is part of HQ. * * HQ is free software; you can redistribute it and/or modify it under the terms * version 2 of the GNU General Public License as published by the Free Software * Foundation. This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * Public License for more details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place, Suite 330, Boston, MA 02111-1307 USA. * */ /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.hyperic.hq.plugin.db2jdbc; import java.util.Map; import org.hyperic.hq.product.MetricValue; /** * * @author laullon */ public class PoolMeasurement extends Measurement { /** * 'TOTAL_LOGICAL_READS' and 'TOTAL_PHYSICAL_READS' Metrics. * http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/r0021988.htm * * PAGE_HIT_RATIO * http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/r0001235.htm * * INDEX_PAGE_HIT_RATIO * http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/r0001238.htm */ @Override protected void postProcessResults(Map results) { if (results.get("POOL_DATA_L_READS") != null) { results.put("TOTAL_LOGICAL_READS", new MetricValue(((MetricValue) results.get("POOL_DATA_L_READS")).getValue() + ((MetricValue) results.get("POOL_INDEX_L_READS")).getValue())); results.put("TOTAL_PHYSICAL_READS", new MetricValue(((MetricValue) results.get("POOL_DATA_P_READS")).getValue() + ((MetricValue) results.get("POOL_INDEX_P_READS")).getValue())); results.put("DATA_PAGE_HIT_RATIO", safeDivision((MetricValue) results.get("POOL_DATA_P_READS"), (MetricValue) results.get("POOL_DATA_L_READS"))); results.put("INDEX_PAGE_HIT_RATIO", safeDivision((MetricValue) results.get("POOL_INDEX_P_READS"), (MetricValue) results.get("POOL_INDEX_L_READS"))); } } }