)]}'
{"rally/cli/commands/task.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"7efdc653c1287399195173a1aa35379c2425f1bb","unresolved":false,"context_lines":[{"line_number":620,"context_line":"                                                  \"%Y-%m-%dT%H:%M:%S\")"},{"line_number":621,"context_line":"                updated_at +\u003d dt.timedelta(seconds\u003dresult[\"full_duration\"])"},{"line_number":622,"context_line":"                updated_at \u003d updated_at.strftime(consts.TimeFormat.ISO8601)"},{"line_number":623,"context_line":"                pass_sla \u003d all([s.get(\"success\") for s in result[\"sla\"]])"},{"line_number":624,"context_line":"                workload \u003d {\"name\": result[\"key\"][\"name\"],"},{"line_number":625,"context_line":"                            \"position\": result[\"key\"][\"pos\"],"},{"line_number":626,"context_line":"                            \"description\": result[\"key\"].get(\"description\","}],"source_content_type":"text/x-python","patch_set":19,"id":"3f1d235d_cf29738a","line":623,"updated":"2017-07-05 19:43:21.000000000","message":"remove [] you don\u0027t need them \n\n  pass_sla \u003d all(s.get(\"success\") for s in result[\"sla\"])","commit_id":"3b2f090f190bd1872e93e845858ecc995a3e99ae"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"889271fbdb73ecc76361d8836003cbc623c64d72","unresolved":false,"context_lines":[{"line_number":620,"context_line":"                                                  \"%Y-%m-%dT%H:%M:%S\")"},{"line_number":621,"context_line":"                updated_at +\u003d dt.timedelta(seconds\u003dresult[\"full_duration\"])"},{"line_number":622,"context_line":"                updated_at \u003d updated_at.strftime(consts.TimeFormat.ISO8601)"},{"line_number":623,"context_line":"                pass_sla \u003d all([s.get(\"success\") for s in result[\"sla\"]])"},{"line_number":624,"context_line":"                workload \u003d {\"name\": result[\"key\"][\"name\"],"},{"line_number":625,"context_line":"                            \"position\": result[\"key\"][\"pos\"],"},{"line_number":626,"context_line":"                            \"description\": result[\"key\"].get(\"description\","}],"source_content_type":"text/x-python","patch_set":19,"id":"3f1d235d_5adf5c39","line":623,"in_reply_to":"3f1d235d_cf29738a","updated":"2017-07-05 21:28:12.000000000","message":"Done","commit_id":"3b2f090f190bd1872e93e845858ecc995a3e99ae"}],"rally/common/db/sqlalchemy/api.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"b15a3eee228e67f97a20d65e8f150d397f6f467a","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                        chunk[\"atomic_actions\"] \u003d new_atomic_actions"},{"line_number":236,"context_line":"                    workload_data.update({\"chunk_data\": chunk_data})"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        return sorted([raw for workload_data in results"},{"line_number":239,"context_line":"                       for raw in workload_data.chunk_data[\"raw\"]],"},{"line_number":240,"context_line":"                      key\u003dlambda x: x[\"timestamp\"])"},{"line_number":241,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_5b81454a","line":238,"updated":"2017-07-08 07:49:54.000000000","message":"It should be already stored as sorted in DB.","commit_id":"02ec4c065bb1f9df50710542aac9149bd6d391d1"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"4143060b331b076e80191af4ae7c30b4ce260ca5","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                        chunk[\"atomic_actions\"] \u003d new_atomic_actions"},{"line_number":236,"context_line":"                    workload_data.update({\"chunk_data\": chunk_data})"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        return sorted([raw for workload_data in results"},{"line_number":239,"context_line":"                       for raw in workload_data.chunk_data[\"raw\"]],"},{"line_number":240,"context_line":"                      key\u003dlambda x: x[\"timestamp\"])"},{"line_number":241,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_fbe4913e","line":238,"in_reply_to":"3f1d235d_5b81454a","updated":"2017-07-08 07:56:28.000000000","message":"are you sure?","commit_id":"02ec4c065bb1f9df50710542aac9149bd6d391d1"}],"rally/common/db/sqlalchemy/migrations/versions/c517b0011857_fill_missed_workload_info.py":[{"author":{"_account_id":21528,"name":"chenhb","email":"chen.haibing1@zte.com.cn","username":"chenhb"},"change_message_id":"0db6932cea7b0faf5b8530a4dcb92f4c1243df2c","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        data \u003d sorted(workloads[workload.uuid],"},{"line_number":92,"context_line":"                      key\u003dlambda itr: itr[\"timestamp\"])"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        start_time \u003d data[0][\"timestamp\"]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        atomics \u003d collections.OrderedDict()"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"3f1d235d_71d4f2bd","line":94,"updated":"2017-07-01 03:59:43.000000000","message":"data may be a empty list.\nhttp://paste.openstack.org/show/614227/","commit_id":"78a4e857d3f5c7833c06b3e424b7b4d57526af09"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"6b1cd7fd6911d8cd16852adc47e50dbbfafe98a9","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        data \u003d sorted(workloads[workload.uuid],"},{"line_number":92,"context_line":"                      key\u003dlambda itr: itr[\"timestamp\"])"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        start_time \u003d data[0][\"timestamp\"]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        atomics \u003d collections.OrderedDict()"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"3f1d235d_2b7718d7","line":94,"in_reply_to":"3f1d235d_71d4f2bd","updated":"2017-07-03 07:55:36.000000000","message":"good catch!","commit_id":"78a4e857d3f5c7833c06b3e424b7b4d57526af09"}],"rally/task/atomic.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"b15a3eee228e67f97a20d65e8f150d397f6f467a","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        if name not in merged_atomic:"},{"line_number":135,"context_line":"            merged_atomic[name] \u003d {\"duration\": duration, \"count\": 1}"},{"line_number":136,"context_line":"        else:"},{"line_number":137,"context_line":"            merged_atomic[name][\"duration\"] +\u003d duration"},{"line_number":138,"context_line":"            merged_atomic[name][\"count\"] +\u003d 1"},{"line_number":139,"context_line":"    return merged_atomic"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_9bec7d2a","line":137,"updated":"2017-07-08 07:49:54.000000000","message":"why do we need to merge atomic actions and I don\u0027t understand it was impossible before to have atomics with the same name","commit_id":"02ec4c065bb1f9df50710542aac9149bd6d391d1"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"b691e3f4687e551fd01dd48f400bf2e50943d5d4","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        if name not in merged_atomic:"},{"line_number":135,"context_line":"            merged_atomic[name] \u003d {\"duration\": duration, \"count\": 1}"},{"line_number":136,"context_line":"        else:"},{"line_number":137,"context_line":"            merged_atomic[name][\"duration\"] +\u003d duration"},{"line_number":138,"context_line":"            merged_atomic[name][\"count\"] +\u003d 1"},{"line_number":139,"context_line":"    return merged_atomic"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_063131ed","line":137,"in_reply_to":"3f1d235d_3bc44992","updated":"2017-07-08 23:07:56.000000000","message":"you lose data actually. Because you can\u0027t track duration of separate atomic actions. But ok","commit_id":"02ec4c065bb1f9df50710542aac9149bd6d391d1"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"4143060b331b076e80191af4ae7c30b4ce260ca5","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        if name not in merged_atomic:"},{"line_number":135,"context_line":"            merged_atomic[name] \u003d {\"duration\": duration, \"count\": 1}"},{"line_number":136,"context_line":"        else:"},{"line_number":137,"context_line":"            merged_atomic[name][\"duration\"] +\u003d duration"},{"line_number":138,"context_line":"            merged_atomic[name][\"count\"] +\u003d 1"},{"line_number":139,"context_line":"    return merged_atomic"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_3bc44992","line":137,"in_reply_to":"3f1d235d_9bec7d2a","updated":"2017-07-08 07:56:28.000000000","message":"It is possible now. I was done with refactoring atomic actions. The purpose of this change - have a more control for atomics and simpification of development (there is no need to wrap loop for of creation some entities with parent \"create_entities\" atomic timer, it will be merged automaticly while diplaying without loosing details)","commit_id":"02ec4c065bb1f9df50710542aac9149bd6d391d1"}],"rally/task/processing/charts.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"b15a3eee228e67f97a20d65e8f150d397f6f467a","unresolved":false,"context_lines":[{"line_number":406,"context_line":"        stats \u003d {\"total\": None, \"atomics\": []}"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"        def row_to_dict(data):"},{"line_number":409,"context_line":"            return {\"name\": data[0],"},{"line_number":410,"context_line":"                    \"min\": data[1],"},{"line_number":411,"context_line":"                    \"median\": data[2],"},{"line_number":412,"context_line":"                    \"90%ile\": data[3],"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_7bf1a101","line":409,"updated":"2017-07-08 07:49:54.000000000","message":"you can use zip() here\n\ndict(zip([headers], data)","commit_id":"02ec4c065bb1f9df50710542aac9149bd6d391d1"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"4143060b331b076e80191af4ae7c30b4ce260ca5","unresolved":false,"context_lines":[{"line_number":406,"context_line":"        stats \u003d {\"total\": None, \"atomics\": []}"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"        def row_to_dict(data):"},{"line_number":409,"context_line":"            return {\"name\": data[0],"},{"line_number":410,"context_line":"                    \"min\": data[1],"},{"line_number":411,"context_line":"                    \"median\": data[2],"},{"line_number":412,"context_line":"                    \"90%ile\": data[3],"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_fbbdb102","line":409,"in_reply_to":"3f1d235d_7bf1a101","updated":"2017-07-08 07:56:28.000000000","message":"I dislike the keys in self.headers :)","commit_id":"02ec4c065bb1f9df50710542aac9149bd6d391d1"}],"tests/unit/task/test_engine.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"b691e3f4687e551fd01dd48f400bf2e50943d5d4","unresolved":false,"context_lines":[{"line_number":726,"context_line":"        self.assertFalse(workload.add_workload_data.called)"},{"line_number":727,"context_line":"        workload.set_results.assert_called_once_with("},{"line_number":728,"context_line":"            full_duration\u003d1, sla_results\u003dmock_sla_results, load_duration\u003d0,"},{"line_number":729,"context_line":"            start_time\u003dfloat(\"inf\"))"},{"line_number":730,"context_line":""},{"line_number":731,"context_line":"    @mock.patch(\"rally.common.objects.Task.get_status\")"},{"line_number":732,"context_line":"    @mock.patch(\"rally.task.engine.ResultConsumer.wait_and_abort\")"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_a655ddfc","line":729,"updated":"2017-07-08 23:07:56.000000000","message":"why it\u0027s float(\"inf\") ? how can start time be such?","commit_id":"02ec4c065bb1f9df50710542aac9149bd6d391d1"}]}
