/******************************************************************************* * 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; } }