Author: jsong
Date: Tue Mar 1 18:52:21 2005
New Revision: 155856
URL: http://svn.apache.org/viewcvs?view=rev&rev=155856
Log:
Contributed by Jamie Zyskowski: add support for historical plots
Added:
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/HistoryProducer.java
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/ProducerUtil.java
Modified:
incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml
incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControl.java
incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControlImpl.java
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SeriesProducer.java
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SnapshotProducer.java
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/Controller.jpf
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/controls.jsp
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/tableview.jsp
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/xmlbeans.jsp
Modified: incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml?view=diff&r1=155855&r2=155856
==============================================================================
--- incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml
(original)
+++ incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml Tue Mar
1 18:52:21 2005
@@ -37,7 +37,7 @@
<controlsperf>
<cmdline>%{control.perf.root}/bin/perf
StrlenEventPgmTest</cmdline>
<hash>-1989672960</hash>
- <bar>4026</bar>
+ <bar>6547</bar>
<drift>0.20</drift>
<timeout>10000</timeout>
</controlsperf>
@@ -46,7 +46,7 @@
<controlsperf>
<url>http://%{test.hostname}:%{test.port}/controlsPerfWeb/jpf/test/controls/performance/programmatic/strlenEvent/Controller.jpf</url>
<hash>-1989672960</hash>
- <bar>4026</bar>
+ <bar>6547</bar>
<drift>0.20</drift>
<timeout>10000</timeout>
</controlsperf>
Modified:
incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControl.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControl.java?view=diff&r1=155855&r2=155856
==============================================================================
---
incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControl.java
(original)
+++
incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControl.java
Tue Mar 1 18:52:21 2005
@@ -16,6 +16,7 @@
public void clearResultSets();
public HashMap<String,ResultSetDocument.ResultSet> getResultSets();
+ public ResultSetDocument.ResultSet[] getResultSetArray();
public ResultSetDocument.ResultSet getResultSet(String p_filename);
public String getLatestFilename();
}
Modified:
incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControlImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControlImpl.java?view=diff&r1=155855&r2=155856
==============================================================================
---
incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControlImpl.java
(original)
+++
incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControlImpl.java
Tue Mar 1 18:52:21 2005
@@ -55,6 +55,21 @@
{
return _resultSets;
}
+
+ public ResultSetDocument.ResultSet[] getResultSetArray()
+ {
+ ResultSetDocument.ResultSet[] resultSetArray = new
ResultSetDocument.ResultSet[_resultSets.size()];
+ Set keys = _resultSets.keySet();
+ Iterator it = keys.iterator();
+ int i = 0;
+ while(it.hasNext())
+ {
+ String key = (String)it.next();
+ resultSetArray[i] = _resultSets.get(key);
+ i++;
+ }
+ return resultSetArray;
+ }
public void clearResultSets()
{
Added:
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/HistoryProducer.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/HistoryProducer.java?view=auto&rev=155856
==============================================================================
---
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/HistoryProducer.java
(added)
+++
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/HistoryProducer.java
Tue Mar 1 18:52:21 2005
@@ -0,0 +1,157 @@
+package graphing;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.Iterator;
+
+import org.apache.xmlbeans.XmlException;
+import org.jfree.data.general.Dataset;
+import org.jfree.data.time.TimeSeries;
+import org.jfree.data.time.TimeSeriesCollection;
+import org.jfree.data.time.Day;
+//import org.openuri.perf.Custom;
+import org.openuri.perf.Result;
+import org.openuri.perf.ResultSetDocument;
+
+import org.apache.beehive.controls.perf.controls.custom.PerfResultControlBean;
+
+import de.laures.cewolf.DatasetProduceException;
+import de.laures.cewolf.DatasetProducer;
+
+public class HistoryProducer implements DatasetProducer, Serializable {
+
+ static final long serialVersionUID = -1;
+ static final String LOGDELIM = "HISTORY_PRODUCER: ";
+
+ public Object produceDataset(Map params) throws DatasetProduceException
{
+
+ // keys used to retreive params passed from the jsp
+ String k_dirname = "dirname";
+ String k_yaxis = "yaxis";
+ String k_regexMap = "regexmap";
+ // retreive the param values
+ String dirname = (String)params.get(k_dirname);
+ String yaxis = (String)params.get(k_yaxis);
+ HashMap<String,String> regexBySeriesName =
(HashMap<String,String>)params.get(k_regexMap);
+
+ // get the series params
+ System.out.println(LOGDELIM+"dirname="+dirname);
+ System.out.println(LOGDELIM+"yaxis="+yaxis);
+
System.out.println(LOGDELIM+"regexBySeriesName="+regexBySeriesName);
+
+ try
+ {
+ PerfResultControlBean control = (PerfResultControlBean)
java.beans.Beans.instantiate(this.getClass().getClassLoader(),
+
"org.apache.beehive.controls.perf.controls.custom.PerfResultControlBean");
+ control.loadResults(new File(dirname));
+ ResultSetDocument.ResultSet[] resultSetArray =
control.getResultSetArray();
+
+ if(null != resultSetArray)
+ System.out.println(LOGDELIM+"got
"+resultSetArray.length+" result sets");
+ else
+ System.out.println(LOGDELIM+"ERROR - result
sets are null :-(");
+
+ // initialize each series in the hashmap
+ TimeSeriesCollection dataset = new
TimeSeriesCollection();
+ Set<String> keys = regexBySeriesName.keySet();
+ Iterator it = keys.iterator();
+ // create each series from the result set data
+ while(it.hasNext())
+ {
+ String name = (String)it.next();
+ String regex = regexBySeriesName.get(name);
+ System.out.println(LOGDELIM+"name="+name);
+ System.out.println(LOGDELIM+"regex="+regex);
+
+ dataset.addSeries(getHistoryDataset(name,
+ regex,
+ yaxis,
+ resultSetArray));
+ }
+
+ return (Dataset)dataset;
+ }
+ catch(XmlException xe){
+ System.out.println(LOGDELIM+"got XmlException:
"+xe.getMessage());
+ xe.printStackTrace();
+ }
+ catch(IOException ioe){
+ System.out.println(LOGDELIM+"got IOException:
"+ioe.getMessage());
+ ioe.printStackTrace();
+ }
+ catch(ClassNotFoundException cnfe)
+ {
+ System.out.println(LOGDELIM+"got
ClassNotFoundException: "+cnfe.getMessage());
+ cnfe.printStackTrace();
+ }
+ return null;
+ }
+
+ public boolean hasExpired(Map params, Date since) {
+ return (System.currentTimeMillis() - since.getTime()) > 10000;
+ }
+
+ public String getProducerId() {
+ return "HistoryProducer";
+ }
+
+ ////////////
+ // utilities
+ ////////////
+ private TimeSeries getHistoryDataset(String p_seriesName, String
p_regex, String p_yvalue, ResultSetDocument.ResultSet[] p_resultsets)
+ {
+ TimeSeries series = new TimeSeries(p_seriesName);
+
+ for(int j=0; j<p_resultsets.length; j++)
+ {
+ //get one datapoint for each result set - x value is
the result set date
+ HashMap<Long,String> fullnamesById =
ProducerUtil.getFullnamesById(p_regex,p_resultsets[j]);
+ if(fullnamesById.size() > 1)
+ {
+ System.out.println(LOGDELIM+"ERROR - more than
one match in result set (only one allowed per date)");
+ return null;
+ }
+
+ Result[] results = p_resultsets[j].getResultArray();
+ for(int i=0; i<results.length; i++)
+ {
+
if(fullnamesById.containsKey(results[i].getId()))
+ {
+ String name =
fullnamesById.get(results[i].getId());
+ Date xvalue =
p_resultsets[j].getEnvironment().getDate().getTime();
+ Day day = new Day(xvalue);
+ if(p_yvalue.equalsIgnoreCase("time") &&
results[i].isSetTime())
+ {
+
System.out.println(LOGDELIM+"adding y-axis time "+results[i].getTime()+" for:
"+name+" date="+day);
+ //Float xvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_yvalue,results[i]));
+ series.add(day,(Number)
results[i].getTime());
+ }
+ else
if(p_yvalue.equalsIgnoreCase("memory") && results[i].isSetMemory())
+ {
+
System.out.println(LOGDELIM+"adding y-axis memory "+results[i].getMemory()+"
for: "+name+" date="+day);
+ //Float xvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_yvalue,results[i]));
+ series.add(day,(Number)
results[i].getMemory());
+ }
+ else if(null !=
ProducerUtil.getCustomValue(p_yvalue,results[i]))
+ {
+
System.out.println(LOGDELIM+"adding custom y-axis data ("+p_yvalue+") for:
"+name+" date="+day);
+
//System.out.println(LOGDELIM+"adding custom x-axis data ("+p_xvalue+") for:
"+name);
+ Float yvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_yvalue,results[i]));
+ //Float xvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_xvalue,results[i]));
+ series.add(day,(Number)yvalue);
+ }
+ else
+ {
+
System.out.println(LOGDELIM+"ERROR finding data for test: "+name);
+ }
+ }
+ }
+ }
+ return series;
+ }
+}
Added:
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/ProducerUtil.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/ProducerUtil.java?view=auto&rev=155856
==============================================================================
---
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/ProducerUtil.java
(added)
+++
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/ProducerUtil.java
Tue Mar 1 18:52:21 2005
@@ -0,0 +1,54 @@
+package graphing;
+
+import java.util.HashMap;
+
+import org.openuri.perf.Custom;
+import org.openuri.perf.Result;
+import org.openuri.perf.ResultSetDocument;
+
+public class ProducerUtil
+{
+
+ public static HashMap<Long,String> getFullnamesById(String p_regex,
ResultSetDocument.ResultSet p_resultset)
+ {
+
+ Result[] results = p_resultset.getResultArray();
+ HashMap<Long,String> names = new HashMap<Long,String>();
+ for(int i=0; i<results.length; i++)
+ {
+ String name = results[i].getName();
+ Long id = results[i].getId();
+ Custom[] customs = results[i].getCustomArray();
+
+ if(customs.length > 0)
+ {
+ for(int j=0; j<customs.length; j++)
+ {
+ name =
name+"["+customs[j].getName()+"="+customs[j].getValue()+"]";
+ }
+ }
+
+ if(name.matches(p_regex))
+ {
+ names.put(id,name);
+ }
+ }
+ return names;
+ }
+
+
+ public static String getCustomValue(String p_name, Result p_result)
+ {
+ Custom[] customs = p_result.getCustomArray();
+ for(int i=0; i<customs.length; i++)
+ {
+ if(p_name.equalsIgnoreCase(customs[i].getName()))
+ {
+ return customs[i].getValue();
+ }
+ }
+ return null;
+ }
+
+
+}
\ No newline at end of file
Modified:
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SeriesProducer.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SeriesProducer.java?view=diff&r1=155855&r2=155856
==============================================================================
---
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SeriesProducer.java
(original)
+++
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SeriesProducer.java
Tue Mar 1 18:52:21 2005
@@ -78,7 +78,7 @@
String regex = regexBySeriesName.get(name);
System.out.println(LOGDELIM+"name="+name);
System.out.println(LOGDELIM+"regex="+regex);
- HashMap<Long,String> seriesResultIds =
getFullnamesById(regex,resultset);
+ HashMap<Long,String> seriesResultIds =
ProducerUtil.getFullnamesById(regex,resultset);
dataset.addSeries(getXYSeriesDataset(name,
seriesResultIds,xaxis,yaxis,resultset,customSeries));
}
@@ -120,36 +120,36 @@
else if(p_yvalue.equalsIgnoreCase("time") &&
results[i].isSetTime())
{
System.out.println(LOGDELIM+"adding
y-axis time data for: "+name);
- Float xvalue =
Float.parseFloat(getCustomValue(p_xvalue,results[i]));
+ Float xvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_xvalue,results[i]));
xyseries.add((Number) xvalue,(Number)
results[i].getTime());
}
else if(p_yvalue.equalsIgnoreCase("memory") &&
results[i].isSetMemory())
{
System.out.println(LOGDELIM+"adding
y-axis memory data for: "+name);
- Float xvalue =
Float.parseFloat(getCustomValue(p_xvalue,results[i]));
+ Float xvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_xvalue,results[i]));
xyseries.add((Number) xvalue,(Number)
results[i].getMemory());
}
else if(p_xvalue.equalsIgnoreCase("time") &&
results[i].isSetTime())
{
System.out.println(LOGDELIM+"adding
x-axis time data for: "+name);
- Float yvalue =
Float.parseFloat(getCustomValue(p_yvalue,results[i]));
+ Float yvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_yvalue,results[i]));
System.out.println(LOGDELIM+"adding
y-axis custom data ("+yvalue+") for:"+name);
xyseries.add((Number)results[i].getTime(),(Number)yvalue);
}
else if(p_xvalue.equalsIgnoreCase("memory") &&
results[i].isSetMemory())
{
System.out.println(LOGDELIM+"adding
x-axis memory data for: "+name);
- Float yvalue =
Float.parseFloat(getCustomValue(p_yvalue,results[i]));
+ Float yvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_yvalue,results[i]));
System.out.println(LOGDELIM+"adding
y-axis custom data ("+yvalue+") for:"+name);
xyseries.add((Number)results[i].getMemory(),(Number)yvalue);
}
- else if(null !=
getCustomValue(p_yvalue,results[i]) &&
- null !=
getCustomValue(p_xvalue,results[i]))
+ else if(null !=
ProducerUtil.getCustomValue(p_yvalue,results[i]) &&
+ null !=
ProducerUtil.getCustomValue(p_xvalue,results[i]))
{
System.out.println(LOGDELIM+"adding
custom y-axis data ("+p_yvalue+") for: "+name);
System.out.println(LOGDELIM+"adding
custom x-axis data ("+p_xvalue+") for: "+name);
- Float yvalue =
Float.parseFloat(getCustomValue(p_yvalue,results[i]));
- Float xvalue =
Float.parseFloat(getCustomValue(p_xvalue,results[i]));
+ Float yvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_yvalue,results[i]));
+ Float xvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_xvalue,results[i]));
xyseries.add((Number)xvalue,(Number)yvalue);
}
else
@@ -161,6 +161,7 @@
return xyseries;
}
+ /*
private HashMap<Long,String> getFullnamesById(String p_regex,
ResultSetDocument.ResultSet p_resultset)
{
@@ -199,5 +200,5 @@
}
}
return null;
- }
+ }*/
}
Modified:
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SnapshotProducer.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SnapshotProducer.java?view=diff&r1=155855&r2=155856
==============================================================================
---
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SnapshotProducer.java
(original)
+++
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SnapshotProducer.java
Tue Mar 1 18:52:21 2005
@@ -10,7 +10,7 @@
import org.apache.xmlbeans.XmlException;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.Dataset;
-import org.openuri.perf.Custom;
+//import org.openuri.perf.Custom;
import org.openuri.perf.Result;
import org.openuri.perf.ResultSetDocument;
@@ -60,7 +60,7 @@
// map matching test names to result ids
- HashMap<Long,String> names = getNames(regex,resultset);
+ HashMap<Long,String> names =
ProducerUtil.getFullnamesById(regex,resultset);
return getDefaultDataset(names,xaxis,yaxis,resultset);
}
@@ -88,41 +88,41 @@
{
System.out.println(LOGDELIM+"adding
y-axis time data for: "+name);
if(p_xvalue.equalsIgnoreCase("name") ||
- null ==
getCustomValue(p_xvalue,results[i]))
+ null ==
ProducerUtil.getCustomValue(p_xvalue,results[i]))
dataset.addValue( (Number)
results[i].getTime(), name, name);
else
{
- Float xvalue =
Float.parseFloat(getCustomValue(p_xvalue,results[i]));
+ Float xvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_xvalue,results[i]));
dataset.addValue( (Number)
results[i].getTime(), name, xvalue);
}
}
else if(p_yvalue.equalsIgnoreCase("memory") &&
results[i].isSetMemory())
{
System.out.println(LOGDELIM+"adding
y-axis memory data for: "+name);
- if(null ==
getCustomValue(p_xvalue,results[i]))
+ if(null ==
ProducerUtil.getCustomValue(p_xvalue,results[i]))
dataset.addValue( (Number)
results[i].getMemory(), name, name);
else
{
- Float xvalue =
Float.parseFloat(getCustomValue(p_xvalue,results[i]));
+ Float xvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_xvalue,results[i]));
dataset.addValue( (Number)
results[i].getMemory(), name, xvalue);
}
}
else if(p_xvalue.equalsIgnoreCase("memory") &&
results[i].isSetMemory() &&
- null !=
getCustomValue(p_yvalue,results[i]))
+ null !=
ProducerUtil.getCustomValue(p_yvalue,results[i]))
{
System.out.println(LOGDELIM+"adding
x-axis memory data for: "+p_names.get(results[i].getId()));
- Float yvalue =
Float.parseFloat(getCustomValue(p_yvalue,results[i]));
+ Float yvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_yvalue,results[i]));
System.out.println(LOGDELIM+"adding
y-axis custom data ("+yvalue+") for:"+name);
dataset.addValue( (Number)yvalue, name,
results[i].getMemory());
}
- else if(null !=
getCustomValue(p_yvalue,results[i]) &&
- null !=
getCustomValue(p_xvalue,results[i]))
+ else if(null !=
ProducerUtil.getCustomValue(p_yvalue,results[i]) &&
+ null !=
ProducerUtil.getCustomValue(p_xvalue,results[i]))
{
System.out.println(LOGDELIM+"adding
custom y-axis data ("+p_yvalue+") for: "+name);
System.out.println(LOGDELIM+"adding
custom x-axis data ("+p_xvalue+") for: "+name);
- Float yvalue =
Float.parseFloat(getCustomValue(p_yvalue,results[i]));
- Float xvalue =
Float.parseFloat(getCustomValue(p_xvalue,results[i]));
+ Float yvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_yvalue,results[i]));
+ Float xvalue =
Float.parseFloat(ProducerUtil.getCustomValue(p_xvalue,results[i]));
dataset.addValue( (Number)yvalue, name,
xvalue);
}
else
@@ -134,6 +134,8 @@
return dataset;
}
+
+ /*
private HashMap<Long,String> getNames(String p_regex,
ResultSetDocument.ResultSet p_resultset)
{
@@ -172,5 +174,5 @@
}
}
return null;
- }
+ }*/
}
Modified:
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/Controller.jpf
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/Controller.jpf?view=diff&r1=155855&r2=155856
==============================================================================
---
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/Controller.jpf
(original)
+++
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/Controller.jpf
Tue Mar 1 18:52:21 2005
@@ -46,6 +46,7 @@
@Jpf.Forward(name="tableview",path="tableview.jsp"),
@Jpf.Forward(name="snapshot",path="snapshot.jsp"),
@Jpf.Forward(name="series",path="series.jsp"),
+ @Jpf.Forward(name="history",path="history.jsp"),
@Jpf.Forward(name="xmlbeans",path="xmlbeans.jsp"),
@Jpf.Forward(name="controls",path="controls.jsp"),
@Jpf.Forward(name="error",path="/error.jsp")
@@ -175,6 +176,14 @@
}
@Jpf.Action()
+ protected Forward history()
+ {
+ initializeProperties();
+
getRequest().setAttribute("xmlbeansdir",_props.getProperty("xmlbeansdir"));
+ return new Forward("history");
+ }
+
+ @Jpf.Action()
protected Forward xmlbeans(ReportForm form)
{
initializeProperties();
@@ -213,6 +222,7 @@
getRequest().setAttribute("os",resultSet.getEnvironment().getOs());
// TODO: add appserver from result set if/once available
getRequest().setAttribute("filename",filename);
+
getRequest().setAttribute("xmlbeansdir",_props.getProperty("xmlbeansdir"));
return new Forward("xmlbeans");
}
@@ -256,6 +266,7 @@
getRequest().setAttribute("os",resultSet.getEnvironment().getOs());
getRequest().setAttribute("filename",filename);
//TODO: add appserver from result set if/once available
+
getRequest().setAttribute("controlsdir",_props.getProperty("controlsdir"));
return new Forward("controls");
}
Modified:
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/controls.jsp
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/controls.jsp?view=diff&r1=155855&r2=155856
==============================================================================
---
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/controls.jsp
(original)
+++
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/controls.jsp
Tue Mar 1 18:52:21 2005
@@ -51,7 +51,31 @@
</cewolf:chart>
<p>
<cewolf:img chartid="StrlenPgm" renderer="/cewolf" width="800"
height="800"/>
+ <P>
+
+ <%
+ HashMap<String,String> StrlenHistory = new
HashMap<String,String>();
+ StrlenHistory.put("StrlenPgmTest_standalone","StrlenPgmTest");
+ StrlenHistory.put("StrlenPgmTest_jpf","StrlenPgmJpfTest");
+ %>
+ <jsp:useBean id="strlen_history" class="graphing.HistoryProducer"/>
+ <cewolf:chart
+ id="StrlenHistory"
+ title="String Length Custom Control History"
+ type="timeseries"
+ yaxislabel="time(ms)">
+ <cewolf:data>
+ <cewolf:producer id="strlen_history">
+ <cewolf:param name="dirname"
value="${requestScope.controlsdir}" />
+ <cewolf:param name="regexmap"
value="<%=StrlenHistory%>" />
+ <cewolf:param name="yaxis" value="<%=g_sTime%>" />
+ </cewolf:producer>
+ </cewolf:data>
+ </cewolf:chart>
+ <p>
+ <cewolf:img chartid="StrlenHistory" renderer="/cewolf"
width="800" height="600"/>
<P>
+
<%
HashMap<String,String> VarargsPgmSeries = new
HashMap<String,String>();
Modified:
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/tableview.jsp
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/tableview.jsp?view=diff&r1=155855&r2=155856
==============================================================================
---
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/tableview.jsp
(original)
+++
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/tableview.jsp
Tue Mar 1 18:52:21 2005
@@ -59,6 +59,7 @@
<td id="RESULT HEADINGS">Test
Name</td>
<td id="RESULT
HEADINGS">Time</td>
<td id="RESULT
HEADINGS">Memory</td>
+ <td id="RESULT
HEADINGS">Hash</td>
<td id="RESULT
HEADINGS">Note</td>
<td id="RESULT HEADINGS">Custom
Data</td>
</tr>
@@ -70,6 +71,7 @@
<td id="RESULT TESTNAME"><%
out.print(results[i].getName()); %></td>
<td id="RESULT TIME"><%
out.print(results[i].getTime()); %></td>
<td id="RESULT MEMORY"><%
out.print(results[i].getMemory()); %></td>
+ <td id="RESULT HASH"><%
out.print(results[i].getHash()); %></td>
<td id="RESULT NOTE"><%
out.print(results[i].getNote()); %></td>
<%
Custom[] customs =
results[i].getCustomArray();
Modified:
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/xmlbeans.jsp
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/xmlbeans.jsp?view=diff&r1=155855&r2=155856
==============================================================================
---
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/xmlbeans.jsp
(original)
+++
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/xmlbeans.jsp
Tue Mar 1 18:52:21 2005
@@ -35,8 +35,9 @@
<!-- chart postprocessor(s) -->
<jsp:useBean id="verticalxlabel"
class="graphing.postprocessors.VerticalXLabel"/>
- <!-- Time Snapshot Plots -->
+
+ <!-- CURSOR WALK PLOTS -->
<% String CursorWalk = "CursorWalk.*";%>
<jsp:useBean id="cursorwalk_data" class="graphing.SnapshotProducer"/>
<cewolf:chart
@@ -58,6 +59,34 @@
<cewolf:img chartid="CursorWalk" renderer="/cewolf" width="800"
height="800"/>
<P>
+ <%
+ HashMap<String,String> CursorWalkHistory = new
HashMap<String,String>();
+
CursorWalkHistory.put("CursorWalkV2_deep-attributes",".*CursorWalkV2.*deep-attributes.*");
+
CursorWalkHistory.put("CursorWalkV2_deep-elements",".*CursorWalkV2.*deep-elements.*");
+
CursorWalkHistory.put("CursorWalkV2_wide-attributes",".*CursorWalkV2.*wide-attributes.*");
+
CursorWalkHistory.put("CursorWalkV2_wide-elements",".*CursorWalkV2.*wide-elements.*");
+
CursorWalkHistory.put("CursorWalkV2_wide-text",".*CursorWalkV2.*wide-text.*");
+ %>
+ <jsp:useBean id="cursorwalk_history"
class="graphing.HistoryProducer"/>
+ <cewolf:chart
+ id="CursorWalkHistory"
+ title="V2 Cursor Walk History"
+ type="timeseries"
+ yaxislabel="time(ms)">
+ <cewolf:data>
+ <cewolf:producer id="cursorwalk_history">
+ <cewolf:param name="dirname"
value="${requestScope.xmlbeansdir}" />
+ <cewolf:param name="regexmap"
value="<%=CursorWalkHistory%>" />
+ <cewolf:param name="yaxis" value="<%=g_sTime%>" />
+ </cewolf:producer>
+ </cewolf:data>
+ </cewolf:chart>
+ <p>
+ <cewolf:img chartid="CursorWalkHistory" renderer="/cewolf"
width="800" height="600"/>
+ <P>
+
+
+ <!-- CURSOR GET(SET/GET) PLOTS -->
<% String CursorGetSetGet = "CursorGet.*";%>
<jsp:useBean id="cursorgetsetget_data"
class="graphing.SnapshotProducer"/>
<cewolf:chart
@@ -79,6 +108,39 @@
<cewolf:img chartid="CursorGetSetGet" renderer="/cewolf"
width="800" height="800"/>
<P>
+ <%
+ HashMap<String,String> CursorGetSetGetHistory = new
HashMap<String,String>();
+ // get
+
CursorGetSetGetHistory.put("CursorGetAttributeV2_deep-attributes",".*CursorGetAttributeV2.*deep-attributes.*");
+
CursorGetSetGetHistory.put("CursorGetAttributeV2_wide-attributes",".*CursorGetAttributeV2.*wide-attributes.*");
+
CursorGetSetGetHistory.put("CursorGetElementV2_deep-elements",".*CursorGetElementV2.*deep-elements.*");
+
CursorGetSetGetHistory.put("CursorGetElementV2_wide-elements",".*CursorGetElementV2.*wide-elements.*");
+ // get-set-get
+
CursorGetSetGetHistory.put("CursorGetSetGetAttributeV2_deep-attributes",".*CursorGetSetGetAttributeV2.*deep-attributes.*");
+
CursorGetSetGetHistory.put("CursorGetSetGetAttributeV2_wide-attributes",".*CursorGetSetGetAttributeV2.*wide-attributes.*");
+
CursorGetSetGetHistory.put("CursorGetSetGetElementV2_deep-elements",".*CursorGetSetGetElementV2.*deep-elements.*");
+
CursorGetSetGetHistory.put("CursorGetSetGetElementV2_wide-elements",".*CursorGetSetGetElementV2.*wide-elements.*");
+ %>
+ <jsp:useBean id="cursorgetsetget_history"
class="graphing.HistoryProducer"/>
+ <cewolf:chart
+ id="CursorGetSetGetHistory"
+ title="V2 Cursor Get(Set/Get) History"
+ type="timeseries"
+ yaxislabel="time(ms)">
+ <cewolf:data>
+ <cewolf:producer id="cursorgetsetget_history">
+ <cewolf:param name="dirname"
value="${requestScope.xmlbeansdir}" />
+ <cewolf:param name="regexmap"
value="<%=CursorGetSetGetHistory%>" />
+ <cewolf:param name="yaxis" value="<%=g_sTime%>" />
+ </cewolf:producer>
+ </cewolf:data>
+ </cewolf:chart>
+ <p>
+ <cewolf:img chartid="CursorGetSetGetHistory" renderer="/cewolf"
width="800" height="600"/>
+ <P>
+
+
+ <!-- BUFFERED INPUT STREAM LOAD PLOTS -->
<% String BisLoad = "BisLoad.*";%>
<jsp:useBean id="bisload_data" class="graphing.SnapshotProducer"/>
<cewolf:chart
@@ -100,6 +162,35 @@
<cewolf:img chartid="BisLoad" renderer="/cewolf" width="1000"
height="800"/>
<P>
+ <%
+ HashMap<String,String> BisLoadHistory = new
HashMap<String,String>();
+ // get
+
BisLoadHistory.put("BisLoadV2_deep-attributes","BisLoadV2.*deep-attributes.*");
+
BisLoadHistory.put("BisLoadV2_deep-elements","BisLoadV2.*deep-elements.*");
+
BisLoadHistory.put("BisLoadV2_wide-attributes","BisLoadV2.*wide-attributes.*");
+
BisLoadHistory.put("BisLoadV2_wide-elements","BisLoadV2.*wide-elements.*");
+
BisLoadHistory.put("BisLoadV2_wide-text","BisLoadV2.*wide-text.*");
+ %>
+ <jsp:useBean id="bisload_history" class="graphing.HistoryProducer"/>
+ <cewolf:chart
+ id="BisLoadHistory"
+ title="V2 Buffered Input Stream History"
+ type="timeseries"
+ yaxislabel="time(ms)">
+ <cewolf:data>
+ <cewolf:producer id="bisload_history">
+ <cewolf:param name="dirname"
value="${requestScope.xmlbeansdir}" />
+ <cewolf:param name="regexmap"
value="<%=BisLoadHistory%>" />
+ <cewolf:param name="yaxis" value="<%=g_sTime%>" />
+ </cewolf:producer>
+ </cewolf:data>
+ </cewolf:chart>
+ <p>
+ <cewolf:img chartid="BisLoadHistory" renderer="/cewolf"
width="800" height="600"/>
+ <P>
+
+
+ <!-- DOME WALK PLOTS -->
<% String DomWalk = "DomWalk.*";%>
<jsp:useBean id="domwalk_data" class="graphing.SnapshotProducer"/>
<cewolf:chart
@@ -120,6 +211,39 @@
<p>
<cewolf:img chartid="DomWalk" renderer="/cewolf" width="1000"
height="800"/>
<P>
+
+ <%
+ HashMap<String,String> DomWalkHistory = new
HashMap<String,String>();
+ // get
+
DomWalkHistory.put("DomWalkV2_deep-attributes","DomWalkV2.*deep-attributes.*");
+
DomWalkHistory.put("DomWalkNLV2_deep-attributes","DomWalkNLV2.*deep-attributes.*");
+
DomWalkHistory.put("DomWalkV2_deep-elements","DomWalkV2.*deep-elements.*");
+
DomWalkHistory.put("DomWalkNLV2_deep-elements","DomWalkNLV2.*deep-elements.*");
+
DomWalkHistory.put("DomWalkV2_wide-attributes","DomWalkV2.*wide-attributes.*");
+
DomWalkHistory.put("DomWalkNLV2_wide-attributes","DomWalkNLV2.*wide-attributes.*");
+
DomWalkHistory.put("DomWalkV2_wide-elements","DomWalkV2.*wide-elements.*");
+
DomWalkHistory.put("DomWalkNLV2_wide-elements","DomWalkNLV2.*wide-elements.*");
+
DomWalkHistory.put("DomWalkV2_wide-text","DomWalkV2.*wide-text.*");
+
DomWalkHistory.put("DomWalkNLV2_wide-text","DomWalkNLV2.*wide-text.*");
+ %>
+ <jsp:useBean id="domwalk_history" class="graphing.HistoryProducer"/>
+ <cewolf:chart
+ id="DomWalkHistory"
+ title="Dom Walk History History"
+ type="timeseries"
+ yaxislabel="time(ms)">
+ <cewolf:data>
+ <cewolf:producer id="domwalk_history">
+ <cewolf:param name="dirname"
value="${requestScope.xmlbeansdir}" />
+ <cewolf:param name="regexmap"
value="<%=DomWalkHistory%>" />
+ <cewolf:param name="yaxis" value="<%=g_sTime%>" />
+ </cewolf:producer>
+ </cewolf:data>
+ </cewolf:chart>
+ <p>
+ <cewolf:img chartid="DomWalkHistory" renderer="/cewolf"
width="800" height="600"/>
+ <P>
+
<% String POValidate = "POValidate.*";%>
<jsp:useBean id="povalidate_data" class="graphing.SnapshotProducer"/>