|
8 | 8 | from splitio.models.telemetry import get_latency_bucket_index, TRACK |
9 | 9 | from splitio.client import input_validator |
10 | 10 | from splitio.util import utctime_ms |
11 | | - |
| 11 | +from splitio.api.commons import get_current_epoch_time |
12 | 12 |
|
13 | 13 | _LOGGER = logging.getLogger(__name__) |
14 | 14 |
|
@@ -93,7 +93,7 @@ def _make_evaluation(self, key, feature, attributes, method_name, metric_name): |
93 | 93 | _LOGGER.error("Client is not ready - no calls possible") |
94 | 94 | return CONTROL, None |
95 | 95 |
|
96 | | - start = int(round(time.time() * 1000)) |
| 96 | + start = get_current_epoch_time() |
97 | 97 |
|
98 | 98 | matching_key, bucketing_key = input_validator.validate_key(key, method_name) |
99 | 99 | feature = input_validator.validate_feature_name( |
@@ -149,7 +149,7 @@ def _make_evaluations(self, key, features, attributes, method_name, metric_name) |
149 | 149 | _LOGGER.error("Client is not ready - no calls possible") |
150 | 150 | return input_validator.generate_control_treatments(features, method_name) |
151 | 151 |
|
152 | | - start = int(round(time.time() * 1000)) |
| 152 | + start = get_current_epoch_time() |
153 | 153 |
|
154 | 154 | matching_key, bucketing_key = input_validator.validate_key(key, method_name) |
155 | 155 | if matching_key is None and bucketing_key is None: |
@@ -209,7 +209,7 @@ def _make_evaluations(self, key, features, attributes, method_name, metric_name) |
209 | 209 | _LOGGER.debug('Error: ', exc_info=True) |
210 | 210 | self._telemetry_evaluation_producer.record_exception(method_name[4:]) |
211 | 211 |
|
212 | | - self._telemetry_evaluation_producer.record_latency(method_name[4:], int(round(time.time() * 1000)) - start) |
| 212 | + self._telemetry_evaluation_producer.record_latency(method_name[4:], get_current_epoch_time() - start) |
213 | 213 | return treatments |
214 | 214 | except Exception: # pylint: disable=broad-except |
215 | 215 | self._telemetry_evaluation_producer.record_exception(method_name) |
@@ -347,7 +347,7 @@ def _record_stats(self, impressions, start, operation, method_name=None): |
347 | 347 | :param operation: operation performed. |
348 | 348 | :type operation: str |
349 | 349 | """ |
350 | | - end = int(round(time.time() * 1000)) |
| 350 | + end = get_current_epoch_time() |
351 | 351 | self._recorder.record_treatment_stats(impressions, get_latency_bucket_index(end - start), |
352 | 352 | operation) |
353 | 353 | if not method_name == None: |
@@ -382,7 +382,7 @@ def track(self, key, traffic_type, event_type, value=None, properties=None): |
382 | 382 | _LOGGER.warn("track: the SDK is not ready, results may be incorrect. Make sure to wait for SDK readiness before using this method") |
383 | 383 | self._telemetry_init_producer.record_not_ready_usage() |
384 | 384 |
|
385 | | - start = int(round(time.time() * 1000)) |
| 385 | + start = get_current_epoch_time() |
386 | 386 | key = input_validator.validate_track_key(key) |
387 | 387 | event_type = input_validator.validate_event_type(event_type) |
388 | 388 | should_validate_existance = self.ready and self._factory._apikey != 'localhost' # pylint: disable=protected-access |
@@ -412,7 +412,7 @@ def track(self, key, traffic_type, event_type, value=None, properties=None): |
412 | 412 | event=event, |
413 | 413 | size=size, |
414 | 414 | )]) |
415 | | - self._telemetry_evaluation_producer.record_latency(TRACK, int(round(time.time() * 1000)) - start) |
| 415 | + self._telemetry_evaluation_producer.record_latency(TRACK, get_current_epoch_time() - start) |
416 | 416 | if not return_flag: |
417 | 417 | self._telemetry_evaluation_producer.record_exception(TRACK) |
418 | 418 |
|
|
0 commit comments