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"/>


Reply via email to