)]}'
{"tools/duration_perf_analyse.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"e6c8d8b2aeb9f051b78d5792faea32ae37d4e868","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2014 eNovance"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_6f000402","line":1,"updated":"2015-01-22 14:46:53.000000000","message":"2015?","commit_id":"f6612d023cc9f1db73834e5ee04a5587b7ea3b70"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"15aad9cb5d7524ca4dd23fb8a1f66f9a5220a7f5","unresolved":false,"context_lines":[{"line_number":18,"context_line":"#"},{"line_number":19,"context_line":"#   $ clients\u003d10"},{"line_number":20,"context_line":"#   $ parallel --progress -j $clients python duration_perf_test.py \\"},{"line_number":21,"context_line":"#       --result myresults/client{} ::: $(seq 0 $clients)"},{"line_number":22,"context_line":"#   $ python duration_perf_analyse.py myresults"},{"line_number":23,"context_line":"#    * get_measures:"},{"line_number":24,"context_line":"#                  Time"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_78e1adcf","line":21,"updated":"2015-01-22 14:18:24.000000000","message":"::: ? bashism?","commit_id":"f6612d023cc9f1db73834e5ee04a5587b7ea3b70"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"5592a469b7cc61f2005c8f4b7c1320612277b84c","unresolved":false,"context_lines":[{"line_number":18,"context_line":"#"},{"line_number":19,"context_line":"#   $ clients\u003d10"},{"line_number":20,"context_line":"#   $ parallel --progress -j $clients python duration_perf_test.py \\"},{"line_number":21,"context_line":"#       --result myresults/client{} ::: $(seq 0 $clients)"},{"line_number":22,"context_line":"#   $ python duration_perf_analyse.py myresults"},{"line_number":23,"context_line":"#    * get_measures:"},{"line_number":24,"context_line":"#                  Time"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_2cae0a86","line":21,"in_reply_to":"1a930d6b_78e1adcf","updated":"2015-01-22 14:46:07.000000000","message":"this is the syntax of the parallel tools","commit_id":"f6612d023cc9f1db73834e5ee04a5587b7ea3b70"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"15aad9cb5d7524ca4dd23fb8a1f66f9a5220a7f5","unresolved":false,"context_lines":[{"line_number":41,"context_line":"                        help\u003d(\u0027Path of the results of perf_tool.py.\u0027),"},{"line_number":42,"context_line":"                        default\u003d\u0027result\u0027)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    datas \u003d {"},{"line_number":45,"context_line":"        \u0027get_measures\u0027: [],"},{"line_number":46,"context_line":"        \u0027write_measures\u0027: [],"},{"line_number":47,"context_line":"        \u0027write_metric\u0027: [],"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_f8775d39","line":44,"updated":"2015-01-22 14:18:24.000000000","message":"data is already plural, datum is singular","commit_id":"f6612d023cc9f1db73834e5ee04a5587b7ea3b70"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"5592a469b7cc61f2005c8f4b7c1320612277b84c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"                        help\u003d(\u0027Path of the results of perf_tool.py.\u0027),"},{"line_number":42,"context_line":"                        default\u003d\u0027result\u0027)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    datas \u003d {"},{"line_number":45,"context_line":"        \u0027get_measures\u0027: [],"},{"line_number":46,"context_line":"        \u0027write_measures\u0027: [],"},{"line_number":47,"context_line":"        \u0027write_metric\u0027: [],"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_4cd7d6ed","line":44,"in_reply_to":"1a930d6b_f8775d39","updated":"2015-01-22 14:46:07.000000000","message":"arf, same spelling mistake again, this one doesn\u0027t want to die...","commit_id":"f6612d023cc9f1db73834e5ee04a5587b7ea3b70"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e8f9f6e691bdc20da34df76a6b0896837d1984cf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2014 eNovance"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":10,"id":"1a930d6b_1a0f2f38","line":1,"updated":"2015-01-27 11:23:13.000000000","message":"Shebang?","commit_id":"01aa52833539983b1f57939211d3c37a36f83f53"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"f7d40416c913a3ed7998362c8eb2f48132c83867","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2014 eNovance"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":10,"id":"fa81d914_62f9254d","line":1,"in_reply_to":"1a930d6b_1a0f2f38","updated":"2015-01-28 06:40:28.000000000","message":"Done","commit_id":"01aa52833539983b1f57939211d3c37a36f83f53"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e8f9f6e691bdc20da34df76a6b0896837d1984cf","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            append \u003d append.append(datum.drop(\u0027Index\u0027, axis\u003d1))"},{"line_number":70,"context_line":"        merged.to_csv(os.path.join(args.result, \u0027%s_merged.csv\u0027 % method),"},{"line_number":71,"context_line":"                      index\u003dFalse)"},{"line_number":72,"context_line":"        print(\"* %s:\" % method)"},{"line_number":73,"context_line":"        print(append.describe())"},{"line_number":74,"context_line":"        print(\"\")"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1a930d6b_fa14234e","line":72,"updated":"2015-01-27 11:23:13.000000000","message":"print() without importing print_function. Looks like you cheated.","commit_id":"01aa52833539983b1f57939211d3c37a36f83f53"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"f7d40416c913a3ed7998362c8eb2f48132c83867","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            append \u003d append.append(datum.drop(\u0027Index\u0027, axis\u003d1))"},{"line_number":70,"context_line":"        merged.to_csv(os.path.join(args.result, \u0027%s_merged.csv\u0027 % method),"},{"line_number":71,"context_line":"                      index\u003dFalse)"},{"line_number":72,"context_line":"        print(\"* %s:\" % method)"},{"line_number":73,"context_line":"        print(append.describe())"},{"line_number":74,"context_line":"        print(\"\")"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"fa81d914_2251ed62","line":72,"in_reply_to":"1a930d6b_fa14234e","updated":"2015-01-28 06:40:28.000000000","message":"Hum, we do not support python 2.6, anymore ?","commit_id":"01aa52833539983b1f57939211d3c37a36f83f53"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"a52904c9216f18a66e310a9bfe3885de2a2bb986","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            append \u003d append.append(datum.drop(\u0027Index\u0027, axis\u003d1))"},{"line_number":70,"context_line":"        merged.to_csv(os.path.join(args.result, \u0027%s_merged.csv\u0027 % method),"},{"line_number":71,"context_line":"                      index\u003dFalse)"},{"line_number":72,"context_line":"        print(\"* %s:\" % method)"},{"line_number":73,"context_line":"        print(append.describe())"},{"line_number":74,"context_line":"        print(\"\")"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"fa81d914_84870161","line":72,"in_reply_to":"fa81d914_2251ed62","updated":"2015-01-28 09:40:10.000000000","message":"No you\u0027re right.","commit_id":"01aa52833539983b1f57939211d3c37a36f83f53"}],"tools/duration_perf_test.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"e6c8d8b2aeb9f051b78d5792faea32ae37d4e868","unresolved":false,"context_lines":[{"line_number":21,"context_line":"# or to simulate multiple clients workload:"},{"line_number":22,"context_line":"#"},{"line_number":23,"context_line":"#   $ clients\u003d10"},{"line_number":24,"context_line":"#   $ parallel --progress -j $clients python duration_perf_test.py \\"},{"line_number":25,"context_line":"#       --result myresults/client{} ::: $(seq 0 $clients)"},{"line_number":26,"context_line":"#   $ python duration_perf_analyse.py myresults"},{"line_number":27,"context_line":"#    * get_measures:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_4c199678","line":24,"updated":"2015-01-22 14:46:53.000000000","message":"Would it make sense to explicitly ensure in the instructions that the parallel package is installed? e.g.\n\n  $ sudo apt-get install parallel  # Ubuntu\n  $ sudo yum install -y parallel   # Fedora \u0026 derivatives","commit_id":"f6612d023cc9f1db73834e5ee04a5587b7ea3b70"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"15aad9cb5d7524ca4dd23fb8a1f66f9a5220a7f5","unresolved":false,"context_lines":[{"line_number":43,"context_line":"import requests"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def timer(func):"},{"line_number":47,"context_line":"    def inner(self, index, *args, **kwargs):"},{"line_number":48,"context_line":"        start \u003d time.time()"},{"line_number":49,"context_line":"        count \u003d func(self, index, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_f8211dfd","line":46,"updated":"2015-01-22 14:18:24.000000000","message":"I wonder if there\u0027s no something in timeit module that could be used.","commit_id":"f6612d023cc9f1db73834e5ee04a5587b7ea3b70"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"5592a469b7cc61f2005c8f4b7c1320612277b84c","unresolved":false,"context_lines":[{"line_number":43,"context_line":"import requests"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def timer(func):"},{"line_number":47,"context_line":"    def inner(self, index, *args, **kwargs):"},{"line_number":48,"context_line":"        start \u003d time.time()"},{"line_number":49,"context_line":"        count \u003d func(self, index, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_cf0d7839","line":46,"in_reply_to":"1a930d6b_f8211dfd","updated":"2015-01-22 14:46:07.000000000","message":"timeit doesn\u0027t return the your method result but only the elasped time. And I need both.","commit_id":"f6612d023cc9f1db73834e5ee04a5587b7ea3b70"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"e6c8d8b2aeb9f051b78d5792faea32ae37d4e868","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            return 0"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    def _get_random_metric(self):"},{"line_number":119,"context_line":"        return self._metrics[random.randint(0, len(self._metrics) - 1)]"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def run(self):"},{"line_number":122,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_8cf29e6d","line":119,"updated":"2015-01-22 14:46:53.000000000","message":"Would results be more repeatable if there was a stronger guarantee than random distribution that no individual metric is hit significantly more often than the rest? (since the performance of carbonara-based drivers degrades slightly as the number of datapoints in the archive increases).\n\ne.g. if metric_count\u003d10 and measure_count\u003d10000, we\u0027d expect each metric to be hit with 1000 batches.","commit_id":"f6612d023cc9f1db73834e5ee04a5587b7ea3b70"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"e6c8d8b2aeb9f051b78d5792faea32ae37d4e868","unresolved":false,"context_lines":[{"line_number":159,"context_line":"                        default\u003d\"http://localhost:8041\")"},{"line_number":160,"context_line":"    parser.add_argument(\"--archive-policy\","},{"line_number":161,"context_line":"                        help\u003d\u0027Archive policy to use.\u0027,"},{"line_number":162,"context_line":"                        default\u003d\"low\")"},{"line_number":163,"context_line":"    parser.add_argument(\"--os-username\","},{"line_number":164,"context_line":"                        dest\u003d\u0027username\u0027,"},{"line_number":165,"context_line":"                        help\u003d\u0027User name to use for OpenStack service access.\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a930d6b_ecb0828d","line":162,"updated":"2015-01-22 14:46:53.000000000","message":"Would it make more sense to create an archive policy specifically for the test with the required granularity and retention? (as \"low\" could mean different things for different gnocchi deployments)\n\n(the test ArchivePolicy could be removed once the test completes)\n\n(all the above would require that the is run with admin privilege IIUC)","commit_id":"f6612d023cc9f1db73834e5ee04a5587b7ea3b70"}]}
