)]}'
{"README.rst":[{"author":{"_account_id":8803,"name":"Catherine Richardson","email":"catherine.richardson@rackspace.com","username":"cyrichardson"},"change_message_id":"cbcb41ad2994b58a09be1743211831ec51784ee3","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    tox -e py27"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"You can read more about running functional tests in separate `TESTS_README`_."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Running benchmarking tool"},{"line_number":86,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7ac7a964_0fa07942","line":83,"updated":"2014-08-14 15:58:07.000000000","message":"the separate","commit_id":"53a5e5c3db7d3f6cdc51b65a1eef3fdbc6a74252"},{"author":{"_account_id":8803,"name":"Catherine Richardson","email":"catherine.richardson@rackspace.com","username":"cyrichardson"},"change_message_id":"cbcb41ad2994b58a09be1743211831ec51784ee3","unresolved":false,"context_lines":[{"line_number":85,"context_line":"Running benchmarking tool"},{"line_number":86,"context_line":"----------------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"First you need to have your zaqar-server up and running. For instance run server as described in this README."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Then install additional requirements::"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7ac7a964_af9065ed","line":88,"updated":"2014-08-14 15:58:07.000000000","message":"For instance, run the server...","commit_id":"53a5e5c3db7d3f6cdc51b65a1eef3fdbc6a74252"},{"author":{"_account_id":8803,"name":"Catherine Richardson","email":"catherine.richardson@rackspace.com","username":"cyrichardson"},"change_message_id":"cbcb41ad2994b58a09be1743211831ec51784ee3","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    pip install -r bench-requirements.txt"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Copy configuration file to ``~/.zaqar``::"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    cp ./etc/zaqar-benchmark.conf.sample ~/.zaqar/zaqar-benchmark.conf"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7ac7a964_8faac917","line":94,"updated":"2014-08-14 15:58:07.000000000","message":"Copy the configuraton file...","commit_id":"53a5e5c3db7d3f6cdc51b65a1eef3fdbc6a74252"},{"author":{"_account_id":8803,"name":"Catherine Richardson","email":"catherine.richardson@rackspace.com","username":"cyrichardson"},"change_message_id":"cbcb41ad2994b58a09be1743211831ec51784ee3","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    server_url \u003d http://localhost:8888"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Run benchmarking tool using next command::"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    zaqar-bench-pc --processes 2 --workers 2 --time 10"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7ac7a964_6f748dcf","line":102,"updated":"2014-08-14 15:58:07.000000000","message":"using the following command: :","commit_id":"53a5e5c3db7d3f6cdc51b65a1eef3fdbc6a74252"},{"author":{"_account_id":8803,"name":"Catherine Richardson","email":"catherine.richardson@rackspace.com","username":"cyrichardson"},"change_message_id":"cbcb41ad2994b58a09be1743211831ec51784ee3","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    zaqar-bench-pc --processes 2 --workers 2 --time 10"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"By default results are printed in JSON, for more human-readable output add ``--verbose`` flag."},{"line_number":107,"context_line":"The results will look similar to this::"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    Starting Producer..."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7ac7a964_ef36dd02","line":106,"updated":"2014-08-14 15:58:07.000000000","message":"By default, the results are in JSON. For more human-readable output, add...","commit_id":"53a5e5c3db7d3f6cdc51b65a1eef3fdbc6a74252"},{"author":{"_account_id":8803,"name":"Catherine Richardson","email":"catherine.richardson@rackspace.com","username":"cyrichardson"},"change_message_id":"cbcb41ad2994b58a09be1743211831ec51784ee3","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    zaqar-bench-pc --processes 2 --workers 2 --time 10"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"By default results are printed in JSON, for more human-readable output add ``--verbose`` flag."},{"line_number":107,"context_line":"The results will look similar to this::"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    Starting Producer..."},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7ac7a964_ef1dfd74","line":107,"updated":"2014-08-14 15:58:07.000000000","message":"The results look similar to the following::","commit_id":"53a5e5c3db7d3f6cdc51b65a1eef3fdbc6a74252"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"cb963c3685eca0de2016b5d0ebe636b81be065cd","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Run benchmarking tool using the following command::"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    zaqar-bench-pc --processes 2 --workers 2 --time 10"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"By default, the results are in JSON. For more human-readable output add ``--verbose`` flag."},{"line_number":107,"context_line":"The results look similar to the following::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7ac7a964_d790ccee","line":104,"updated":"2014-08-14 23:36:14.000000000","message":"Q. Does the \"pc\" stands for \"producer-consumer\" ? If so, I think we can remove this postfix (in a followup patch). If we add other types of tests, those would be command line args/config params that determine the scenario(s) to run (no need to create separate, uniquely-named commands for each scenario).","commit_id":"263005b873a0b70aaf82e58ec7cbbcce6d4a0fa7"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"47d01b73d82c286d28f1158258c815ab606afa14","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    Starting Consumer..."},{"line_number":120,"context_line":"    Params"},{"line_number":121,"context_line":"    processes: 1.0"},{"line_number":122,"context_line":"    workers: 1.0"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    Consumer"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1abeadc6_183c4a2f","line":121,"updated":"2014-08-18 13:52:40.000000000","message":"The example doesn\u0027t correspond with the command above.","commit_id":"acc0d4c7e806b3656925644fba4064c24ee721ef"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"bbe095f0bd4b16149429d718cceb930d794f9546","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"You can read more about running functional tests in separate `TESTS_README`_."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Running benchmarking tool"},{"line_number":86,"context_line":"----------------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"First you need to have your zaqar-server up and running. For instance, run the server as described in this README."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1abeadc6_8fce3f82","line":85,"updated":"2014-08-18 21:11:00.000000000","message":"\"Running benchmark tool\" \u003d\u003d\u003e \"Running the benchmark tool\"","commit_id":"f8681b4471337c44bd1c7d1ec46bd690d474443a"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"bbe095f0bd4b16149429d718cceb930d794f9546","unresolved":false,"context_lines":[{"line_number":85,"context_line":"Running benchmarking tool"},{"line_number":86,"context_line":"----------------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"First you need to have your zaqar-server up and running. For instance, run the server as described in this README."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Then install additional requirements::"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1abeadc6_4f834704","line":88,"updated":"2014-08-18 21:11:00.000000000","message":"I think you can simplify this step, e.g.:\n\n    First install and run zaqar-server (see above).","commit_id":"f8681b4471337c44bd1c7d1ec46bd690d474443a"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"bbe095f0bd4b16149429d718cceb930d794f9546","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    server_url \u003d http://localhost:8888"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Benchmarking tool needs a set of messages to work with. You can specify path to the file with messages"},{"line_number":103,"context_line":"in the configuration file. Alternatively, put it in the directory with the configuration file under the name"},{"line_number":104,"context_line":"``zaqar-benchmark-messages.json``. You can use sample file from the ``etc`` directory for start::"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1abeadc6_af221bb7","line":102,"updated":"2014-08-18 21:11:00.000000000","message":"\"Benchmarking tool\" \u003d\u003d\u003e \"The benchmarking tool\"\n\n\"You can specify path\" \u003d\u003d\u003e \"Specify the path\"","commit_id":"f8681b4471337c44bd1c7d1ec46bd690d474443a"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"bbe095f0bd4b16149429d718cceb930d794f9546","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    server_url \u003d http://localhost:8888"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Benchmarking tool needs a set of messages to work with. You can specify path to the file with messages"},{"line_number":103,"context_line":"in the configuration file. Alternatively, put it in the directory with the configuration file under the name"},{"line_number":104,"context_line":"``zaqar-benchmark-messages.json``. You can use sample file from the ``etc`` directory for start::"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    cp etc/zaqar-benchmark-messages.json ~/.zaqar/"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1abeadc6_4f134766","line":103,"updated":"2014-08-18 21:11:00.000000000","message":"\"under the name\" \u003d\u003d\u003e \"and name it\"","commit_id":"f8681b4471337c44bd1c7d1ec46bd690d474443a"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"bbe095f0bd4b16149429d718cceb930d794f9546","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Benchmarking tool needs a set of messages to work with. You can specify path to the file with messages"},{"line_number":103,"context_line":"in the configuration file. Alternatively, put it in the directory with the configuration file under the name"},{"line_number":104,"context_line":"``zaqar-benchmark-messages.json``. You can use sample file from the ``etc`` directory for start::"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    cp etc/zaqar-benchmark-messages.json ~/.zaqar/"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1abeadc6_12009400","line":104,"updated":"2014-08-18 21:11:00.000000000","message":"\"You can use sample file...\" \u003d\u003d\u003e \"As a starting point, you can use the sample file...\"","commit_id":"f8681b4471337c44bd1c7d1ec46bd690d474443a"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"bbe095f0bd4b16149429d718cceb930d794f9546","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    cp etc/zaqar-benchmark-messages.json ~/.zaqar/"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"If no file is found, single predefined message is used for all requests."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Run benchmarking tool using the following command::"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1abeadc6_322cb099","line":108,"updated":"2014-08-18 21:11:00.000000000","message":"\"If the file is not found, or no file is specified, a single hard-coded message is used for all requests.\"","commit_id":"f8681b4471337c44bd1c7d1ec46bd690d474443a"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"bbe095f0bd4b16149429d718cceb930d794f9546","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"If no file is found, single predefined message is used for all requests."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Run benchmarking tool using the following command::"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    zaqar-bench-pc --processes 2 --workers 2 --time 10"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1abeadc6_722628b9","line":110,"updated":"2014-08-18 21:11:00.000000000","message":"\"Run benchmarking tool\" \u003d\u003d\u003e \"Run the benchmarking tool\"","commit_id":"f8681b4471337c44bd1c7d1ec46bd690d474443a"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"bbe095f0bd4b16149429d718cceb930d794f9546","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    zaqar-bench-pc --processes 2 --workers 2 --time 10"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"By default, the results are in JSON. For more human-readable output add ``--verbose`` flag."},{"line_number":115,"context_line":"The results look similar to the following::"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    Starting Producer..."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1abeadc6_725d4821","line":114,"updated":"2014-08-18 21:11:00.000000000","message":"\"add ``--verbose`` flag.\" \u003d\u003d\u003e \"add the ``--verbose`` flag.\"","commit_id":"f8681b4471337c44bd1c7d1ec46bd690d474443a"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"bbe095f0bd4b16149429d718cceb930d794f9546","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    zaqar-bench-pc --processes 2 --workers 2 --time 10"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"By default, the results are in JSON. For more human-readable output add ``--verbose`` flag."},{"line_number":115,"context_line":"The results look similar to the following::"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    Starting Producer..."},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1abeadc6_926824bc","line":115,"updated":"2014-08-18 21:11:00.000000000","message":"\"The results look\" \u003d\u003d\u003e \"Verbose output looks\"","commit_id":"f8681b4471337c44bd1c7d1ec46bd690d474443a"}],"zaqar-benchmark.conf":[{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"ce821242a0580796aa9907d08d8794250f0f7335","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"baada198_5a79e32e","updated":"2014-08-08 16:00:54.000000000","message":"DSQ: Should this file go under /etc instead? Regardless, it would be cool to have a \"running benchmarks\" section in Zaqar\u0027s README...","commit_id":"c79c5d304f7867195c10c7f105b59c30b6c45cd4"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"7dfd2526f8d1bb6352594fe1c724e465f46b3297","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"baada198_c1df8dd5","in_reply_to":"baada198_50ad14e9","updated":"2014-08-11 16:51:41.000000000","message":"Is there a way to give a name for the config file but have oslo.config search for that name under the usual dirs, e.g. \"~/.zaqar\" and \"/etc/zaqar\"?\n\nIf so, we could do that and then use cond.find_file to figure out the name of JSON file to load, which should be in the same dir as the conf file.\n\nRegarding adding defaults, I think that is a good idea in any case. For default messages, if the JSON file is not specified, we can just use a hard-coded JSON document.","commit_id":"c79c5d304f7867195c10c7f105b59c30b6c45cd4"},{"author":{"_account_id":10777,"name":"Nataliia Uvarova","email":"grafinya.uvarova@gmail.com","username":"AAzza"},"change_message_id":"1a3762513316a526a3b8b3242448f50d59e220ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"baada198_50ad14e9","in_reply_to":"baada198_5a79e32e","updated":"2014-08-11 11:32:44.000000000","message":"Yes, sure, will add some lines about running benchmark tool to README.\n\nAbout config: yes, I agree it would be more consistent to put it to /etc folder as a sample. But then appears a  question  about whether to do the config optional or not and what is default path for it. Now it is required, since there is no default values for some options e.g  messages path (this probably should be fixed either way).\n\nSo the plan then could be: add defaults do all config options, move the config as a sample to /etc folder and remove default search path for confguration file from the conf initialization - thus user should specify the config explicitly using --config-file command line option, if he wants to override.\n\nDoes it look reasonable?","commit_id":"c79c5d304f7867195c10c7f105b59c30b6c45cd4"}],"zaqar/bench/consumer.py":[{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"6d92103294bb2fe90799757462328f8cd48a984b","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    throughput \u003d success_requests / duration"},{"line_number":136,"context_line":"    latency \u003d 1000 * total_latency / success_requests"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    upstream_queue.put({\u0027consumer\u0027: {"},{"line_number":139,"context_line":"        \u0027duration\u0027: duration,"},{"line_number":140,"context_line":"        \u0027total_requests\u0027: total_requests,"},{"line_number":141,"context_line":"        \u0027success_requests\u0027: success_requests,"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_c6b0e742","line":138,"updated":"2014-08-07 17:34:25.000000000","message":"IMO: These fields could be made more self-documenting by including units, e.g., \"duration_sec\", \"req_per_sec\", \"ms_per_req\", etc.","commit_id":"afede6c38a0162d299f8678fa5f03d19ab942493"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"6d92103294bb2fe90799757462328f8cd48a984b","unresolved":false,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"def main():"},{"line_number":147,"context_line":"    run()"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_4620579a","line":147,"updated":"2014-08-07 17:34:25.000000000","message":"BUG: This will no longer work, since it required a param. Should main() simply be removed?","commit_id":"afede6c38a0162d299f8678fa5f03d19ab942493"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"e595e25c89f251ccd94f805cfc3eabc1716ce10b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            claim \u003d queue.claim(ttl\u003dttl, grace\u003dgrace, limit\u003dlimit)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        except TransportError as ex:"},{"line_number":54,"context_line":"            sys.stderr.write(\"Could not claim messages : {0}\".format(ex))"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        else:"},{"line_number":57,"context_line":"            total_elapsed +\u003d marktime.stop(\u0027claim_message\u0027).seconds"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_caed888f","line":54,"range":{"start_line":54,"start_character":12,"end_line":54,"end_character":15},"updated":"2014-08-13 13:50:33.000000000","message":"Why sys and not logging?","commit_id":"c79c5d304f7867195c10c7f105b59c30b6c45cd4"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"ea207b85fadc6a48b8aaeacedefd652e4c9f8ccb","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            claim \u003d queue.claim(ttl\u003dttl, grace\u003dgrace, limit\u003dlimit)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        except TransportError as ex:"},{"line_number":54,"context_line":"            sys.stderr.write(\"Could not claim messages : {0}\".format(ex))"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        else:"},{"line_number":57,"context_line":"            total_elapsed +\u003d marktime.stop(\u0027claim_message\u0027).seconds"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_a3b6c43b","line":54,"in_reply_to":"baada198_caed888f","updated":"2014-08-14 14:03:28.000000000","message":"KISS: For now, I think it is OK to leave this as-is. Logging can be added in a separate patch.","commit_id":"c79c5d304f7867195c10c7f105b59c30b6c45cd4"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"ce821242a0580796aa9907d08d8794250f0f7335","unresolved":false,"context_lines":[{"line_number":130,"context_line":"    (total_requests, total_latency, claim_total_requests,"},{"line_number":131,"context_line":"     delete_total_requests) \u003d crunch(stats)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    success_requests \u003d claim_total_requests + delete_total_requests"},{"line_number":134,"context_line":"    duration \u003d time.time() - start"},{"line_number":135,"context_line":"    throughput \u003d success_requests / duration"},{"line_number":136,"context_line":"    latency \u003d 1000 * total_latency / success_requests"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_1d51250d","line":133,"updated":"2014-08-08 16:00:54.000000000","message":"NIT: success_requests \u003d\u003d\u003e successful_reqs","commit_id":"c79c5d304f7867195c10c7f105b59c30b6c45cd4"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"ce821242a0580796aa9907d08d8794250f0f7335","unresolved":false,"context_lines":[{"line_number":138,"context_line":"    upstream_queue.put({\u0027consumer\u0027: {"},{"line_number":139,"context_line":"        \u0027duration_sec\u0027: duration,"},{"line_number":140,"context_line":"        \u0027total_reqs\u0027: total_requests,"},{"line_number":141,"context_line":"        \u0027success_reqs\u0027: success_requests,"},{"line_number":142,"context_line":"        \u0027reqs_per_sec\u0027: throughput,"},{"line_number":143,"context_line":"        \u0027ms_per_req\u0027: latency}})"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_dd232da8","line":141,"updated":"2014-08-08 16:00:54.000000000","message":"NIT: \u0027success_reqs\u0027 \u003d\u003d\u003e \u0027successful_reqs\u0027","commit_id":"c79c5d304f7867195c10c7f105b59c30b6c45cd4"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"cb963c3685eca0de2016b5d0ebe636b81be065cd","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            claim \u003d queue.claim(ttl\u003dttl, grace\u003dgrace, limit\u003dlimit)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        except TransportError as ex:"},{"line_number":54,"context_line":"            sys.stderr.write(\"Could not claim messages : {0}\".format(ex))"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        else:"},{"line_number":57,"context_line":"            total_elapsed +\u003d marktime.stop(\u0027claim_message\u0027).seconds"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ac7a964_1d3d0590","line":54,"updated":"2014-08-14 23:36:14.000000000","message":"BUG: Can you add a newline character at the end of the string? Unfortunately, the stderr object doesn\u0027t do that by default. :(","commit_id":"263005b873a0b70aaf82e58ec7cbbcce6d4a0fa7"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"cb963c3685eca0de2016b5d0ebe636b81be065cd","unresolved":false,"context_lines":[{"line_number":68,"context_line":"                delete_total_requests +\u003d 1"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"            except TransportError as ex:"},{"line_number":71,"context_line":"                sys.stderr.write(\"Could not delete messages: {0}\\n\".format(ex))"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"            finally:"},{"line_number":74,"context_line":"                total_requests +\u003d 1"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ac7a964_3d42c110","line":71,"updated":"2014-08-14 23:36:14.000000000","message":"BUG: Can you add a newline character at the end of the string?","commit_id":"263005b873a0b70aaf82e58ec7cbbcce6d4a0fa7"}],"zaqar/bench/producer.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"e595e25c89f251ccd94f805cfc3eabc1716ce10b","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"with open(conf.messages_path) as f:"},{"line_number":34,"context_line":"    message_pool \u003d json.loads(f.read())"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"message_pool.sort(key\u003dlambda msg: msg[\u0027weight\u0027])"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_2a58c457","line":34,"updated":"2014-08-13 13:50:33.000000000","message":"Anyway we can move this out of global-land ?","commit_id":"c79c5d304f7867195c10c7f105b59c30b6c45cd4"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"cb963c3685eca0de2016b5d0ebe636b81be065cd","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"def load_messages():"},{"line_number":49,"context_line":"    default_file_name \u003d \u0027zaqar-benchmark-messages.json\u0027"},{"line_number":50,"context_line":"    messages_path \u003d conf.messages_path or conf.find_file(default_file_name)"},{"line_number":51,"context_line":"    if messages_path:"},{"line_number":52,"context_line":"        with open(messages_path) as f:"},{"line_number":53,"context_line":"            message_pool \u003d json.loads(f.read())"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ac7a964_773ff825","line":50,"updated":"2014-08-14 23:36:14.000000000","message":"DOC: It would be nice to mention how this works in the README, and that a sample JSON file exists that can be used as a starting point.","commit_id":"263005b873a0b70aaf82e58ec7cbbcce6d4a0fa7"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"cb963c3685eca0de2016b5d0ebe636b81be065cd","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            queue.post(choose_message(message_pool))"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        except TransportError as ex:"},{"line_number":88,"context_line":"            sys.stderr.write(\"Could not post a message : {0}\".format(ex))"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        else:"},{"line_number":91,"context_line":"            successful_requests +\u003d 1"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ac7a964_dd52addc","line":88,"updated":"2014-08-14 23:36:14.000000000","message":"BUG: Can you add a newline character at the end of the string?","commit_id":"263005b873a0b70aaf82e58ec7cbbcce6d4a0fa7"}]}
