Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Total time: 26.8113 s
- File: /home/amanda-simbiose/Documents/API_s1search/slicing_dice-api_python3/api/tests/insertion_performance/wrk_scripts/insert_for_profile.py
- Function: index_many_times at line 63
- /usr/lib/python3.6/asyncio/events.py:127: RuntimeWarning: coroutine 'KafkaIndexer.run' was never awaited
- self._callback(*self._args)
- Line # Hits Time Per Hit % Time Line Contents
- ==============================================================
- 63 async def index_many_times():
- 64 10001 34022.0 3.4 0.1 for i in range(10000):
- 65 10000 126467.0 12.6 0.5 client = await util.get_s1_client(test=False)
- 66 10000 239914.0 24.0 0.9 param_list = {'data': {'entity100': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity101': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity102': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity103': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity104': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity105': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity106': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity107': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity108': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity109': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1010': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1011': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1012': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1013': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1014': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1015': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1016': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1017': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1018': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1019': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1020': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1021': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1022': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1023': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1024': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1025': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1026': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1027': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1028': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1029': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1030': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1031': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1032': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1033': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1034': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1035': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1036': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1037': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1038': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1039': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1040': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1041': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1042': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1043': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1044': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1045': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1046': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1047': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1048': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}, 'entity1049': {'string-test-field': 'valueqqr', 'boolean-test-field': 'false', 'numeric-test-field': 151515115, 'date-test-field': '2010-04-12', 'decimal-test-field': 1515.8}}, 'meta': {'project_id': '37251', 'test': False, 'group': '933_37251', 'entities': {'entity100': 2011850, 'entity101': 2006696, 'entity102': 3001210, 'entity103': 2001214, 'entity104': 2001204, 'entity105': 1681, 'entity106': 1671, 'entity107': 1001179, 'entity108': 1001169, 'entity109': 1001159, 'entity1010': 3001195, 'entity1011': 3001185, 'entity1012': 2001189, 'entity1013': 2001179, 'entity1014': 1001152, 'entity1015': 1001142, 'entity1016': 3001178, 'entity1017': 3001168, 'entity1018': 1660, 'entity1019': 1650, 'entity1020': 1640, 'entity1021': 2001164, 'entity1022': 2001154, 'entity1023': 1001127, 'entity1024': 1001117, 'entity1025': 3001153, 'entity1026': 3001143, 'entity1027': 1635, 'entity1028': 1625, 'entity1029': 2001149, 'entity1030': 2001139, 'entity1031': 2001129, 'entity1032': 2001118, 'entity1033': 2001108, 'entity1034': 1001104, 'entity1035': 1001094, 'entity1036': 1610, 'entity1037': 1600, 'entity1038': 2001101, 'entity1039': 2001091, 'entity1040': 1591, 'entity1041': 1581, 'entity1042': 1571, 'entity1043': 3001103, 'entity1044': 3001093, 'entity1045': 1001058, 'entity1046': 1001048, 'entity1047': 1564, 'entity1048': 1554, 'entity1049': 3001132}}}
- 67
- 68 """
- 69 This function validates and sends the param_list to the specific queue
- 70 for each users. The client is token aware
- 71 :param param_list: The list of parameters to index. Each item must have
- 72 a property 'id'.
- 73 :type param_list: array of objects.
- 74 :returns: a list of all generated recids
- 75 """
- 76 10000 49475.0 4.9 0.2 if not isinstance(param_list, list):
- 77 10000 35636.0 3.6 0.1 param_list = [param_list]
- 78
- 79 10000 55108.0 5.5 0.2 indexation_per_shard = defaultdict(list)
- 80
- 81 10000 31377.0 3.1 0.1 is_new_format = True
- 82 20000 87649.0 4.4 0.3 for item in param_list:
- 83 10000 31872.0 3.2 0.1 if is_new_format:
- 84
- 85 510000 1644522.0 3.2 6.1 for entity, shard_for_entity in item["meta"]["entities"].items():
- 86 500000 5819984.0 11.6 21.7 shard = client.get_shard_id(shard_for_entity)
- 87
- 88 500000 2250925.0 4.5 8.4 if shard in indexation_per_shard:
- 89 460000 1914855.0 4.2 7.1 indexation_item_list = indexation_per_shard[shard]
- 90
- 91 indexation_item = \
- 92 460000 2022991.0 4.4 7.5 indexation_per_shard[shard][len(indexation_item_list) - 1]
- 93
- 94 460000 1638716.0 3.6 6.1 indexation_item["data"][entity] = item["data"][entity]
- 95 460000 1586820.0 3.4 5.9 indexation_item["meta"]["entities"][entity] = shard_for_entity
- 96 else:
- 97 40000 131905.0 3.3 0.5 indexation_item = {}
- 98 40000 135220.0 3.4 0.5 indexation_item["data"] = {}
- 99
- 100 40000 141414.0 3.5 0.5 indexation_item["data"][entity] = item["data"][entity]
- 101 40000 130909.0 3.3 0.5 indexation_item["meta"] = {}
- 102 40000 136659.0 3.4 0.5 indexation_item["meta"]["group"] = item["meta"]["group"]
- 103 40000 133627.0 3.3 0.5 indexation_item["meta"]["test"] = item["meta"]["test"]
- 104 40000 133051.0 3.3 0.5 indexation_item["meta"]["project_id"] = item["meta"]["project_id"]
- 105
- 106 40000 130311.0 3.3 0.5 if "reindexing" in item["meta"]:
- 107 indexation_item["meta"]["reindexing"] = \
- 108 item["meta"]["reindexing"]
- 109
- 110 40000 135906.0 3.4 0.5 indexation_item["meta"]["entities"] = {}
- 111 40000 133017.0 3.3 0.5 indexation_item["meta"]["entities"][entity] =shard_for_entity
- 112 40000 271638.0 6.8 1.0 indexation_per_shard[shard].append(indexation_item)
- 113
- 114 else:
- 115 shard = client.get_shard_id(item['id'])
- 116 indexation_per_shard[shard].append(item)
- 117
- 118 # if client.record_ids_generation_mode == "server_side":
- 119 # await index.index_record_id_server_side(client, indexation_per_shard)
- 120 # elif client.record_ids_generation_mode == "client_side":
- 121 # await index_record_id_client_side(client, indexation_per_shard, is_new_format)
- 122 # else:
- 123 # logging.error("Invalid recordIds generation mode!")
- 124 #
- 125 #
- 126 # async def index_record_id_client_side(client, indexation_per_shard, is_new_format):
- 127 10000 44973.0 4.5 0.2 record_ids_by_shard = {}
- 128
- 129 10000 76850.0 7.7 0.3 rec_timestamp = int(time.time() * 1000)
- 130
- 131 # Create indexing tasks
- 132 10000 283751.0 28.4 1.1 tasks = []
- 133
- 134 50000 195057.0 3.9 0.7 for shard, items in indexation_per_shard.items():
- 135 40000 127669.0 3.2 0.5 try:
- 136 40000 260969.0 6.5 1.0 record_ids_by_shard[shard] = index.record_id_generator.get_record_ids(shard,len(items))
- 137 40000 127731.0 3.2 0.5 except:
- 138 40000 234874.0 5.9 0.9 record_ids_by_shard[shard] = []
- 139
- 140 40000 178036.0 4.5 0.7 record_ids = record_ids_by_shard[shard]
- 141
- 142 80000 286975.0 3.6 1.1 for indexation in items:
- 143 40000 126642.0 3.2 0.5 if is_new_format:
- 144 40000 129812.0 3.2 0.5 indexation_meta_data = indexation["meta"]
- 145
- 146 40000 133071.0 3.3 0.5 if "record_id" not in indexation_meta_data:
- 147 40000 126353.0 3.2 0.5 try:
- 148 40000 145861.0 3.6 0.5 if len(record_ids)>=1:
- 149 record_id = record_ids.pop(0)
- 150 indexation_meta_data["record_id"] = record_id
- 151 else:
- 152 40000 320071.0 8.0 1.2 date_ = time.strftime("%d%m%Y")
- 153 40000 486608.0 12.2 1.8 if not client.record_ids_dict:
- 154 1 18.0 18.0 0.0 create_record_ids_directory(client)
- 155 1 3437.0 3437.0 0.0 client.record_ids_dict = shelve.open(get_record_ids_file_name(client))
- 156
- 157 1 4.0 4.0 0.0 recid_dict = client.record_ids_dict
- 158
- 159 40000 185002.0 4.6 0.7 if len(recid_dict) == 0:
- 160 1 143.0 143.0 0.0 recid_dict = get_record_id_dict(client)
- 161 40000 913537.0 22.8 3.4 if date_ != recid_dict.get("date", None):
- 162 1 21.0 21.0 0.0 recid_dict.clear()
- 163 1 41.0 41.0 0.0 recid_dict['date'] = date_
- 164
- 165 40000 191487.0 4.8 0.7 key = str(shard.id)
- 166 40000 665426.0 16.6 2.5 record_id_value = recid_dict.get(key, None)
- 167
- 168 40000 136373.0 3.4 0.5 if record_id_value is None:
- 169 4 22.0 5.5 0.0 recid_dict = get_record_id_dict(client)
- 170 4 16.0 4.0 0.0 record_id_value = recid_dict.get(key, 0)
- 171 4 42.0 10.5 0.0 recid_dict[key] = record_id_value + 1
- 172 else:
- 173 39996 981933.0 24.6 3.7 recid_dict[key] += 1
- 174
- 175 40000 156581.0 3.9 0.6 if client not in ALREADY_REGISTERED_CLIENT:
- 176 1 3.0 3.0 0.0 atexit.register(save_record_ids_dict, client)
- 177 1 3.0 3.0 0.0 ALREADY_REGISTERED_CLIENT.add(client)
- 178
- 179 40000 234293.0 5.9 0.9 result = "{}#{}#{}".format(record_id_value, date_, client.origin)
- 180 40000 143631.0 3.6 0.5 indexation_meta_data["record_id"] =result
- 181 #await client.get_auto_generated_recid(shard)
- 182 except Exception as e:
- 183 logging.error(
- 184 "Error trying to generate recordId: %s" % e,
- 185 exc_info=True)
- 186
- 187 40000 136838.0 3.4 0.5 if "record_timestamp" not in indexation_meta_data:
- 188 40000 153771.0 3.8 0.6 indexation_meta_data["record_timestamp"] = rec_timestamp
- 189 else:
- 190 records = indexation['records']
- 191
- 192 for record in records:
- 193 if 'rec_id' not in record:
- 194 try:
- 195 record['rec_id'] = record_ids.pop(0)
- 196 except IndexError:
- 197 record['rec_id'] = \
- 198 await client.get_auto_generated_recid(shard)
- 199 except Exception as e:
- 200 logging.error(
- 201 "Error trying to generate recordId: %s" % e,
- 202 exc_info=True)
- 203
- 204 if 'rec_timestamp' not in record:
- 205 record['rec_timestamp'] = rec_timestamp
- 206
- 207 40000 289539.0 7.2 1.1 task = client.indexer.run(topic_id=shard, items=items)
- 208 40000 149844.0 3.7 0.6 tasks.append(task)
- Process finished with exit code 0
Add Comment
Please, Sign In to add comment