Update of /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/data In directory usw-pr-cvs1:/tmp/cvs-serv27491 Modified Files: ThreadGroupData.java ThreadData.java SnapshotImpl.java MonTraceData.java MonThreadTraceData.java MonThreadMethodData.java MonStatIDObjectData.java MonStatData.java MethodData.java IDObjectData.java CPUTraceData.java CPUThreadTraceData.java CPUThreadMethodData.java CPUStatIDObjectData.java CPUStatData.java ClassData.java CallTreeData.java AllocTypeTraceData.java AllocTypeMethodData.java AllocTraceData.java AllocThreadTraceData.java AllocThreadMethodData.java AllocStatIDObjectData.java AllocStatData.java AllocArenaData.java Log Message: new api implemention Index: ThreadGroupData.java =================================================================== RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/data/ThreadGroupData.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** ThreadGroupData.java 3 Mar 2002 01:20:09 -0000 1.5 --- ThreadGroupData.java 6 May 2002 17:32:13 -0000 1.6 *************** *** 24,41 **** import net.sourceforge.javaprofiler.jpiimpl.commun.*; /** * Information about one thread group. * ! * @author Jan Stola */ ! public class ThreadGroupData extends IDObjectData { /** Name of the thread group. */ ! private String name; ! /** ! * Threads in this group. ! * List of {@link ThreadData} objects. ! */ ! private List threads; /** --- 24,45 ---- import net.sourceforge.javaprofiler.jpiimpl.commun.*; + import net.sourceforge.javaprofiler.api.*; /** * Information about one thread group. * ! * @author Jan Stola, Pavel Vacha, Lukas Petru */ ! public class ThreadGroupData extends IDObjectData implements ThreadGroupRef { ! /** Name of the thread group. */ ! private String groupName; ! ! // lists for children ! private final List threads=new ArrayList(0); ! ! // unmodifiable variants of lists for children ! private final List roThreads=Collections.unmodifiableList( ! threads); /** *************** *** 44,51 **** * @param ID unique ID of this object. */ ! ThreadGroupData(Integer ID, String name) { super(ID); ! this.name=name; ! threads=new LinkedList(); } --- 48,54 ---- * @param ID unique ID of this object. */ ! ThreadGroupData(Integer ID, String groupName) { super(ID); ! this.groupName=groupName; } *************** *** 60,113 **** /** ! * Returns name of this thread group. ! * ! * @return name of this thread group. ! */ ! public String getName() { ! return name; ! } ! ! /** ! * Returns threads in this group. * ! * @return <code>List</code> of {@link ThreadData} objects. */ ! public List getThreads() { ! return threads; } /** ! * Adds thread into this group. * ! * @param thread thread in this group. */ ! void addThread(ThreadData thread) { ! threads.add(thread); } /** ! * Removes thread from this group. * ! * @param thread thread in this group. */ ! void removeThread(ThreadData thread) { ! threads.remove(thread); } } /* * $Log$ * Revision 1.5 2002/03/03 01:20:09 vachis * type of ID changed from int to Integer - * - * Revision 1.4 2001/12/02 15:57:56 petrul - * changed constructor code - * - * Revision 1.3 2001/11/20 22:23:37 vachis - * Contructors from IProf.sID and monitors statistic info - * - * Revision 1.2 2001/09/29 21:01:33 stolis - * Plural added in licenses. * * Revision 1.1.1.1 2001/07/11 22:28:06 stolis --- 63,109 ---- /** ! * Adds thread into this group. * ! * @param thread thread in this group. */ ! void addThread(ThreadData thread) { ! threads.add(thread); } + // -------------- info getter methods + /** ! * Returns name of this thread group. * ! * @return name of this thread group. */ ! public String getName() { ! return groupName; } + // -------------- children lists getter methods + /** ! * Returns threads in this group. * ! * @return unmodifiable <code>List</code> of {@link ThreadRef} objects. */ ! public List getThreads() { ! return roThreads; } + public String toString() { + return getName(); + } + } /* * $Log$ + * Revision 1.6 2002/05/06 17:32:13 vachis + * new api implemention + * * Revision 1.5 2002/03/03 01:20:09 vachis * type of ID changed from int to Integer * * Revision 1.1.1.1 2001/07/11 22:28:06 stolis Index: ThreadData.java =================================================================== RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/data/ThreadData.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -r1.18 -r1.19 *** ThreadData.java 7 Mar 2002 10:35:24 -0000 1.18 --- ThreadData.java 6 May 2002 17:32:13 -0000 1.19 *************** *** 24,69 **** import net.sourceforge.javaprofiler.jpiimpl.commun.*; ! /** * Information about one thread. * ! * @author Jan Stola, Pavel Vacha */ ! public class ThreadData extends AllocStatIDObjectData { ! /** Name of the thread. */ ! private String name; ! /** Group of the thread. */ ! private ThreadGroupData group; ! /** Parent of the thread. */ private ThreadData parent; - /** Determines whether this thread is active. */ private boolean active; ! /** ! * Children of this thread. ! * List of {@link ThreadData} objects. ! */ ! private List children; ! /** ! * Map of types (classes or arrays of classes) whose instances were allocated in this thread. ! * Mapping of {@link AllocThreadTypeData} objects and types IDs. ! */ ! private Map types; ! /** ! * Map of methods invoked in this thread. ! * Mapping of {@link AllocThreadMethodData} objects and method IDs. ! */ ! private Map allocMethods; ! /** ! * Map of methods invoked in this thread. ! * Mapping of {@link CPUThreadMethodData} objects and method IDs. ! */ ! private Map CPUMethods; ! /** ! * Map of methods invoked in this thread. ! * Mapping of {@link MonThreadMethodData} objects and method IDs. ! */ ! private Map MonMethods; ! /** Call tree of methods in this thread. ! */ private CallTreeData callTree; --- 24,70 ---- import net.sourceforge.javaprofiler.jpiimpl.commun.*; ! import net.sourceforge.javaprofiler.api.*; /** * Information about one thread. * ! * @author Jan Stola, Pavel Vacha, Lukas Petru */ ! public class ThreadData extends AllStatIDObjectData ! implements ThreadRef, AllocStatData, MonStatData, CPUStatData { ! // private data accessible via getter methods ! private String threadName; ! private ThreadGroupData threadGroup; private ThreadData parent; private boolean active; ! private final VirtualMachineImageRef vmImage; ! ! // lists for children ! private final List allocTypeThreads=new ArrayList(0); ! private final List allocThreadMethods=new ArrayList(0); ! private final List allocThreadTraces=new ArrayList(0); ! private final List cpuThreadMethods=new ArrayList(0); ! private final List cpuThreadTraces=new ArrayList(0); ! private final List monThreadMethods=new ArrayList(0); ! private final List monThreadTraces=new ArrayList(0); ! private final List childThreads=new ArrayList(0); ! ! // unmodifiable variants of lists for children ! private final List roAllocTypeThreads=Collections.unmodifiableList( ! allocTypeThreads); ! private final List roAllocThreadMethods=Collections.unmodifiableList( ! allocThreadMethods); ! private final List roAllocThreadTraces=Collections.unmodifiableList( ! allocThreadTraces); ! private final List roCPUThreadMethods=Collections.unmodifiableList( ! cpuThreadMethods); ! private final List roCPUThreadTraces=Collections.unmodifiableList( ! cpuThreadTraces); ! private final List roMonThreadMethods=Collections.unmodifiableList( ! monThreadMethods); ! private final List roMonThreadTraces=Collections.unmodifiableList( ! monThreadTraces); ! private final List roChildThreads=Collections.unmodifiableList( ! childThreads); ! private CallTreeData callTree; *************** *** 75,92 **** * @param group group of this thread. * @param parent parent of this thread. ! * @param active determines whether this thread is active. */ ! ThreadData(Integer ID, String name, ThreadGroupData group, ! ThreadData parent, boolean active) { super(ID); ! this.name=name; ! this.group=group; this.parent=parent; //warning probably may be null this.active=active; - children=Collections.EMPTY_LIST; - types=Collections.EMPTY_MAP; - allocMethods=Collections.EMPTY_MAP; - CPUMethods=Collections.EMPTY_MAP; - MonMethods=Collections.EMPTY_MAP; } --- 76,91 ---- * @param group group of this thread. * @param parent parent of this thread. ! * @param virtualMachineImage VirtualMachineImage this method belongs to. The VirtualMachineImage could be live ! * (realtime implementation) or static (snaphshot). ! * @param active determines whether this thread is active. */ ! ThreadData(Integer ID, String name, ThreadGroupData group, ! ThreadData parent, VirtualMachineImageRef vmImage, boolean active) { super(ID); ! this.threadName=name; ! this.threadGroup=group; this.parent=parent; //warning probably may be null + this.vmImage=vmImage; this.active=active; } *************** *** 97,154 **** * @param group group of this thread. * @param parent parent of this thread. */ ! ThreadData( IProf.sID sid, ThreadGroupData group, ThreadData parent ) { ! this( new Integer(sid.objId), ((IProf.sThreadInfo)sid.info).threadName, group, ! parent, sid.active); ! //if (sid.alloc != null) //do not test this, its an error ! setStatistics(sid.alloc); } /** ! * Returns name of this thread. * ! * @return name of this thread. */ ! public String getName() { ! return name; } /** ! * Returns group of this thread. * ! * @return group of this thread. */ ! public ThreadGroupData getGroup() { ! return group; } /** ! * Returns parent of this thread. * ! * @return parent of this thread. */ ! public ThreadData getParent() { ! return parent; } /** ! * Sets parent for this thread. Use this, if you can't pass parent ! * param to constructor. * ! * @param parent parent of this thread. */ ! void setParent( ThreadData parent ) { ! this.parent = parent; } ! /** ! * Determines whether this thread is active. * ! * @return <code>true</code> if this thread is active. Returns ! * <code>false</code> otherwise. */ ! public boolean isActive() { ! return active; } --- 96,216 ---- * @param group group of this thread. * @param parent parent of this thread. + * @param virtualMachineImage VirtualMachineImage this method belongs to. The VirtualMachineImage could be live + * (realtime implementation) or static (snaphshot). */ ! ThreadData( IProf.sID sid, ThreadGroupData group, ThreadData parent, ! VirtualMachineImageRef vmImage) { ! this( new Integer(sid.objId), ((IProf.sThreadInfo)sid.info).threadName, ! group, parent, vmImage, sid.active); ! if (sid.alloc != null) ! setStat(sid.alloc); } + /** Fills statistics on instances. + * + * @param stat Object with statistics on instances. + */ + public void setStat(IProf.sID sid) { + setStat(sid.alloc); //only alloc is inlcluded for thread + } + /** ! * Sets parent for this thread. Use this, if you can't pass parent ! * param to constructor. * ! * @param parent parent of this thread. */ ! void setParent( ThreadData parent ) { ! this.parent = parent; } /** ! * Adds child of this thread. * ! * @param child child of this thread. ! */ ! void addChild(ThreadData child) { ! childThreads.add(child); ! } ! ! /** ! * Adds type that was allocated in this thread. Type ! * can be instance of class or its array. ! * ! * @param allocType allocType that were allocated in this thread. */ ! void addType(AllocTypeThreadData allocType) { ! allocTypeThreads.add(allocType); ! //pending MAP } /** ! * Adds method invoked in this thread. * ! * @param method method invoked in this thread. */ ! void addAllocMethod(AllocThreadMethodData method) { ! allocThreadMethods.add(method); ! //pending MAP ! } ! ! /** ! * Adds method invoked in this thread. ! * ! * @param method method invoked in this thread. ! */ ! void addCPUMethod(CPUThreadMethodData method) { ! cpuThreadMethods.add(method); ! //pending MAP ! } ! ! /** ! * Adds method invoked in this thread. (monitors data) ! * ! * @param method method invoked in this thread. ! */ ! void addMonMethod(MonThreadMethodData method) { ! monThreadMethods.add(method); ! //pending MAP } /** ! * Adds trace created in this thread. (alloc data) * ! * @param trace created in this thread. */ ! void addAllocTrace(AllocThreadTraceData trace) { ! allocThreadTraces.add(trace); ! //pending MAP } ! /** ! * Adds trace created in this thread. (CPU data) * ! * @param trace created in this thread. */ ! void addCPUTrace(CPUThreadTraceData trace) { ! cpuThreadTraces.add(trace); ! //pending MAP ! } ! ! /** ! * Adds trace created in this thread. (monitors data) ! * ! * @param trace created in this thread. ! */ ! void addMonTrace(MonThreadTraceData trace) { ! monThreadTraces.add(trace); ! //pending MAP ! } ! ! //PENDING MAP ! ! /** Set tree of method calls in this thread. ! * @param root Root of call tree for this thread ! */ ! void setCallTree (CallTreeData root) { ! callTree = root; } *************** *** 156,323 **** * Sets active flag of this thread. * ! * @param active determines whether this thread is active. */ void setActive(boolean active) { this.active=active; } /** ! * Returns children of this thread. * ! * @return <code>List</code> of {@link ThreadData} objects. */ ! public List getChildren() { ! return children; } /** ! * Adds child of this thread. * ! * @param child child of this thread. */ ! void addChild(ThreadData child) { ! if ( children == Collections.EMPTY_LIST ) ! children = new LinkedList(); ! children.add(child); } ! ! /** ! * Returns map of types (classes or arrays of classes) whose instances were allocated in this thread. * ! * @return mapping of {@link AllocThreadTypeData} objects and types IDs. */ ! public Map getTypes() { ! return types; } /** ! * Adds type that was allocated in this thread. Type ! * can be instance of class or its array. * ! * @param allocType allocType that were allocated in this thread. */ ! void addType(AllocThreadTypeData allocType) { ! if ( types == Collections.EMPTY_MAP ) ! types = new HashMap(); ! types.put(allocType.getID(), allocType); } ! /** ! * Returns class (with given ID) whose instances were allocated ! * in this thread. * ! * @param ID ID of the class. ! * @return class (with given ID) whose instances were allocated ! * in this thread or <code>null</code> if such class does not exist. ! */ ! public AllocThreadTypeData getType(Integer ID) { ! return (AllocThreadTypeData)types.get(ID); ! } ! /** ! * Returns map of methods invoked in this thread. * ! * @return mapping of {@link AllocThreadMethodData} objects and method IDs. */ ! public Map getAllocMethods() { ! return allocMethods; } /** ! * Adds method invoked in this thread. * ! * @param method method invoked in this thread. */ ! void addAllocMethod(AllocThreadMethodData method) { ! if ( allocMethods == Collections.EMPTY_MAP ) ! allocMethods = new HashMap(); ! allocMethods.put(method.getMethod().getID(), method); } /** ! * Returns method (with given ID) invoked in this thread. * ! * @param ID ID of the method. ! * @return method (with given ID) invoked in this thread * or <code>null</code> if such method does not exist. */ ! public AllocThreadMethodData getAllocMethod(Integer ID) { ! return (AllocThreadMethodData)allocMethods.get(ID); } ! /** ! * Map of methods invoked in this thread. * ! * @return mapping of {@link CPUThreadMethodData} objects and method IDs. */ ! public Map getCPUMethods() { ! return CPUMethods; } ! /** ! * Adds method invoked in this thread. * ! * @param method method invoked in this thread. */ ! void addCPUMethod(CPUThreadMethodData method) { ! if ( CPUMethods == Collections.EMPTY_MAP ) ! CPUMethods = new HashMap(); ! CPUMethods.put(method.getMethod().getID(), method); } ! /** ! * Returns method (with given ID) invoked in this thread. * ! * @param ID ID of the method. ! * @return method (with given ID) invoked in this thread * or <code>null</code> if such method does not exist. */ ! public CPUThreadMethodData getCPUMethod(Integer ID) { ! return (CPUThreadMethodData)CPUMethods.get(ID); } /** ! * Map of methods invoked in this thread. (monitors data) * ! * @return mapping of {@link MonThreadMethodData} objects and method IDs. */ ! public Map getMonMethods() { ! return MonMethods; } ! /** ! * Adds method invoked in this thread. (monitors data) * ! * @param method method invoked in this thread. ! */ ! void addMonMethod(MonThreadMethodData method) { ! if ( MonMethods == Collections.EMPTY_MAP ) ! MonMethods = new HashMap(); ! MonMethods.put(method.getMethod().getID(), method); } /** ! * Returns method (with given ID) invoked in this thread. * ! * @param ID ID of the method. (monitors data) ! * @return method (with given ID) invoked in this thread * or <code>null</code> if such method does not exist. */ ! public MonThreadMethodData getMonMethod(Integer ID) { ! return (MonThreadMethodData)MonMethods.get(ID); } ! ! /** Returns tree of method calls in this thread. ! * @return Root of call tree for this thread */ ! public CallTreeData getCallTree () { ! return callTree; } ! /** Set tree of method calls in this thread. ! * @param root Root of call tree for this thread */ ! public void setCallTree (CallTreeData root) { ! callTree = root; } } --- 218,453 ---- * Sets active flag of this thread. * ! * @param active determines whether the thread is active. */ void setActive(boolean active) { this.active=active; } + + //GETTER methods ------------------------------------------------------- + // -------------- info getter methods /** ! * Returns name of this thread. * ! * @return name of this thread. */ ! public String getName() { ! return threadName; } /** ! * Returns parent of this thread. * ! * @return parent of this thread. */ ! public ThreadRef getParentThread() { ! return parent; } ! ! /** ! * Returns group of this thread. * ! * @return group of this thread. */ ! public ThreadGroupRef getThreadGroup() { ! return threadGroup; } /** ! * Returns VirtualMachineImage this method belongs to. The VirtualMachineImage could be live ! * (realtime implementation) or static (snaphshot). * ! * @return VirtualMachineImage this method belongs to. */ ! public VirtualMachineImageRef getVirtualMachineImage() { ! return vmImage; } ! /** ! * Determines whether the thread is active. * ! * @return <code>true</code> if the threas is active. Returns ! * <code>false</code> otherwise. ! */ ! public boolean isActive() { ! return active; ! } ! ! // -------------- children lists getter methods ! /** ! * Returns unmodifiable list of methods invoked in this thread. (allocation data) * ! * @return unmodifiable list of {@link AllocThreadMethodRef} objects. */ ! public List getAllocThreadMethods() { ! return roAllocThreadMethods; } /** ! * Returns statistic data for given method that was invoked in this thread. ! * (allocation data) * ! * @param peer method. ! * @return method invoked in this thread ! * or <code>null</code> if such method does not exist. */ ! public AllocThreadMethodRef getAllocThreadMethod(MethodRef peer) { ! return null; ! //PENDING ! } ! ! /** ! * Returns unmodifiable list of traces created in this thread. (allocation data) ! * ! * @return unmodifiable list of {@link AllocThreadTracedRef} objects. ! */ ! public List getAllocThreadTraces() { ! return roAllocThreadTraces; } /** ! * Returns statistic data for given trace that was created in this thread. ! * (allocation data) * ! * @param peer trace. ! * @return trace created in this thread * or <code>null</code> if such method does not exist. */ ! public AllocThreadTraceRef getAllocThreadTrace(AllocTraceRef peer) { ! return null; ! //PENDING } ! /** ! * Returns unmodifiable list of types (classes or arrays of classes) whose instances were allocated in this thread. * ! * @return unmodifiable list of {@link AllocTypeThreadRef} objects. */ ! public List getAllocTypeThreads() { ! return roAllocTypeThreads; } + + /** + * Returns statistic data for given type (class or array of types) whose instances were allocated + * in this thread. + * + * @param peer type. + * @return type whose instances were allocated + * in this thread or <code>null</code> if such class does not exist. + */ + public AllocTypeThreadRef getAllocTypeThread(TypeRef peer) { + return null; + //PENDING + } ! /** ! * Returns unmodifiable list of methods invoked in this thread. (CPU data) * ! * @return unmodifiable list of {@link CPUThreadMethodRef} objects. */ ! public List getCPUThreadMethods() { ! return roCPUThreadMethods; } ! /** ! * Returns statistic data for given method that was invoked in this thread. ! * (CPU data) * ! * @param peer method. ! * @return method invoked in this thread * or <code>null</code> if such method does not exist. */ ! public CPUThreadMethodRef getCPUThreadMethod(MethodRef peer) { ! return null; ! //PENDING } /** ! * Returns unmodifiable list of traces created in this thread. (CPU data) * ! * @return unmodifiable list of {@link CPUThreadTraceRef} objects. */ ! public List getCPUThreadTraces() { ! return roCPUThreadTraces; } ! /** ! * Returns statistic data for given trace that was created in this thread. ! * (CPU data) * ! * @param peer trace. ! * @return trace created in this thread ! * or <code>null</code> if such method does not exist. ! */ ! public CPUThreadTraceRef getCPUThreadTrace(CPUTraceRef peer) { ! return null; ! //PENDING } /** ! * Returns unmodifiable list of methods invoked in this thread. (monitors data) ! * ! * @return unmodifiable list of {@link MonThreadMethodRef} objects. ! */ ! public List getMonThreadMethods() { ! return roMonThreadMethods; ! } ! ! /** ! * Returns statistic data for given method that was invoked in this thread. ! * (monitors data) * ! * @param peer method. ! * @return method invoked in this thread * or <code>null</code> if such method does not exist. */ ! public MonThreadMethodRef getMonThreadMethod(MethodRef peer) { ! return null; ! //PENDING } ! ! /** ! * Returns unmodifiable list of traces created in this thread. (monitors data) ! * ! * @return unmodifiable list of {@link MonThreadTRaceRef} objects. */ ! public List getMonThreadTraces() { ! return roMonThreadTraces; ! } ! ! /** ! * Returns statistic data for given trace that was created in this thread. ! * (monitors data) ! * ! * @param peer trace. ! * @return trace created in this thread ! * or <code>null</code> if such method does not exist. ! */ ! public MonThreadTraceRef getMonThreadTrace(MonTraceRef peer) { ! return null; ! //PENDING } ! /** ! * Returns children of this thread. ! * ! * @return unmodifiable <code>List</code> of {@link ThreadRef} objects. */ ! public List getChildThreads() { ! return roChildThreads; ! } ! ! /** Returns tree of method calls in this thread. ! * @return Root of call tree for this thread ! */ ! public CallTreeRef getCallTree () { ! return null;//callTree; FIXME ! } ! ! //PENDING active? ! ! public String toString() { ! return getName(); } } *************** *** 325,381 **** /* * $Log$ * Revision 1.18 2002/03/07 10:35:24 petrul * callTree field added - * - * Revision 1.17 2002/03/04 23:59:53 vachis - * removed/delayed allocation, use of Collections.EMPTY_MAP - * - * Revision 1.16 2002/03/03 01:20:09 vachis - * type of ID changed from int to Integer - * - * Revision 1.15 2002/03/01 11:41:43 vachis - * doc changes - * - * Revision 1.14 2002/02/16 16:21:52 vachis - * code refacorization Class.. to Type... (forgotten methods) - * - * Revision 1.13 2002/02/15 22:37:30 vachis - * code refactorization Class..Data renamed to Type..Data - * - * Revision 1.12 2002/01/15 22:05:56 vachis - * addClass() modified - * adding allocClassData insted fo classData - * - * Revision 1.11 2002/01/11 22:22:16 vachis - * unnecessary test removed - * - * Revision 1.10 2001/12/27 14:11:39 vachis - * new setParent() method - * - * Revision 1.9 2001/12/09 23:21:01 vachis - * temporary fix, classData may be null - * - * Revision 1.8 2001/12/05 00:39:26 vachis - * MonMethods fix - * - * Revision 1.7 2001/12/03 10:13:19 vachis - * addChild() fix - * - * Revision 1.6 2001/12/02 15:54:40 petrul - * changed constructor code - * - * Revision 1.5 2001/11/20 22:23:37 vachis - * Contructors from IProf.sID and monitors statistic info - * - * Revision 1.4 2001/09/29 21:01:33 stolis - * Plural added in licenses. - * - * Revision 1.3 2001/07/19 21:59:22 stolis - * Keys of maps changed. - * - * Revision 1.2 2001/07/18 22:20:39 stolis - * Mirrors for CPU profiling added; - * references to obejct IDs removed; - * Lists changed to Maps. * * Revision 1.1.1.1 2001/07/11 22:28:06 stolis --- 455,463 ---- /* * $Log$ + * Revision 1.19 2002/05/06 17:32:13 vachis + * new api implemention + * * Revision 1.18 2002/03/07 10:35:24 petrul * callTree field added * * Revision 1.1.1.1 2001/07/11 22:28:06 stolis Index: SnapshotImpl.java =================================================================== RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/data/SnapshotImpl.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -r1.19 -r1.20 *** SnapshotImpl.java 9 Apr 2002 08:20:16 -0000 1.19 --- SnapshotImpl.java 6 May 2002 17:32:13 -0000 1.20 *************** *** 25,30 **** import java.io.Serializable; ! import net.sourceforge.javaprofiler.jpi.*; ! import net.sourceforge.javaprofiler.jpi.dump.*; import net.sourceforge.javaprofiler.jpiimpl.commun.*; import net.sourceforge.javaprofiler.jpiimpl.data.*; --- 25,29 ---- import java.io.Serializable; ! import net.sourceforge.javaprofiler.api.*; import net.sourceforge.javaprofiler.jpiimpl.commun.*; import net.sourceforge.javaprofiler.jpiimpl.data.*; *************** *** 32,53 **** /** ! * Implementation of Snapshot. * ! * @see net.sourceforge.javaprofiler.jpi.Snapshot * @author Pavel Vacha */ ! public class SnapshotImpl implements Snapshot, Serializable { ! private String name; ! private long time; transient private Map libIDs; //converts libIds to references ! private List classes = new LinkedList(); ! private List methods = new LinkedList(); ! private List groupThreads = new LinkedList(); ! private List threads = new LinkedList(); ! private List allocTypes = new LinkedList(); ! private List arenas = new LinkedList(); ! private List gcs = new LinkedList(); private Configuration conf; --- 31,62 ---- /** ! * Implementation of Snapshot (VirtualMachineImage). * ! * @see net.sourceforge.javaprofiler.api.VirtualMachineImageRef * @author Pavel Vacha */ ! public class SnapshotImpl implements VirtualMachineImageRef, Serializable { ! private String name; ! private long time; //PENDING transient private Map libIDs; //converts libIds to references ! private final List classes = new ArrayList(); ! private final List methods = new ArrayList(); ! private final List groupThreads = new ArrayList(); ! private final List threads = new ArrayList(); ! private final List types = new ArrayList(); ! private final List arenas = new ArrayList(); ! private final List gcs = new ArrayList(); ! ! // unmodifiable variants of lists ! private final List roClasses = Collections.unmodifiableList( classes ); ! private final List roMethods = Collections.unmodifiableList( methods ); ! private final List roGroupThreads = Collections.unmodifiableList( ! groupThreads); ! private final List roThreads = Collections.unmodifiableList( threads ); ! private final List roTypes = Collections.unmodifiableList( types ); ! private final List roArenas = Collections.unmodifiableList( arenas ); ! private final List roGcs = Collections.unmodifiableList( gcs ); private Configuration conf; *************** *** 170,186 **** ////////////////////////////////////////////////////////////////////////// ! // implementation of Snapdhot interface ////////////////////////////////////////////////////////////////////////// ! /** ! * Returns number of threads that were running by the time the snapshot ! * was made. ! * ! * @return number of threads that were running by the time the snapshot ! * was made. ! */ ! public int getThreadCount() { ! return threads.size(); ! } /** --- 179,186 ---- ////////////////////////////////////////////////////////////////////////// ! // implementation of VirtualMachineImage interface ////////////////////////////////////////////////////////////////////////// ! //------------------------ maybe /** *************** *** 201,259 **** * monitors in the mirrored virtual machine. */ ! public List dumpMonitors() { ! //PENDIG ! return null; ! } ! ! /** ! * Returns size (in bytes) of free memory in the mirrored virtual machine. ! * ! * @return size (in bytes) of free memory in the mirrored virtual machine. ! */ ! public long freeMemory() { ! //PENDIG ! return 0; ! } - /** - * Returns <code>index</code>-th loaded type by the mirrored virtual machine. - * - * @param index index of some loaded type by the mirrored virtual machine. - * @return a {@link ReferenceType} object representing <code>index</code>-th - * loaded type by the mirrored virtual machine. - */ - public ReferenceType getClass(int index) { - //PENDING - //return classes.get( index ); - return null; - } - - /** - * Returns number of all loaded types by the mirrored virtual machine. - * - * @return number of all loaded types by the mirrored virtual machine. - */ - public int getClassCount() { - return classes.size(); - } /** - * Returns a list of the currently running threads. For each running thread - * in the target VM, a {@link ThreadInfo} that holds information about it - * is placed in the list. The returned list contains threads created through - * <code>Thread</code>, all native threads attached to the target - * VM through JNI, and system threads created by the target VM. - * <p>Thread objects that have not yet been started - * (through <code>Thread.start()</code>) and thread objects that - * have completed their execution are not included in the returned list. - * - * @return a <code>List</code> of {@link ThreadInfo} objects, one for each - * running thread in the mirrored VM. - */ - public List threads() { - return threads; - } - - /** * Sets name of this snapshot. * --- 201,211 ---- * monitors in the mirrored virtual machine. */ ! //public List dumpMonitors() { ! // //PENDIG ! // return null; ! //} /** * Sets name of this snapshot. * *************** *** 265,281 **** /** - * Returns all loaded types. For each loaded type in the target VM - * a {@link ReferenceType} will be placed in the returned list. The list - * will include <code>ReferenceTypes</code> which mirror classes, interfaces, - * and array types. - * - * @return a <code>List</code> of {@link ReferenceType} objects, each - * mirroring a loaded type in the target VM. - */ - public List classes() { - return classes; - } - - /** * Returns size (in bytes) of allocated memory in the mirrored virtual * machine. --- 217,220 ---- *************** *** 298,302 **** } ! /** * Performed heap dump of the mirrored virtual machine. * --- 237,241 ---- } ! /** * Performed heap dump of the mirrored virtual machine. * *************** *** 304,344 **** * representing the content of the memory of the mirrored virtual machine. */ ! public HeapDump dumpHeap() { //PENDING ! return null; } ! //some public classes, that are not in interface yet ! /** Returns list of objects, that can be allocated. * These are class, array of class array of int, etc. * ! * @return list of allocatable objects. */ ! public List allocTypes() { ! return allocTypes; } ! /** Retuns list of Group of threads. * ! * @return list of Group of threads. */ ! public List groupOfThreads() { ! return groupThreads; } ! /** Returns list of objects with garbage collector information. * ! *@return list of objects with garbage collector information. */ ! public List gcs() { ! return gcs; } ! /**Return list of arenas. * *@return list of arenas. */ ! public List arenas() { ! return arenas; } --- 243,335 ---- * representing the content of the memory of the mirrored virtual machine. */ ! //public HeapDump dumpHeap() { //PENDING ! // return null; ! //} ! ! //------------------------ interafacee ! ! /** ! * Returns a unmodifiable list of threads. The returned list contains threads created through ! * <code>Thread</code>, all native threads attached to the target ! * VM through JNI, and system threads created by the target VM. ! * <p>Thread objects that have not yet been started ! * (through <code>Thread.start()</code>) and thread objects that ! * have completed their execution are included in the returned list too. ! * ! * @return a unmodifiable <code>List</code> of {@link ThreadRef} objects, one for each ! * thread in the image of VirtualMachine. ! */ ! public List getThreads() { ! return roThreads; ! } ! ! /** ! * Returns all loaded classes. For each loaded type in the target VM ! * a {@link ClassRef} will be placed in the returned list. ! * ! * @return a unmodifiable <code>List</code> of {@link ClassRef} objects, each ! * corresponding with a loaded type in the target VM. ! */ ! public List getClasses() { ! return roClasses; } ! /** Returns unmodifiable list of objects, that can be allocated. * These are class, array of class array of int, etc. * ! * @return unmodifiable <code>List</code> of {@link TypeRef} objects. ! */ ! public List getTypes() { ! return roTypes; ! } ! ! /** Retuns unmodifiable list of Group of threads. ! * ! * @return unmodifiable <code>List</code> of {@link ThreadGroupRef} objects. */ ! public List getThreadGroups() { ! return roGroupThreads; } ! /** Returns unmodifiable list of objects with garbage collector information. * ! *@return unmodifiable <code>List</code> of {@link GCSRef} objects. */ ! public List getGcs() { ! return roGcs; } ! /**Return unmodifiable list of objects with information about arenas. * ! *@return unmodifiable list of arenas. */ ! public List getArenas() { ! return roArenas; } ! /**Return list of objects with information about arenas. * *@return list of arenas. */ ! public List getMethods() { ! return roMethods; ! } ! ! //is it usefull? ! ! public List getMonTraces() { ! return null; ! //PENDING ! } ! ! public List getCPUTraces() { ! return null; ! //PENDING ! } ! ! public List getAllocTraces() { ! return null; ! //PENDING } *************** *** 442,448 **** actLst.clear(); if ( conf.withTypes ) { ! extract( null, allocTypes, IProf.OBJECT_TYPES, IProf.NO_OPTIONAL_ARG, iprof ); ! extract( allocTypes, (conf.withAllocTraces)? actLst : null, IProf.ALLOC_OBJECT_METHODS, IProf.NO_OPTIONAL_ARG, iprof ); --- 433,439 ---- actLst.clear(); if ( conf.withTypes ) { ! extract( null, types, IProf.OBJECT_TYPES, IProf.NO_OPTIONAL_ARG, iprof ); ! extract( types, (conf.withAllocTraces)? actLst : null, IProf.ALLOC_OBJECT_METHODS, IProf.NO_OPTIONAL_ARG, iprof ); *************** *** 694,702 **** switch ( whatType ) { case IProf.CLASS_FIELDS_INSTANCES: { ! ((ClassData) refObj).setInstaceFields( postOpIterLst ); return new LinkedList(); } case IProf.CLASS_FIELDS_STATICS: { ! ((ClassData) refObj).setStaticFields( postOpIterLst ); return new LinkedList(); } --- 685,695 ---- switch ( whatType ) { case IProf.CLASS_FIELDS_INSTANCES: { ! //PENDING //FIXME ! //((ClassData) refObj).setInstaceFields( postOpIterLst ); return new LinkedList(); } case IProf.CLASS_FIELDS_STATICS: { ! //PENDING //FIXME ! //((ClassData) refObj).setStaticFields( postOpIterLst ); return new LinkedList(); } *************** *** 732,739 **** List frames = new ArrayList( trcInfo.numFrames ); for ( i = 0; i < num; i++ ) ! frames.add(new TraceFrameData( trcInfo.frames[i].lineno, ((MethodData) libIDs.get( ! new Integer(trcInfo.frames[i].methodObjId )) ! ) )); return frames; }; --- 725,733 ---- List frames = new ArrayList( trcInfo.numFrames ); for ( i = 0; i < num; i++ ) ! frames.add(new FrameData( trcInfo.frames[i].lineno, ((MethodData) libIDs.get( ! new Integer(trcInfo.frames[i].methodObjId ))), ! (i==0) ? null : ((FrameData) frames.get(i-1)) ! )); return frames; }; *************** *** 761,765 **** ClassData clz = (ClassData) libIDs.get( new Integer( ((IProf.sObjectInfo) sid.info).classObjId)); ! return new AllocTypeData( sid, clz ); } --- 755,759 ---- ClassData clz = (ClassData) libIDs.get( new Integer( ((IProf.sObjectInfo) sid.info).classObjId)); ! return new TypeData( sid, clz, this ); } *************** *** 781,785 **** Integer parentID = new Integer( ((IProf.sThreadInfo) sid.info).parentObjId); ThreadData parent = (ThreadData) libIDs.get( parentID); ! ThreadData newObj = new ThreadData( sid, up, parent ); up.addThread( newObj ); if (parent != null ) --- 775,779 ---- Integer parentID = new Integer( ((IProf.sThreadInfo) sid.info).parentObjId); ThreadData parent = (ThreadData) libIDs.get( parentID); ! ThreadData newObj = new ThreadData( sid, up, parent, this ); up.addThread( newObj ); if (parent != null ) *************** *** 796,800 **** case IProf.CLASS_FIELDS_STATICS: { ClassData rf = (ClassData) refObj; ! ClassFieldData newObj = new ClassFieldData( sid ); postOpIterLst.add( newObj ); //later setStaticFileds() is called to this List return newObj; --- 790,794 ---- case IProf.CLASS_FIELDS_STATICS: { ClassData rf = (ClassData) refObj; ! FieldData newObj = new FieldData( sid, rf, true ); postOpIterLst.add( newObj ); //later setStaticFileds() is called to this List return newObj; *************** *** 803,807 **** case IProf.CLASS_FIELDS_INSTANCES: { ClassData rf = (ClassData) refObj; ! ClassFieldData newObj = new ClassFieldData( sid ); postOpIterLst.add( newObj ); //later setInstanceFileds() is called to this List return newObj; --- 797,801 ---- case IProf.CLASS_FIELDS_INSTANCES: { ClassData rf = (ClassData) refObj; ! FieldData newObj = new FieldData( sid, rf, false ); postOpIterLst.add( newObj ); //later setInstanceFileds() is called to this List return newObj; *************** *** 810,814 **** case IProf.METHODS: { ClassData up = (ClassData) libIDs.get( new Integer(sid.parentUpObjId) ); ! MethodData newObj = new MethodData( sid, up ); up.addMethod( newObj ); return newObj; --- 804,808 ---- case IProf.METHODS: { ClassData up = (ClassData) libIDs.get( new Integer(sid.parentUpObjId) ); ! MethodData newObj = new MethodData( sid, up, this ); up.addMethod( newObj ); return newObj; *************** *** 816,820 **** case IProf.CLASS_METHODS: { ClassData up = (ClassData) refObj; ! MethodData newObj = new MethodData( sid, up ); up.addMethod( newObj ); return newObj; --- 810,814 ---- case IProf.CLASS_METHODS: { ClassData up = (ClassData) refObj; ! MethodData newObj = new MethodData( sid, up, this ); up.addMethod( newObj ); return newObj; *************** *** 840,844 **** case IProf.ALLOC_METHOD_OBJECTS: { MethodData lf = (MethodData) refObj; ! AllocTypeData up = (AllocTypeData) libIDs.get( new Integer( sid.parentUpObjId )); AllocTypeMethodData newObj = new AllocTypeMethodData( sid, up, lf ); --- 834,838 ---- case IProf.ALLOC_METHOD_OBJECTS: { MethodData lf = (MethodData) refObj; ! TypeData up = (TypeData) libIDs.get( new Integer( sid.parentUpObjId )); AllocTypeMethodData newObj = new AllocTypeMethodData( sid, up, lf ); *************** *** 850,854 **** MethodData lf = (MethodData) libIDs.get( new Integer( sid.parentLeftObjId )); ! AllocTypeData up = (AllocTypeData) refObj; AllocTypeMethodData newObj = new AllocTypeMethodData( sid, up, lf ); lf.addType( newObj ); --- 844,848 ---- MethodData lf = (MethodData) libIDs.get( new Integer( sid.parentLeftObjId )); ! TypeData up = (TypeData) refObj; AllocTypeMethodData newObj = new AllocTypeMethodData( sid, up, lf ); lf.addType( newObj ); *************** *** 877,883 **** //// case IProf.ALLOC_OBJECT_THREADS: { ! AllocTypeData lf = (AllocTypeData) refObj; ThreadData up = (ThreadData) libIDs.get( new Integer( sid.parentUpObjId)); ! AllocThreadTypeData newObj = new AllocThreadTypeData( sid, up, lf ); up.addType( newObj ); lf.addThread( newObj ); --- 871,877 ---- //// case IProf.ALLOC_OBJECT_THREADS: { ! TypeData lf = (TypeData) refObj; ThreadData up = (ThreadData) libIDs.get( new Integer( sid.parentUpObjId)); ! AllocTypeThreadData newObj = new AllocTypeThreadData( sid, up, lf ); up.addType( newObj ); lf.addThread( newObj ); *************** *** 885,892 **** } case IProf.ALLOC_THREAD_OBJECTS: { ! AllocTypeData lf = (AllocTypeData) libIDs.get( new Integer( sid.parentLeftObjId )); ThreadData up = (ThreadData) refObj; ! AllocThreadTypeData newObj = new AllocThreadTypeData( sid, up, lf ); lf.addThread( newObj ); up.addType( newObj ); --- 879,886 ---- } case IProf.ALLOC_THREAD_OBJECTS: { ! TypeData lf = (TypeData) libIDs.get( new Integer( sid.parentLeftObjId )); ThreadData up = (ThreadData) refObj; ! AllocTypeThreadData newObj = new AllocTypeThreadData( sid, up, lf ); lf.addThread( newObj ); up.addType( newObj ); *************** *** 896,904 **** case IProf.ALLOC_OBJECT_METHOD_THREADS:{ AllocTypeMethodData lf =(AllocTypeMethodData) refObj; ! AllocThreadTypeData up = (AllocThreadTypeData) libIDs.get( new Integer( sid.parentUpObjId )); AllocThreadMethodData rg = (AllocThreadMethodData) libIDs.get( new Integer( sid.parentRightObjId )); ! AllocThreadTypeMethodData newObj = new AllocThreadTypeMethodData( sid, up, lf, rg ); lf.addThread( newObj ); --- 890,898 ---- case IProf.ALLOC_OBJECT_METHOD_THREADS:{ AllocTypeMethodData lf =(AllocTypeMethodData) refObj; ! AllocTypeThreadData up = (AllocTypeThreadData) libIDs.get( new Integer( sid.parentUpObjId )); AllocThreadMethodData rg = (AllocThreadMethodData) libIDs.get( new Integer( sid.parentRightObjId )); ! AllocTypeThreadMethodData newObj = new AllocTypeThreadMethodData( sid, up, lf, rg ); lf.addThread( newObj ); *************** *** 910,917 **** AllocTypeMethodData lf =(AllocTypeMethodData) libIDs.get( new Integer( sid.parentLeftObjId )); ! AllocThreadTypeData up = (AllocThreadTypeData) refObj; AllocThreadMethodData rg = (AllocThreadMethodData) libIDs.get( new Integer( sid.parentRightObjId )); ! AllocThreadTypeMethodData newObj = new AllocThreadTypeMethodData( sid, up, lf, rg ); lf.addThread( newObj ); --- 904,911 ---- AllocTypeMethodData lf =(AllocTypeMethodData) libIDs.get( new Integer( sid.parentLeftObjId )); ! AllocTypeThreadData up = (AllocTypeThreadData) refObj; AllocThreadMethodData rg = (AllocThreadMethodData) libIDs.get( new Integer( sid.parentRightObjId )); ! AllocTypeThreadMethodData newObj = new AllocTypeThreadMethodData( sid, up, lf, rg ); lf.addThread( newObj ); *************** *** 923,930 **** AllocTypeMethodData lf =(AllocTypeMethodData) libIDs.get( new Integer( sid.parentLeftObjId )); ! AllocThreadTypeData up = (AllocThreadTypeData) libIDs.get( new Integer( sid.parentUpObjId )); AllocThreadMethodData rg = (AllocThreadMethodData) refObj; ! AllocThreadTypeMethodData newObj = new AllocThreadTypeMethodData( sid, up, lf, rg ); lf.addThread( newObj ); --- 917,924 ---- AllocTypeMethodData lf =(AllocTypeMethodData) libIDs.get( new Integer( sid.parentLeftObjId )); ! AllocTypeThreadData up = (AllocTypeThreadData) libIDs.get( new Integer( sid.parentUpObjId )); AllocThreadMethodData rg = (AllocThreadMethodData) refObj; ! AllocTypeThreadMethodData newObj = new AllocTypeThreadMethodData( sid, up, lf, rg ); lf.addThread( newObj ); *************** *** 936,944 **** case IProf.ALLOC_OBJECT_METHOD_TRACE_THREADS:{ AllocTypeTraceData lf = (AllocTypeTraceData) refObj; ! AllocThreadTypeMethodData up = (AllocThreadTypeMethodData) libIDs.get( new Integer( sid.parentUpObjId )); AllocThreadTraceData rg = (AllocThreadTraceData) libIDs.get( new Integer( sid.parentRightObjId )); ! AllocThreadTypeTraceData newObj = new AllocThreadTypeTraceData( sid, lf, up, rg ); lf.addThread( newObj ); --- 930,938 ---- case IProf.ALLOC_OBJECT_METHOD_TRACE_THREADS:{ AllocTypeTraceData lf = (AllocTypeTraceData) refObj; ! AllocTypeThreadMethodData up = (AllocTypeThreadMethodData) libIDs.get( new Integer( sid.parentUpObjId )); AllocThreadTraceData rg = (AllocThreadTraceData) libIDs.get( new Integer( sid.parentRightObjId )); ! AllocTypeThreadTraceData newObj = new AllocTypeThreadTraceData( sid, lf, up, rg ); lf.addThread( newObj ); *************** *** 950,957 **** AllocTypeTraceData lf = (AllocTypeTraceData) libIDs.get( new Integer( sid.parentLeftObjId )); ! AllocThreadTypeMethodData up = (AllocThreadTypeMethodData) libIDs.get( new Integer( sid.parentUpObjId )); AllocThreadTraceData rg = (AllocThreadTraceData) refObj; ! AllocThreadTypeTraceData newObj = new AllocThreadTypeTraceData( sid, lf, up, rg ); lf.addThread( newObj ); --- 944,951 ---- AllocTypeTraceData lf = (AllocTypeTraceData) libIDs.get( new Integer( sid.parentLeftObjId )); ! AllocTypeThreadMethodData up = (AllocTypeThreadMethodData) libIDs.get( new Integer( sid.parentUpObjId )); AllocThreadTraceData rg = (AllocThreadTraceData) refObj; ! AllocTypeThreadTraceData newObj = new AllocTypeThreadTraceData( sid, lf, up, rg ); lf.addThread( newObj ); *************** *** 963,970 **** AllocTypeTraceData lf = (AllocTypeTraceData) libIDs.get( new Integer( sid.parentLeftObjId )); ! AllocThreadTypeMethodData up = (AllocThreadTypeMethodData) refObj; AllocThreadTraceData rg = (AllocThreadTraceData) libIDs.get( new Integer( sid.parentRightObjId )); ! AllocThreadTypeTraceData newObj = new AllocThreadTypeTraceData( sid, lf, up, rg ); lf.addThread( newObj ); --- 957,964 ---- AllocTypeTraceData lf = (AllocTypeTraceData) libIDs.get( new Integer( sid.parentLeftObjId )); ! AllocTypeThreadMethodData up = (AllocTypeThreadMethodData) refObj; AllocThreadTraceData rg = (AllocThreadTraceData) libIDs.get( new Integer( sid.parentRightObjId )); ! AllocTypeThreadTraceData newObj = new AllocTypeThreadTraceData( sid, lf, up, rg ); lf.addThread( newObj ); *************** *** 1133,1144 **** } ! }; ! } //TODO: // write exception handling code properly - // ?expansion from classes // filters --- 1127,1142 ---- } ! } ! } + //FIXME: + //creation of fiels, frames, + //to fill list of traces + + //GCRef, ArenaRef, CallTree, //TODO: // write exception handling code properly // filters *************** *** 1148,1206 **** /* * $Log$ ! * Revision 1.19 2002/04/09 08:20:16 vachis ! * don't clear chaged flag * * Revision 1.18 2002/03/13 21:08:34 vachis * Confuguration.withFields, Confuguration.isValid() * added - * - * Revision 1.17 2002/03/10 19:59:10 vachis - * fix in ThreadGroupPart, calling calltree moved - * - * Revision 1.16 2002/03/08 10:42:06 petrul - * fixed tree traversal error - * - * Revision 1.15 2002/03/07 10:37:38 petrul - * call tree snapshot added - * - * Revision 1.14 2002/03/06 17:47:24 vachis - * You can choose not to include Types or CPU/Mon/Alloc Threads/Traces - * - * Revision 1.13 2002/03/04 00:13:56 vachis - * configuration class added - * - * Revision 1.12 2002/03/03 01:20:09 vachis - * type of ID changed from int to Integer - * - * Revision 1.11 2002/02/16 16:21:52 vachis - * code refacorization Class.. to Type... (forgotten methods) - * - * Revision 1.10 2002/02/15 22:37:30 vachis - * code refactorization Class..Data renamed to Type..Data - * - * Revision 1.9 2002/01/26 20:56:02 vachis - * methods gcs(), arenas() added - * - * Revision 1.8 2002/01/11 22:24:02 vachis - * added allocObjects list, methods for getting allocObjects and groupOfThreads - * - * Revision 1.7 2001/12/27 23:30:35 vachis - * comments - * - * Revision 1.6 2001/12/27 14:21:23 vachis - * finished connecting threads and class fields to mirror - * - * Revision 1.5 2001/12/09 23:27:34 vachis - * connecting MethodData to ClassData - * extection of class fields; frames fix - * - * Revision 1.4 2001/12/05 00:40:05 vachis - * fixies - * - * Revision 1.3 2001/12/04 00:14:51 vachis - * Changes to GetAllThruIterator() - * - * Revision 1.2 2001/12/03 10:37:57 vachis - * chages to getAll() with info * * Revision 1.1 2001/11/20 22:31:45 vachis --- 1146,1155 ---- /* * $Log$ ! * Revision 1.20 2002/05/06 17:32:13 vachis ! * new api implemention * * Revision 1.18 2002/03/13 21:08:34 vachis * Confuguration.withFields, Confuguration.isValid() * added * * Revision 1.1 2001/11/20 22:31:45 vachis Index: MonTraceData.java =================================================================== RCS file: /cvsroot/javaprofiler/jpiimpl/net/sourceforge/javaprofiler/jpiimpl/data/MonTraceData.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** MonTraceData.java 4 Mar 2002 23:59:53 -0000 1.6 --- MonTraceData.java 6 May 2002 17:32:13 -0000 1.... [truncated message content] |