Update of /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/data
In directory usw-pr-cvs1:/tmp/cvs-serv2629
Modified Files:
BacktraceSupport.java
Added Files:
MergeFrameData.java
Log Message:
better design of backtrace
--- NEW FILE: MergeFrameData.java ---
/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"); you may not use this file except
* in compliance with the License. A copy of the License is available
* at http://www.sun.com/
*
* The Original Code is the Java Profiler module. The Initial Developers
* of the Original Code are Jan Stola, Pavel Vacha, Michal Pise, Petr Luner,
* Lukas Petru and Marek Przeczek.
*
* Portions created by Jan Stola are Copyright (C) 2000-2001.
* All Rights Reserved.
*
* Portions created by Pavel Vacha are Copyright (C) 2000-2001.
* All Rights Reserved.
*
* Portions created by Michal Pise are Copyright (C) 2000-2001.
* All Rights Reserved.
*
* Portions created by Petr Luner are Copyright (C) 2000-2001.
* All Rights Reserved.
*
* Portions created by Lukas Petru are Copyright (C) 2000-2001.
* All Rights Reserved.
*
* Portions created by Marek Przeczek are Copyright (C) 2000-2001.
* All Rights Reserved.
*
* Contributors: Jan Stola, Pavel Vacha, Michal Pise, Petr Luner,
* Lukas Petru and Marek Przeczek.
*/
package net.sourceforge.javaprofiler.module.data;
import java.util.*;
import net.sourceforge.javaprofiler.jpi.FrameRef;
/** This class represents a group of <code>TraceRef</code> objects which share
* the same frame at some trace level. Object of this class provides access to
* the shared frame and to a list of merged traces.
* @author Lukas Petru
*/
public class MergeFrameData {
private final FrameRef frame;
private final List traces;
public MergeFrameData(FrameRef keyFrame, List tracesBucket) {
frame=keyFrame;
traces=tracesBucket;
}
public FrameRef getFrame() {
return frame;
}
public List getTraces() {
return traces;
}
}
/*
* $Log: MergeFrameData.java,v $
* Revision 1.1 2002/08/31 08:40:34 petrul
* better design of backtrace
*
*/
Index: BacktraceSupport.java
===================================================================
RCS file: /cvsroot/javaprofiler/module/net/sourceforge/javaprofiler/module/data/BacktraceSupport.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** BacktraceSupport.java 23 Aug 2002 18:13:42 -0000 1.1
--- BacktraceSupport.java 31 Aug 2002 08:40:34 -0000 1.2
***************
*** 45,56 ****
*/
public class BacktraceSupport {
! /** Splits a list of <code>TraceRef</code> objects into a map which has
! * <code>FrameRef</code> of selected level as key and a list of traces
! * containing this frame as a value.
* @param traces List of <code>TraceRef</code>.
* @param level Has value 1 to N, where value 1 means last called method
* and higher numbers mean callers.
*/
! public static Map split(List traces, int level) {
if (level < 1)
throw new IllegalArgumentException(String.valueOf(level));
--- 45,56 ----
*/
public class BacktraceSupport {
! /** Splits a list of <code>TraceRef</code> objects into a list of <code>
! * MergeFrameData</code>. The traces are split by frame of a selected
! * level.
* @param traces List of <code>TraceRef</code>.
* @param level Has value 1 to N, where value 1 means last called method
* and higher numbers mean callers.
*/
! public static List split(List traces, int level) {
if (level < 1)
throw new IllegalArgumentException(String.valueOf(level));
***************
*** 70,74 ****
bucket.add(tr);
}
! return map;
}
--- 70,82 ----
bucket.add(tr);
}
! // convert map to MergeFrameData list
! List res=new ArrayList();
! it=map.entrySet().iterator();
! while (it.hasNext()) {
! java.util.Map.Entry entry=(java.util.Map.Entry) it.next();
! res.add(new MergeFrameData((FrameRef) entry.getKey(),
! (List) entry.getValue()));
! }
! return res;
}
***************
*** 115,118 ****
--- 123,129 ----
/*
* $Log$
+ * Revision 1.2 2002/08/31 08:40:34 petrul
+ * better design of backtrace
+ *
* Revision 1.1 2002/08/23 18:13:42 petrul
* added cpu backtrace view
|