/*******************************************************************************
* Copyright (c) 2008 Red Hat, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Elliott Baron <ebaron@redhat.com> - initial API and implementation
*******************************************************************************/
package org.eclipse.linuxtools.internal.valgrind.massif;
public class MassifSnapshot {
public static enum TimeUnit { INSTRUCTIONS, MILLISECONDS, BYTES }
public static enum SnapshotType { EMPTY, DETAILED, PEAK }
protected long number;
protected long time;
protected long heapBytes;
protected long heapExtra;
protected long stacks;
protected String cmd;
protected TimeUnit unit;
protected SnapshotType type;
protected MassifHeapTreeNode root;
public MassifSnapshot(int number) {
this.number = number;
}
public long getNumber() {
return number;
}
public long getHeapBytes() {
return heapBytes;
}
public long getHeapExtra() {
return heapExtra;
}
public long getStacks() {
return stacks;
}
public long getTime() {
return time;
}
public long getTotal() {
return heapBytes + heapExtra + stacks;
}
public SnapshotType getType() {
return type;
}
public String getCmd() {
return cmd;
}
public TimeUnit getUnit() {
return unit;
}
public MassifHeapTreeNode getRoot() {
return root;
}
public boolean isDetailed() {
return !type.equals(SnapshotType.EMPTY);
}
protected void setTime(long time) {
this.time = time;
}
protected void setHeapBytes(long heapBytes) {
this.heapBytes = heapBytes;
}
protected void setHeapExtra(long heapExtra) {
this.heapExtra = heapExtra;
}
protected void setStacks(long stacks) {
this.stacks = stacks;
}
protected void setType(SnapshotType type) {
this.type = type;
}
protected void setCmd(String cmd) {
this.cmd = cmd;
}
protected void setUnit(TimeUnit unit) {
this.unit = unit;
}
protected void setRoot(MassifHeapTreeNode root) {
this.root = root;
}
}