Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
ProbeManager |
|
| 1.0;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 | } |