@@ 147-164 (lines=18) @@ | ||
144 | def value(self, value): |
|
145 | self.cache_value = value |
|
146 | ||
147 | def _trim_window(self): |
|
148 | now = time.time() |
|
149 | if self.cache_start and now - self.cache_start > self.window_interval: |
|
150 | self.values.append(self.cache_value) |
|
151 | self.events.append(self.cache_event) |
|
152 | self.times.append(self.cache_start) |
|
153 | self.on_append(self.cache_value, self.cache_start) |
|
154 | self.cache_value = 0 |
|
155 | self.cache_start = None |
|
156 | ||
157 | if self.window_size != self.max_window_size and self._first_data_time is not None: |
|
158 | time_passed = now - self._first_data_time |
|
159 | self.window_size = min(self.max_window_size, time_passed / self.window_interval) |
|
160 | window_limit = now - self.window_size * self.window_interval |
|
161 | while self.times and self.times[0] < window_limit: |
|
162 | self.times.popleft() |
|
163 | self.events.popleft() |
|
164 | self.values.popleft() |
|
165 | ||
166 | @property |
|
167 | def avg(self): |
|
@@ 226-241 (lines=16) @@ | ||
223 | def value(self, value): |
|
224 | self.cache_value = value |
|
225 | ||
226 | def _trim_window(self): |
|
227 | now = time.time() |
|
228 | if self.cache_start and now - self.cache_start > self.window_interval: |
|
229 | self.values.append(self.cache_value) |
|
230 | self.times.append(self.cache_start) |
|
231 | self.on_append(self.cache_value, self.cache_start) |
|
232 | self.cache_value = 0 |
|
233 | self.cache_start = None |
|
234 | ||
235 | if self.window_size != self.max_window_size and self._first_data_time is not None: |
|
236 | time_passed = now - self._first_data_time |
|
237 | self.window_size = min(self.max_window_size, time_passed / self.window_interval) |
|
238 | window_limit = now - self.window_size * self.window_interval |
|
239 | while self.times and self.times[0] < window_limit: |
|
240 | self.times.popleft() |
|
241 | self.values.popleft() |
|
242 | ||
243 | @property |
|
244 | def avg(self): |