Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *	Copyright 2008 Follett Software Company 
   *
   *	This file is part of PerfMon4j(tm).
   *
   * 	Perfmon4j is free software: you can redistribute it and/or modify
   * 	it under the terms of the GNU Lesser General Public License, version 3,
   * 	as published by the Free Software Foundation.  This program is distributed
   * 	WITHOUT ANY WARRANTY OF ANY KIND, WITHOUT AN IMPLIED WARRANTY OF MERCHANTIBILITY,
  * 	OR FITNESS FOR A PARTICULAR PURPOSE.  You should have received a copy of the GNU Lesser General Public 
  * 	License, Version 3, along with this program.  If not, you can obtain the LGPL v.s at 
  * 	http://www.gnu.org/licenses/
  * 	
  * 	perfmon4j@fsc.follett.com
  * 	David Deuchert
  * 	Follett Software Company
  * 	1391 Corparate Drive
  * 	McHenry, IL 60050
  * 
 */
 
 package org.perfmon4j.extras.sunjava6;
 
 
 
 
 @SnapShotProvider(dataInterface=MemoryMonitor.class)
 public class MemoryMonitorImpl {
 	private final JMXServerWrapper wrapper;
 
 	private static final Long DEFAULT_LONG = Long.valueOf(-1);
 	private static final Integer DEFAULT_INT = Integer.valueOf(-1);
 	
 	public MemoryMonitorImpl() throws JMException {
 	}
 	
 	public long getCollectionCount() {
 		return .getNumericAttribute("java.lang:type=GarbageCollector,name=MarkSweepCompact"
 				"CollectionCount").longValue();
 	}
 	
 	public long getCollectionTimeMillis() {
 		return .getNumericAttribute("java.lang:type=GarbageCollector,name=MarkSweepCompact"
 				"CollectionTime").longValue();
 	}
 	
 	public int getPendingFinalizationCount() {
 		return .getNumericAttribute("java.lang:type=Memory"
 				"ObjectPendingFinalizationCount").intValue();
 	}
 	
 		return getMemoryUsage("java.lang:type=Memory""HeapMemoryUsage");
 	}
 
 		return getMemoryUsage("java.lang:type=Memory""NonHeapMemoryUsage");
 	}
 	
 		return getMemoryUsage("java.lang:type=MemoryPool,name=Code Cache""Usage");
 	}
 	
 		return getMemoryUsage("java.lang:type=MemoryPool,name=Eden Space""Usage");
 	}
 	
 		return getMemoryUsage("java.lang:type=MemoryPool,name=Perm Gen""Usage");
 	}
 	
 		return getMemoryUsage("java.lang:type=MemoryPool,name=Survivor Space""Usage");
 	}
 	
 		return getMemoryUsage("java.lang:type=MemoryPool,name=Tenured Gen""Usage");
 	}
 
 	private MemoryUsage getMemoryUsage(String objectNameString attributeName) {
		MemoryUsage result = null;
		CompositeData data = (CompositeData).getAttribute(objectNameattributeName
				CompositeData.classnull);
		if (data != null) {
			result = MemoryUsage.from(data);
		}
		return result;
	}
New to GrepCode? Check out our FAQ X