)]}'
{"tools/make_test_data.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"4b21cdad971096e382d0fe4b18d3dd0b5873d845","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    )"},{"line_number":169,"context_line":"    parser.add_argument("},{"line_number":170,"context_line":"        \u0027--counter\u0027,"},{"line_number":171,"context_line":"        default\u003d\u0027instance\u0027,"},{"line_number":172,"context_line":"        help\u003d\u0027The counter name for the meter data.\u0027,"},{"line_number":173,"context_line":"    )"},{"line_number":174,"context_line":"    parser.add_argument("}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_162362ab","line":171,"updated":"2014-12-05 04:42:39.000000000","message":"dest\u003d\u0027name\u0027,","commit_id":"40f10e4281e55ad3ee60ca0d14a97d24c79896bb"},{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"da1aab168745047c3cdf33003e52079aa5a40fc5","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    )"},{"line_number":169,"context_line":"    parser.add_argument("},{"line_number":170,"context_line":"        \u0027--counter\u0027,"},{"line_number":171,"context_line":"        default\u003d\u0027instance\u0027,"},{"line_number":172,"context_line":"        help\u003d\u0027The counter name for the meter data.\u0027,"},{"line_number":173,"context_line":"    )"},{"line_number":174,"context_line":"    parser.add_argument("}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_80329b5c","line":171,"in_reply_to":"5a890539_162362ab","updated":"2014-12-05 11:45:33.000000000","message":"yep","commit_id":"40f10e4281e55ad3ee60ca0d14a97d24c79896bb"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"bb22174e988410068acfa54e709f70514b42a698","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    )"},{"line_number":169,"context_line":"    parser.add_argument("},{"line_number":170,"context_line":"        \u0027--counter\u0027,"},{"line_number":171,"context_line":"        default\u003d\u0027instance\u0027,"},{"line_number":172,"context_line":"        help\u003d\u0027The counter name for the meter data.\u0027,"},{"line_number":173,"context_line":"    )"},{"line_number":174,"context_line":"    parser.add_argument("}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_58d0a353","line":171,"in_reply_to":"5a890539_80329b5c","updated":"2014-12-08 10:28:41.000000000","message":"Ilya, please fix it asap :)","commit_id":"40f10e4281e55ad3ee60ca0d14a97d24c79896bb"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"e89c7c5058c320851189aa193deafac392d1ce2c","unresolved":false,"context_lines":[{"line_number":169,"context_line":"    parser.add_argument("},{"line_number":170,"context_line":"        \u0027--counter\u0027,"},{"line_number":171,"context_line":"        default\u003d\u0027instance\u0027,"},{"line_number":172,"context_line":"\tdest\u003d\u0027name\u0027,"},{"line_number":173,"context_line":"        help\u003d\u0027The counter name for the meter data.\u0027,"},{"line_number":174,"context_line":"    )"},{"line_number":175,"context_line":"    parser.add_argument("}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_bf8f9f22","line":172,"updated":"2014-12-08 17:46:15.000000000","message":"-1: tab?","commit_id":"65697da4842ac0981bd6fbfbace591f0b88c69cf"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"e89c7c5058c320851189aa193deafac392d1ce2c","unresolved":false,"context_lines":[{"line_number":211,"context_line":"                  datetime.timedelta(days\u003dargs.start))"},{"line_number":212,"context_line":"    args.end \u003d datetime.datetime.utcnow() + datetime.timedelta(days\u003dargs.end)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"    record_test_data(conn\u003dconn,"},{"line_number":215,"context_line":"                     **args.__dict__)"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    return 0"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_ffb047df","line":214,"updated":"2014-12-08 17:46:15.000000000","message":"no need to start a new line","commit_id":"65697da4842ac0981bd6fbfbace591f0b88c69cf"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"e89c7c5058c320851189aa193deafac392d1ce2c","unresolved":false,"context_lines":[{"line_number":215,"context_line":"                     **args.__dict__)"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    return 0"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":220,"context_line":"    main()"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_5fa07b90","line":218,"updated":"2014-12-08 17:46:15.000000000","message":"two blank lines?","commit_id":"65697da4842ac0981bd6fbfbace591f0b88c69cf"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"2e33a0c535eaed9c20d3ac9cd69f59daf834002c","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def make_test_data(name, meter_type, unit, volume, random_min,"},{"line_number":47,"context_line":"                   random_max, user_id, project_id, resource_id, start,"},{"line_number":48,"context_line":"                   end, interval, resource_metadata\u003dNone, source\u003d\u0027openstack\u0027,):"},{"line_number":49,"context_line":"    resource_metadata \u003d resource_metadata or {}"},{"line_number":50,"context_line":"    # Compute start and end timestamps for the new data."},{"line_number":51,"context_line":"    if isinstance(start, datetime.datetime):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_f5a3df9b","line":48,"range":{"start_line":48,"start_character":75,"end_line":48,"end_character":79},"updated":"2014-12-09 17:08:49.000000000","message":"is there a reason for changing to \u0027openstack\u0027. i would recommend not changing the source value... just in case someone is dumb enough to point this at a real db. having source as the same default as what a live system has might be dangerous.","commit_id":"d7d93786a4990bb92c60e311d910a862ace0659d"},{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"bb3e6187b50e35ca1b3d614fe6e0a9091e3191a9","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def make_test_data(name, meter_type, unit, volume, random_min,"},{"line_number":47,"context_line":"                   random_max, user_id, project_id, resource_id, start,"},{"line_number":48,"context_line":"                   end, interval, resource_metadata\u003dNone, source\u003d\u0027openstack\u0027,):"},{"line_number":49,"context_line":"    resource_metadata \u003d resource_metadata or {}"},{"line_number":50,"context_line":"    # Compute start and end timestamps for the new data."},{"line_number":51,"context_line":"    if isinstance(start, datetime.datetime):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_ce8c7138","line":48,"range":{"start_line":48,"start_character":75,"end_line":48,"end_character":79},"in_reply_to":"3a961159_f5a3df9b","updated":"2014-12-11 09:50:45.000000000","message":"ok, I\u0027ll revert it.","commit_id":"d7d93786a4990bb92c60e311d910a862ace0659d"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"7408c9d27860cfe3dcee53b09e274e0d2a103fe7","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            c,"},{"line_number":87,"context_line":"            cfg.CONF.publisher.metering_secret)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        yield data"},{"line_number":90,"context_line":"        n +\u003d 1"},{"line_number":91,"context_line":"        timestamp \u003d timestamp + increment"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_d93aa7cc","line":89,"updated":"2014-12-09 14:24:16.000000000","message":"Ilya hi! Could you please explain why have you changed line 89 and add record_test_data function. It seems that it is odd. Probably I\u0027ve missed something but it seems that we can just use make_test_data(conn\u003dconn, **args.__dict__) in main fuction. WDYT?","commit_id":"d7d93786a4990bb92c60e311d910a862ace0659d"},{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"e37e1cfbcec7c986d8b60b43aa669f82fd2d3203","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            c,"},{"line_number":87,"context_line":"            cfg.CONF.publisher.metering_secret)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        yield data"},{"line_number":90,"context_line":"        n +\u003d 1"},{"line_number":91,"context_line":"        timestamp \u003d timestamp + increment"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_cbe1eeff","line":89,"in_reply_to":"3a961159_d93aa7cc","updated":"2014-12-09 14:48:10.000000000","message":"I use make_test_data for generating samples in send_test_data script. In this usecase we send data to rabbit instead recording data directly to storage connetion. it may be worth to rename this method to create_test_samples, for example.","commit_id":"d7d93786a4990bb92c60e311d910a862ace0659d"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"dbfd0618fe1b46bccbd673378f3c729e971fa388","unresolved":false,"context_lines":[{"line_number":228,"context_line":"            end \u003d datetime.datetime.strptime(args.end, format)"},{"line_number":229,"context_line":"        except ValueError:"},{"line_number":230,"context_line":"            raise"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    record_test_data(conn\u003dconn, **args.__dict__)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    return 0"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_2666bced","line":231,"updated":"2014-12-22 02:29:55.000000000","message":"I think start, end should be injected into args, since they could be int days.\n\nand shoud we remove the second level try...except block? I don\u0027t know what the except really does","commit_id":"c7c1ceafcfe1bcc580ebdaa431c69652db77c3f0"},{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"846f5ff27a394bef992eb8e28f4eae921b879948","unresolved":false,"context_lines":[{"line_number":228,"context_line":"            end \u003d datetime.datetime.strptime(args.end, format)"},{"line_number":229,"context_line":"        except ValueError:"},{"line_number":230,"context_line":"            raise"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    record_test_data(conn\u003dconn, **args.__dict__)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    return 0"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_d2adab9c","line":231,"in_reply_to":"3a961159_2666bced","updated":"2014-12-22 10:23:37.000000000","message":"ZhiQiang Fan, this changes are provided by https://review.openstack.org/#/c/141061/. So start and end have current format for correct using script tools/make_test_data.sh.","commit_id":"c7c1ceafcfe1bcc580ebdaa431c69652db77c3f0"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"ba7396a87902c039aabf79092bbc9e168232e39c","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def make_test_data(name, meter_type, unit, volume, random_min,"},{"line_number":47,"context_line":"                   random_max, user_id, project_id, resource_id, start,"},{"line_number":48,"context_line":"                   end, interval, resource_metadata\u003dNone, source\u003d\u0027artificial\u0027):"},{"line_number":49,"context_line":"    resource_metadata \u003d resource_metadata or {}"},{"line_number":50,"context_line":"    # Compute start and end timestamps for the new data."},{"line_number":51,"context_line":"    if isinstance(start, datetime.datetime):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_f3551b50","line":48,"updated":"2014-12-24 01:17:14.000000000","message":"is it useful to set None here ? I did not get it","commit_id":"be483aa48e8901876b9770d687602267571280d7"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"d4888e8490d630eb79a21bfb08ab29753f0f979b","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def make_test_data(name, meter_type, unit, volume, random_min,"},{"line_number":47,"context_line":"                   random_max, user_id, project_id, resource_id, start,"},{"line_number":48,"context_line":"                   end, interval, resource_metadata\u003dNone, source\u003d\u0027artificial\u0027):"},{"line_number":49,"context_line":"    resource_metadata \u003d resource_metadata or {}"},{"line_number":50,"context_line":"    # Compute start and end timestamps for the new data."},{"line_number":51,"context_line":"    if isinstance(start, datetime.datetime):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_c421379f","line":48,"in_reply_to":"3a961159_f3551b50","updated":"2014-12-24 03:59:49.000000000","message":"resource_metadata is read only in this function, so actually it is safe.\n\nBut it is good principle to use immutable default value to avoid unexpected issue, see http://effbot.org/zone/default-values.htm and https://review.openstack.org/#/c/91046/","commit_id":"be483aa48e8901876b9770d687602267571280d7"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"d4888e8490d630eb79a21bfb08ab29753f0f979b","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    parser.add_argument("},{"line_number":166,"context_line":"        \u0027--resource\u0027,"},{"line_number":167,"context_line":"        dest\u003d\u0027resource_id\u0027,"},{"line_number":168,"context_line":"        default\u003dstr(uuid.UUID(uuid.uuid4().hex)),"},{"line_number":169,"context_line":"        help\u003d\u0027The resource id for the meter data.\u0027,"},{"line_number":170,"context_line":"    )"},{"line_number":171,"context_line":"    parser.add_argument("}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_e496334b","line":168,"updated":"2014-12-24 03:59:49.000000000","message":"consider: str(uuid.uuid4()) ?\n\n    \u003e\u003e\u003e str(uuid.uuid4())\n    \u00276eb9ba08-1275-4139-8b20-401f049d7e73\u0027\n    \u003e\u003e\u003e str(uuid.UUID(uuid.uuid4().hex))\n    \u00275cba0b2e-6c12-4882-9b92-c9212beb0b09\u0027","commit_id":"be483aa48e8901876b9770d687602267571280d7"}],"tools/send_test_data.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"5bbca518795ab03ef972ca24edaacd500f8226a1","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                                                random.getrandbits(32))"},{"line_number":122,"context_line":"    with open(result_file, \u0027w\u0027) as f:"},{"line_number":123,"context_line":"        f.write(json.dumps(resource_writes))"},{"line_number":124,"context_line":"    return result_file"},{"line_number":125,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":126,"context_line":"    main()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_bd42b00c","line":124,"updated":"2014-12-03 18:28:12.000000000","message":"two blank lines here?","commit_id":"1a035a2428f86ae0be517ba9e0fc58b78a733699"},{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"a6b887d1d3559fcea62766edc34040aa5009c233","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                                                random.getrandbits(32))"},{"line_number":122,"context_line":"    with open(result_file, \u0027w\u0027) as f:"},{"line_number":123,"context_line":"        f.write(json.dumps(resource_writes))"},{"line_number":124,"context_line":"    return result_file"},{"line_number":125,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":126,"context_line":"    main()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_59ea9fa0","line":124,"in_reply_to":"5a890539_bd42b00c","updated":"2014-12-04 10:13:05.000000000","message":"yep. I\u0027ll fix it.","commit_id":"1a035a2428f86ae0be517ba9e0fc58b78a733699"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"e89c7c5058c320851189aa193deafac392d1ce2c","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    make_data_args.end \u003d datetime.datetime.utcnow()"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    make_data_args.resource_id \u003d None"},{"line_number":55,"context_line":"    resources_list \u003d [uuid.UUID(uuid.uuid4().hex)"},{"line_number":56,"context_line":"                      for _ in xrange(resources_count)]"},{"line_number":57,"context_line":"    resource_samples \u003d {resource: 0 for resource in resources_list}"},{"line_number":58,"context_line":"    batch \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_5f3cfb2f","line":55,"updated":"2014-12-08 17:46:15.000000000","message":"what does this do?\n\n    \u003e\u003e\u003e type(uuid.uuid4())\n    \u003cclass \u0027uuid.UUID\u0027\u003e\n    \u003e\u003e\u003e type(uuid.UUID(uuid.uuid4().hex))\n    \u003cclass \u0027uuid.UUID\u0027\u003e","commit_id":"65697da4842ac0981bd6fbfbace591f0b88c69cf"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"b773c08374d0d583f4125529ba7b3ea108d6d92a","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    make_data_args.end \u003d datetime.datetime.utcnow()"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    make_data_args.resource_id \u003d None"},{"line_number":55,"context_line":"    resources_list \u003d [uuid.UUID(uuid.uuid4().hex)"},{"line_number":56,"context_line":"                      for _ in xrange(resources_count)]"},{"line_number":57,"context_line":"    resource_samples \u003d {resource: 0 for resource in resources_list}"},{"line_number":58,"context_line":"    batch \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_ce82e651","line":55,"in_reply_to":"3a961159_5f3cfb2f","updated":"2014-12-09 10:09:21.000000000","message":"yeah, it looks like just uuid.uuid4() is enough","commit_id":"65697da4842ac0981bd6fbfbace591f0b88c69cf"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"2e33a0c535eaed9c20d3ac9cd69f59daf834002c","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def send_batch(rpc_client, topic, batch):"},{"line_number":36,"context_line":"    rpc_client.prepare(topic\u003dtopic).cast(agent.context.RequestContext(),"},{"line_number":37,"context_line":"                                         \u0027record_metering_data\u0027, data\u003dbatch)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_15f4eb85","line":36,"updated":"2014-12-09 17:08:49.000000000","message":"any way to do this via mq? i think the one thing we\u0027ve learned from teh juno numbers is that rpc being synchronous is terrible for performance.","commit_id":"d7d93786a4990bb92c60e311d910a862ace0659d"},{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"fc763d1e1aea02fbde250f6f4e4e01383c0ffd95","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def send_batch(rpc_client, topic, batch):"},{"line_number":36,"context_line":"    rpc_client.prepare(topic\u003dtopic).cast(agent.context.RequestContext(),"},{"line_number":37,"context_line":"                                         \u0027record_metering_data\u0027, data\u003dbatch)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_a89d3968","line":36,"in_reply_to":"3a961159_15f4eb85","updated":"2014-12-11 11:50:29.000000000","message":"Gordon, in current script we can configure loading to collector with size of sending batch and several send_test_data processes. Otherwise it\u0027s used native ceilometer module and reproduce real work of ceilo.","commit_id":"d7d93786a4990bb92c60e311d910a862ace0659d"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"40709ad14ddf9e6bf0479844669651029e38f743","unresolved":false,"context_lines":[{"line_number":40,"context_line":"def get_rpc_client(config_file):"},{"line_number":41,"context_line":"    service.prepare_service(argv\u003d[\u0027/\u0027, \u0027--config-file\u0027, config_file])"},{"line_number":42,"context_line":"    transport \u003d messaging.get_transport()"},{"line_number":43,"context_line":"    rpc_client \u003d messaging.get_rpc_client(transport, version\u003d\u00271.0\u0027)"},{"line_number":44,"context_line":"    return rpc_client"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_f161b7a9","line":43,"range":{"start_line":43,"start_character":65,"end_line":43,"end_character":67},"updated":"2014-12-12 20:21:21.000000000","message":"Ilya, the recommendation was to use get_notifier instead... because synchronous property of rpc isn\u0027t great.\n\nor maybe it\u0027s another option for future...","commit_id":"a52f68501566f478dd9e62046303c6ac496e946f"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"905b02e6416d4fdd0af1b1757b4ed3d09f1a2504","unresolved":false,"context_lines":[{"line_number":40,"context_line":"def get_rpc_client(config_file):"},{"line_number":41,"context_line":"    service.prepare_service(argv\u003d[\u0027/\u0027, \u0027--config-file\u0027, config_file])"},{"line_number":42,"context_line":"    transport \u003d messaging.get_transport()"},{"line_number":43,"context_line":"    rpc_client \u003d messaging.get_rpc_client(transport, version\u003d\u00271.0\u0027)"},{"line_number":44,"context_line":"    return rpc_client"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_b47e0f17","line":43,"range":{"start_line":43,"start_character":65,"end_line":43,"end_character":67},"in_reply_to":"3a961159_502fbe3e","updated":"2014-12-15 14:16:38.000000000","message":"just a recommendation... if it changes your intended use case than you can ignore.","commit_id":"a52f68501566f478dd9e62046303c6ac496e946f"},{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"3e7e2388b5d9c88b44a60f90872607b1567d116b","unresolved":false,"context_lines":[{"line_number":40,"context_line":"def get_rpc_client(config_file):"},{"line_number":41,"context_line":"    service.prepare_service(argv\u003d[\u0027/\u0027, \u0027--config-file\u0027, config_file])"},{"line_number":42,"context_line":"    transport \u003d messaging.get_transport()"},{"line_number":43,"context_line":"    rpc_client \u003d messaging.get_rpc_client(transport, version\u003d\u00271.0\u0027)"},{"line_number":44,"context_line":"    return rpc_client"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_502fbe3e","line":43,"range":{"start_line":43,"start_character":65,"end_line":43,"end_character":67},"in_reply_to":"3a961159_f161b7a9","updated":"2014-12-15 10:42:25.000000000","message":"Ok, I\u0027ll use get_notifier instead get_rpc_client if it works better.","commit_id":"a52f68501566f478dd9e62046303c6ac496e946f"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"40709ad14ddf9e6bf0479844669651029e38f743","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                  batch_size, resources_count, topic):"},{"line_number":49,"context_line":"    make_data_args.interval \u003d 1"},{"line_number":50,"context_line":"    make_data_args.start \u003d (datetime.datetime.utcnow() -"},{"line_number":51,"context_line":"                            datetime.timedelta(minutes\u003dsamples_count))"},{"line_number":52,"context_line":"    make_data_args.end \u003d datetime.datetime.utcnow()"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    make_data_args.resource_id \u003d None"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_e981cbfb","line":51,"range":{"start_line":51,"start_character":37,"end_line":51,"end_character":46},"updated":"2014-12-12 20:21:21.000000000","message":"i don\u0027t think this is right... the start and end args expect an int for the number of days... not a timestamp","commit_id":"a52f68501566f478dd9e62046303c6ac496e946f"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"905b02e6416d4fdd0af1b1757b4ed3d09f1a2504","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                  batch_size, resources_count, topic):"},{"line_number":49,"context_line":"    make_data_args.interval \u003d 1"},{"line_number":50,"context_line":"    make_data_args.start \u003d (datetime.datetime.utcnow() -"},{"line_number":51,"context_line":"                            datetime.timedelta(minutes\u003dsamples_count))"},{"line_number":52,"context_line":"    make_data_args.end \u003d datetime.datetime.utcnow()"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    make_data_args.resource_id \u003d None"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_f4741737","line":51,"range":{"start_line":51,"start_character":37,"end_line":51,"end_character":46},"in_reply_to":"3a961159_b05aa2ef","updated":"2014-12-15 14:16:38.000000000","message":"ah got it... i was reading it wrong.","commit_id":"a52f68501566f478dd9e62046303c6ac496e946f"},{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"3e7e2388b5d9c88b44a60f90872607b1567d116b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                  batch_size, resources_count, topic):"},{"line_number":49,"context_line":"    make_data_args.interval \u003d 1"},{"line_number":50,"context_line":"    make_data_args.start \u003d (datetime.datetime.utcnow() -"},{"line_number":51,"context_line":"                            datetime.timedelta(minutes\u003dsamples_count))"},{"line_number":52,"context_line":"    make_data_args.end \u003d datetime.datetime.utcnow()"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    make_data_args.resource_id \u003d None"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_b05aa2ef","line":51,"range":{"start_line":51,"start_character":37,"end_line":51,"end_character":46},"in_reply_to":"3a961159_e981cbfb","updated":"2014-12-15 10:42:25.000000000","message":"Gordon, in master function \u0027make_test_data\u0027  gets datetime start and end arguments [1]. I use make_data_args how kwargs for this function.\n\n[1] - https://github.com/openstack/ceilometer/blob/master/tools/make_test_data.py#L189","commit_id":"a52f68501566f478dd9e62046303c6ac496e946f"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"c954a806e4803b11cc16304705adeaa1dd12f804","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    resource_samples \u003d {resource: 0 for resource in resources_list}"},{"line_number":58,"context_line":"    batch \u003d []"},{"line_number":59,"context_line":"    count \u003d 0"},{"line_number":60,"context_line":"    for sample in make_test_data.make_test_data(**make_data_args.__dict__):"},{"line_number":61,"context_line":"        count +\u003d 1"},{"line_number":62,"context_line":"        resource \u003d resources_list[random.randint(0, len(resources_list) - 1)]"},{"line_number":63,"context_line":"        resource_samples[resource] +\u003d 1"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_9c32950e","line":60,"updated":"2014-12-18 20:39:03.000000000","message":"nit: it would be more readable if counter-variables (count and esource_samples[resource]) are incremented after sample is added. \n\nE.g.\n  resource \u003d resources_list[random.randint(0, len(resources_list) - 1)]\n  sample[\u0027resource_id\u0027] \u003d resource\n  batch.append(sample)\n  resource_samples[resource] +\u003d 1\n  count +\u003d 1","commit_id":"a52f68501566f478dd9e62046303c6ac496e946f"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"c954a806e4803b11cc16304705adeaa1dd12f804","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        if len(batch) \u003d\u003d batch_size:"},{"line_number":67,"context_line":"            send_batch(rpc_client, topic, batch)"},{"line_number":68,"context_line":"            batch \u003d []"},{"line_number":69,"context_line":"        if count \u003d\u003d samples_count:"},{"line_number":70,"context_line":"            send_batch(rpc_client, topic, batch)"},{"line_number":71,"context_line":"            return resource_samples"},{"line_number":72,"context_line":"    send_batch(rpc_client, topic, batch)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_3c00c133","line":69,"updated":"2014-12-18 20:39:03.000000000","message":"nit: you may just \u0027break\u0027 here","commit_id":"a52f68501566f478dd9e62046303c6ac496e946f"}]}
