0N/A/*
2362N/A * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A *
0N/A * This code is free software; you can redistribute it and/or modify it
0N/A * under the terms of the GNU General Public License version 2 only, as
2362N/A * published by the Free Software Foundation. Oracle designates this
0N/A * particular file as subject to the "Classpath" exception as provided
2362N/A * by Oracle in the LICENSE file that accompanied this code.
0N/A *
0N/A * This code is distributed in the hope that it will be useful, but WITHOUT
0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A * version 2 for more details (a copy is included in the LICENSE file that
0N/A * accompanied this code).
0N/A *
0N/A * You should have received a copy of the GNU General Public License version
0N/A * 2 along with this work; if not, write to the Free Software Foundation,
0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A *
2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A * or visit www.oracle.com if you need additional information or have any
2362N/A * questions.
0N/A */
32N/A
0N/Apackage sun.tools.jconsole;
0N/A
0N/Aimport java.lang.management.MemoryUsage;
0N/A
0N/Apublic class MemoryPoolStat {
0N/A private String poolName;
0N/A private long usageThreshold;
0N/A private MemoryUsage usage;
0N/A private long lastGcId;
0N/A private long lastGcStartTime;
0N/A private long lastGcEndTime;
0N/A private long collectThreshold;
0N/A private MemoryUsage beforeGcUsage;
0N/A private MemoryUsage afterGcUsage;
0N/A
0N/A MemoryPoolStat(String name,
0N/A long usageThreshold,
0N/A MemoryUsage usage,
0N/A long lastGcId,
0N/A long lastGcStartTime,
0N/A long lastGcEndTime,
0N/A long collectThreshold,
0N/A MemoryUsage beforeGcUsage,
0N/A MemoryUsage afterGcUsage) {
0N/A this.poolName = name;
0N/A this.usageThreshold = usageThreshold;
0N/A this.usage = usage;
0N/A this.lastGcId = lastGcId;
0N/A this.lastGcStartTime = lastGcStartTime;
0N/A this.lastGcEndTime = lastGcEndTime;
0N/A this.collectThreshold = collectThreshold;
0N/A this.beforeGcUsage = beforeGcUsage;
0N/A this.afterGcUsage = afterGcUsage;
0N/A }
0N/A
0N/A /**
0N/A * Returns the memory pool name.
0N/A */
0N/A public String getPoolName() {
0N/A return poolName;
0N/A }
0N/A
0N/A /**
0N/A * Returns the current memory usage.
0N/A */
0N/A public MemoryUsage getUsage() {
0N/A return usage;
0N/A }
0N/A
0N/A /**
0N/A * Returns the current usage threshold.
0N/A * -1 if not supported.
0N/A */
0N/A public long getUsageThreshold() {
0N/A return usageThreshold;
0N/A }
0N/A
0N/A /**
0N/A * Returns the current collection usage threshold.
0N/A * -1 if not supported.
0N/A */
0N/A public long getCollectionUsageThreshold() {
0N/A return collectThreshold;
0N/A }
0N/A
0N/A /**
0N/A * Returns the Id of GC.
0N/A */
0N/A public long getLastGcId() {
0N/A return lastGcId;
0N/A }
0N/A
0N/A
0N/A /**
0N/A * Returns the start time of the most recent GC on
0N/A * the memory pool for this statistics in milliseconds.
0N/A *
0N/A * Return 0 if no GC occurs.
0N/A */
0N/A public long getLastGcStartTime() {
0N/A return lastGcStartTime;
0N/A }
0N/A
0N/A /**
0N/A * Returns the end time of the most recent GC on
0N/A * the memory pool for this statistics in milliseconds.
0N/A *
0N/A * Return 0 if no GC occurs.
0N/A */
0N/A public long getLastGcEndTime() {
0N/A return lastGcEndTime;
0N/A }
0N/A
0N/A /**
0N/A * Returns the memory usage before the most recent GC started.
0N/A * null if no GC occurs.
0N/A */
0N/A public MemoryUsage getBeforeGcUsage() {
0N/A return beforeGcUsage;
0N/A }
0N/A
0N/A /**
0N/A * Returns the memory usage after the most recent GC finished.
0N/A * null if no GC occurs.
0N/A */
0N/A public MemoryUsage getAfterGcUsage() {
5335N/A return afterGcUsage;
0N/A }
0N/A}