Coverage Report - net.sf.jperfprobe.ProbeManager
 
Classes in this File Line Coverage Branch Coverage Complexity
ProbeManager
N/A
N/A
1
 
 1  
 package net.sf.jperfprobe;
 2  
 
 3  
 import java.util.*;
 4  
 
 5  
 /**
 6  
  * Created by IntelliJ IDEA.
 7  
  * User: tel
 8  
  * Date: Aug 28, 2009
 9  
  * Time: 12:23:26 AM
 10  
  * To change this template use File | Settings | File Templates.
 11  
  */
 12  
 public interface ProbeManager {
 13  
     /**
 14  
      * Put a probe into the manager, if the probe exist it will be overwritten. This makes it possible
 15  
      * to create a Probe outside the ProbeManager and insert it later.
 16  
      *
 17  
      * @param probeName
 18  
      * @param probe
 19  
      */
 20  
     void put(String probeName, Probe probe);
 21  
 
 22  
     /**
 23  
      * Get a result for a given probe
 24  
      *
 25  
      * @param probeName
 26  
      * @return Result
 27  
      */
 28  
     Result getResult(String probeName);
 29  
 
 30  
     /**
 31  
      * Get all the results
 32  
      *
 33  
      * @return
 34  
      */
 35  
     Collection<Result> getResults();
 36  
 
 37  
     /**
 38  
      * Get instance of a named probe, if it is non existent, a probe will be created.
 39  
      * There will be created a probe for each thread.
 40  
      *
 41  
      * @param probeName identifying name of probe
 42  
      * @return probe, null if it cant look it up
 43  
      */
 44  
     Probe getProbeInstance(String probeName);
 45  
 
 46  
     /**
 47  
      * Start probe, identified by probeName, if the probe does not exist, it will be created. see getProbeInstance
 48  
      *
 49  
      * @param probeName name of existing or new probe.
 50  
      */
 51  
     Probe start(String probeName);
 52  
 
 53  
     /**
 54  
      * Start probe, this probe is global for all threads, no thread private
 55  
      * @param probeName
 56  
      * @return
 57  
      */
 58  
     Probe startSingle(String probeName);
 59  
 
 60  
     /**
 61  
      * Stop timing. If its non existent, no time or sample will be registered.
 62  
      *
 63  
      * @param probeName name of probe to stop
 64  
      */
 65  
     void stop(String probeName);
 66  
 
 67  
     /**
 68  
      * Add a sample from a probe. The probe does not need to be managed by ProbeManager
 69  
      *
 70  
      * @param p
 71  
      */
 72  
     void addSampleFromProbe(Probe p);
 73  
 
 74  
     /**
 75  
      * Clear result for named probe
 76  
      *
 77  
      * @param probeName
 78  
      */
 79  
     void clear(String probeName);
 80  
 
 81  
     /**
 82  
      * Clear results for all probes
 83  
      */
 84  
     void clear();
 85  
 
 86  
     /**
 87  
      * Disable probe
 88  
      *
 89  
      * @param probeName
 90  
      */
 91  
     void disable(String probeName);
 92  
 
 93  
     /**
 94  
      * Disable all probes.
 95  
      */
 96  
     void disable();
 97  
 
 98  
     /**
 99  
      * Enable a named probe
 100  
      *
 101  
      * @param probeName
 102  
      */
 103  
     void enable(String probeName);
 104  
 
 105  
     /**
 106  
      * Enable all probes.
 107  
      */
 108  
     void enable();
 109  
 
 110  
     /**
 111  
      * Set the presentation unit for presentation.
 112  
      *
 113  
      * @param p presentation to set
 114  
      */
 115  
     void setPresentation(ProbeManagerImpl.Presentation p);
 116  
 
 117  
     /**
 118  
      * The the # of first samples to skip
 119  
      * @return
 120  
      */
 121  
     int getFirstSamplesToSkip();
 122  
 
 123  
     /**
 124  
      * Set how many samples to skip in the calculation of statistics. If set to ie. 5, the first 5 samples will
 125  
      * not be taken into account when calculating max/min/n#samples and average.
 126  
      *
 127  
      * @param _firstSamplesToSkip
 128  
      */
 129  
     void setFirstSamplesToSkip(int _firstSamplesToSkip);
 130  
 
 131  
     /**
 132  
      * Get the current presentation for the manager
 133  
      *
 134  
      * @return presentation
 135  
      */
 136  
     ProbeManagerImpl.Presentation getPresentation();
 137  
 
 138  
     /**
 139  
      * Set the Time implementation.
 140  
      *
 141  
      * @param tim
 142  
      */
 143  
     void setTime(Time tim);
 144  
 
 145  
     /**
 146  
      * Get the time implementation
 147  
      *
 148  
      * @return
 149  
      */
 150  
     Time getTime();
 151  
 
 152  
     /**
 153  
      * Get result as a string
 154  
      *
 155  
      * @param probe
 156  
      * @return result
 157  
      */
 158  
     String toString(String probe);
 159  
 
 160  
     /**
 161  
      * Get all samples from a probe, as a string newline delimited
 162  
      *
 163  
      * @param probe
 164  
      * @return samples
 165  
      */
 166  
     long[] getSamples(String probe);
 167  
 
 168  
     /**
 169  
      * Get all probe names in the ProbeManager
 170  
      *
 171  
      * @return probename
 172  
      */
 173  
     String[] getNames();
 174  
 }