def set_opration_tic(self, task_name): if self.is_should_disable(): return if task_name: self.user_event_list[task_name] = Utils.get_millisecond() self.is_event_make_pair[task_name] = False
def __build_upload_data(self): sysEvent = { 'preEventList': {}, 'postEventList': {}, 'eventCostTime': self.event_cost_time, 'deviceEventCostTime': self.device_event_cost_time } timestamp = Utils.get_millisecond() retData = { 'serviceData': { 'sdkType': self.config.get_sdk_type(), 'sdkVersion': self.config.get_sdk_version(), 'requestId': self.request.get_request_id(), 'query': self.request.get_query(), 'reason': self.request.get_reson(), 'deviceId': self.request.get_device_id(), 'requestType': self.request.get_type(), 'userId': self.request.get_user_id(), 'intentName': self.request.get_intent_name(), 'sessionId': self.request.get_session_id(), 'location': self.request.get_location(), 'slotToElicit': self.response.get_slot_name(), 'shouldEndSession': self.response.get_should_end_session(), 'outputSpeech': self.response.get_output_speech(), 'reprompt': self.response.get_reprompt(), 'audioUrl': self.audio_url, 'appInfo': { 'appName': self.app_name, 'packageName': self.package_name, 'deepLink': self.deep_link }, 'requestStartTime': self.request_start_time, 'requestEndTime': self.request_end_time, 'timestamp': timestamp, 'sysEvent': sysEvent, 'userEvent': self.user_event_list } } orginData = json.dumps(retData) logging.info('数据统计原始数据:' + orginData) base64Data = str(base64.b64encode(orginData.encode('utf-8'))) # logging.info('数据统计加密数据:' + base64Data) if self.environment == 0: pkversion = 'debug' else: pkversion = 'online' return (base64Data, timestamp, pkversion)
def set_opration_toc(self, task_name): if self.is_should_disable(): return if task_name: if task_name in self.user_event_list: old_time = self.user_event_list[task_name] else: old_time = None cost_time = 0 if old_time: curr_time = Utils.get_millisecond() cost_time = curr_time - old_time self.user_event_list[task_name] = cost_time self.is_event_make_pair[task_name] = True
def __init__(self, post_data, private_key=None): if not isinstance(post_data, dict): post_data = json.loads(post_data) self.data = post_data self.request_start_time = Utils.get_millisecond() self.request_end_time = 0 self.request = Request(post_data) self.audio_url = None self.app_name = None self.package_name = None self.deep_link = None self.event_start_time = 0 self.event_cost_time = 0 self.device_event_start_time = 0 self.device_event_cost_time = 0 self.user_event_list = {} self.is_event_make_pair = {} self.config = BotMonitorConfig() self.private_key = private_key self.environment = 0 self.enabled = False self.certificate = None self.response = None
def set_device_event_end(self): if self.is_should_disable(): return self.device_event_cost_time = Utils.get_millisecond( ) - self.device_event_start_time
def set_event_start(self): if self.is_should_disable(): return self.event_start_time = Utils.get_millisecond()
def set_response_data(self, response_data): if self.is_should_disable(): return self.request_end_time = Utils.get_millisecond() self.response = Response(response_data)