)]}'
{"rally/benchmark/processing/utils.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c9875a74be6af986f0d4cb39d7947cf2f8390f1c","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    return result"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"class Merged(object):"},{"line_number":149,"context_line":"    \"\"\"Reduce stream of values to list with required length."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    This processes input values and merge (if required) some"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_f304a14a","line":148,"updated":"2015-06-25 05:39:26.000000000","message":"wrong name. It\u0027s not merged (which is merge operation in past) it\u0027s thing that merges points (actually it doesn\u0027t merge them always) so it should be at least \"Merger\" but I will call it GraphZiper","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"7ba361edb16e97b474f0f62a1b9d3254f2a2d06b","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    return result"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"class Merged(object):"},{"line_number":149,"context_line":"    \"\"\"Reduce stream of values to list with required length."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    This processes input values and merge (if required) some"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_35918647","line":148,"in_reply_to":"fa32b979_f304a14a","updated":"2015-06-25 10:05:04.000000000","message":"Let it be `Merger\u0027","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"afdf059e47548d48b411ab5a5d1beb71019fdde5","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"class Merged(object):"},{"line_number":149,"context_line":"    \"\"\"Reduce stream of values to list with required length."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    This processes input values and merge (if required) some"},{"line_number":152,"context_line":"    of them, so we will have result list with expected length."},{"line_number":153,"context_line":"    The only thing that must be known before start processing is total count"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_6414459f","line":150,"updated":"2015-06-25 07:13:13.000000000","message":"I don\u0027t like usually to put the code in the review but here is my variant: \n\n  http://paste.openstack.org/show/320781/\n\nIt has the same issue with precision as this one but has simpler code and some nice things (e.g. graphs starts and ends on 1 and last poistion) plus you can get result without pushing all values and so on","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"698ad9bed5c0f69a5752ffd51c7b1841b8a07b26","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"class Merged(object):"},{"line_number":149,"context_line":"    \"\"\"Reduce stream of values to list with required length."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    This processes input values and merge (if required) some"},{"line_number":152,"context_line":"    of them, so we will have result list with expected length."},{"line_number":153,"context_line":"    The only thing that must be known before start processing is total count"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_3851210f","line":150,"in_reply_to":"fa32b979_6414459f","updated":"2015-06-30 08:49:52.000000000","message":"@Boris sorry, I\u0027ve made a patch with your class","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"7ba361edb16e97b474f0f62a1b9d3254f2a2d06b","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"class Merged(object):"},{"line_number":149,"context_line":"    \"\"\"Reduce stream of values to list with required length."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    This processes input values and merge (if required) some"},{"line_number":152,"context_line":"    of them, so we will have result list with expected length."},{"line_number":153,"context_line":"    The only thing that must be known before start processing is total count"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_f5e47ee0","line":150,"in_reply_to":"fa32b979_6414459f","updated":"2015-06-25 10:05:04.000000000","message":"Your class has similar size (do not count docstrings), but it produces same results - it is not `more effective\u0027.\n\nSo I insist on my class. I would no use your code.","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c9875a74be6af986f0d4cb39d7947cf2f8390f1c","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    \"\"\""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def __init__(self, total_points, max_points\u003d1000):"},{"line_number":161,"context_line":"        self._data \u003d []"},{"line_number":162,"context_line":"        self.max_points \u003d max_points"},{"line_number":163,"context_line":"        self.total_points \u003d total_points"},{"line_number":164,"context_line":"        self.ratio \u003d total_points / float(max_points)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_1387c5b5","line":161,"updated":"2015-06-25 05:39:26.000000000","message":"self._result","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"7ba361edb16e97b474f0f62a1b9d3254f2a2d06b","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    \"\"\""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def __init__(self, total_points, max_points\u003d1000):"},{"line_number":161,"context_line":"        self._data \u003d []"},{"line_number":162,"context_line":"        self.max_points \u003d max_points"},{"line_number":163,"context_line":"        self.total_points \u003d total_points"},{"line_number":164,"context_line":"        self.ratio \u003d total_points / float(max_points)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_d5ce1a59","line":161,"in_reply_to":"fa32b979_1387c5b5","updated":"2015-06-25 10:05:04.000000000","message":"Ok","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c9875a74be6af986f0d4cb39d7947cf2f8390f1c","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        self._data \u003d []"},{"line_number":162,"context_line":"        self.max_points \u003d max_points"},{"line_number":163,"context_line":"        self.total_points \u003d total_points"},{"line_number":164,"context_line":"        self.ratio \u003d total_points / float(max_points)"},{"line_number":165,"context_line":"        self.buffered \u003d []"},{"line_number":166,"context_line":"        self.cur_ratio \u003d 0"},{"line_number":167,"context_line":"        self.idx_merge \u003d 0"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_93cc3536","line":164,"updated":"2015-06-25 05:39:26.000000000","message":"nuclear name","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"7ba361edb16e97b474f0f62a1b9d3254f2a2d06b","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        self._data \u003d []"},{"line_number":162,"context_line":"        self.max_points \u003d max_points"},{"line_number":163,"context_line":"        self.total_points \u003d total_points"},{"line_number":164,"context_line":"        self.ratio \u003d total_points / float(max_points)"},{"line_number":165,"context_line":"        self.buffered \u003d []"},{"line_number":166,"context_line":"        self.cur_ratio \u003d 0"},{"line_number":167,"context_line":"        self.idx_merge \u003d 0"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_5509aa93","line":164,"in_reply_to":"fa32b979_93cc3536","updated":"2015-06-25 10:05:04.000000000","message":"Let is be `compression_ratio\u0027","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c9875a74be6af986f0d4cb39d7947cf2f8390f1c","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        self.total_points \u003d total_points"},{"line_number":164,"context_line":"        self.ratio \u003d total_points / float(max_points)"},{"line_number":165,"context_line":"        self.buffered \u003d []"},{"line_number":166,"context_line":"        self.cur_ratio \u003d 0"},{"line_number":167,"context_line":"        self.idx_merge \u003d 0"},{"line_number":168,"context_line":"        self.idx \u003d 0"},{"line_number":169,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_73c97125","line":166,"updated":"2015-06-25 05:39:26.000000000","message":"unclear name","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"7ba361edb16e97b474f0f62a1b9d3254f2a2d06b","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        self.total_points \u003d total_points"},{"line_number":164,"context_line":"        self.ratio \u003d total_points / float(max_points)"},{"line_number":165,"context_line":"        self.buffered \u003d []"},{"line_number":166,"context_line":"        self.cur_ratio \u003d 0"},{"line_number":167,"context_line":"        self.idx_merge \u003d 0"},{"line_number":168,"context_line":"        self.idx \u003d 0"},{"line_number":169,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_15132266","line":166,"in_reply_to":"fa32b979_73c97125","updated":"2015-06-25 10:05:04.000000000","message":"Let it be `buffered_ratio\u0027","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c9875a74be6af986f0d4cb39d7947cf2f8390f1c","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        self.ratio \u003d total_points / float(max_points)"},{"line_number":165,"context_line":"        self.buffered \u003d []"},{"line_number":166,"context_line":"        self.cur_ratio \u003d 0"},{"line_number":167,"context_line":"        self.idx_merge \u003d 0"},{"line_number":168,"context_line":"        self.idx \u003d 0"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def add(self, value):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_d3471da1","line":167,"updated":"2015-06-25 05:39:26.000000000","message":"unclear name.","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"7ba361edb16e97b474f0f62a1b9d3254f2a2d06b","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        self.ratio \u003d total_points / float(max_points)"},{"line_number":165,"context_line":"        self.buffered \u003d []"},{"line_number":166,"context_line":"        self.cur_ratio \u003d 0"},{"line_number":167,"context_line":"        self.idx_merge \u003d 0"},{"line_number":168,"context_line":"        self.idx \u003d 0"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def add(self, value):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_a05b1221","line":167,"in_reply_to":"fa32b979_d3471da1","updated":"2015-06-25 10:05:04.000000000","message":"Let it be `result_idx\u0027","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"607cfa22931e59e43f566bd3fd0bda5ce3ebc91c","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        if self.idx \u003e self.total_points:"},{"line_number":174,"context_line":"            raise RuntimeError("},{"line_number":175,"context_line":"                \"Merge is complete (%d values): can not add more values\""},{"line_number":176,"context_line":"                % self.total_points)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        if self.ratio \u003c\u003d 1:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_ecce0959","line":175,"updated":"2015-06-25 10:14:30.000000000","message":"\"Merge is completeD\" ?","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"282f129815727ad1ade71439493333eae2dedc80","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        if self.idx \u003e self.total_points:"},{"line_number":174,"context_line":"            raise RuntimeError("},{"line_number":175,"context_line":"                \"Merge is complete (%d values): can not add more values\""},{"line_number":176,"context_line":"                % self.total_points)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        if self.ratio \u003c\u003d 1:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_2d313aa2","line":175,"in_reply_to":"fa32b979_ecce0959","updated":"2015-06-25 10:31:09.000000000","message":"`complete\u0027 is also an adjective ;)","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c9875a74be6af986f0d4cb39d7947cf2f8390f1c","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                % self.total_points)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        if self.ratio \u003c\u003d 1:"},{"line_number":179,"context_line":"            self._data.append((self.idx, value))"},{"line_number":180,"context_line":"            return"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        self.cur_ratio +\u003d 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_53130d65","line":179,"updated":"2015-06-25 05:39:26.000000000","message":"self._zipped_graph.append(...)","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"7ba361edb16e97b474f0f62a1b9d3254f2a2d06b","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                % self.total_points)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        if self.ratio \u003c\u003d 1:"},{"line_number":179,"context_line":"            self._data.append((self.idx, value))"},{"line_number":180,"context_line":"            return"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        self.cur_ratio +\u003d 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_20a6220f","line":179,"in_reply_to":"fa32b979_53130d65","updated":"2015-06-25 10:05:04.000000000","message":"self._result.append(...) # We do not know that is a `graph\u0027 - this class can be used not only for rendering graphs","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c9875a74be6af986f0d4cb39d7947cf2f8390f1c","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            self._data.append((self.idx, value))"},{"line_number":180,"context_line":"            return"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        self.cur_ratio +\u003d 1"},{"line_number":183,"context_line":"        if (self.idx \u003d\u003d self.total_points"},{"line_number":184,"context_line":"                or (self.cur_ratio \u003e\u003d self.ratio"},{"line_number":185,"context_line":"                    and self.idx_merge !\u003d (self.max_points - 1))):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_3310c958","line":182,"updated":"2015-06-25 05:39:26.000000000","message":"cur_ration is terrible name","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"7ba361edb16e97b474f0f62a1b9d3254f2a2d06b","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            self._data.append((self.idx, value))"},{"line_number":180,"context_line":"            return"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        self.cur_ratio +\u003d 1"},{"line_number":183,"context_line":"        if (self.idx \u003d\u003d self.total_points"},{"line_number":184,"context_line":"                or (self.cur_ratio \u003e\u003d self.ratio"},{"line_number":185,"context_line":"                    and self.idx_merge !\u003d (self.max_points - 1))):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_60d8aa53","line":182,"in_reply_to":"fa32b979_3310c958","updated":"2015-06-25 10:05:04.000000000","message":"As mentioned above, I will rename it to `buffered_ratio\u0027","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"607cfa22931e59e43f566bd3fd0bda5ce3ebc91c","unresolved":false,"context_lines":[{"line_number":192,"context_line":"                rest \u003d value * self.cur_ratio"},{"line_number":193,"context_line":"                self.buffered.append((1 - self.cur_ratio, value - rest))"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"            sum_r, sum_v \u003d functools.reduce("},{"line_number":196,"context_line":"                lambda a, b: (a[0] + b[0], a[1] + b[1]), self.buffered)"},{"line_number":197,"context_line":"            if sum_r:"},{"line_number":198,"context_line":"                self.idx_merge +\u003d 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_f56b1eb7","line":195,"updated":"2015-06-25 10:14:30.000000000","message":"I think that functools.reduce method and lambda could be too slow in such bottleneck for computation. Maybe to use a simple cycle?","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"7bcfd803981dce372759621c40e6e8ae10504003","unresolved":false,"context_lines":[{"line_number":192,"context_line":"                rest \u003d value * self.cur_ratio"},{"line_number":193,"context_line":"                self.buffered.append((1 - self.cur_ratio, value - rest))"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"            sum_r, sum_v \u003d functools.reduce("},{"line_number":196,"context_line":"                lambda a, b: (a[0] + b[0], a[1] + b[1]), self.buffered)"},{"line_number":197,"context_line":"            if sum_r:"},{"line_number":198,"context_line":"                self.idx_merge +\u003d 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_a686c7b6","line":195,"in_reply_to":"fa32b979_f56b1eb7","updated":"2015-06-25 12:31:25.000000000","message":"@Roman, you were right\n\nhttp://paste.openstack.org/show/320891/","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"282f129815727ad1ade71439493333eae2dedc80","unresolved":false,"context_lines":[{"line_number":192,"context_line":"                rest \u003d value * self.cur_ratio"},{"line_number":193,"context_line":"                self.buffered.append((1 - self.cur_ratio, value - rest))"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"            sum_r, sum_v \u003d functools.reduce("},{"line_number":196,"context_line":"                lambda a, b: (a[0] + b[0], a[1] + b[1]), self.buffered)"},{"line_number":197,"context_line":"            if sum_r:"},{"line_number":198,"context_line":"                self.idx_merge +\u003d 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_ed44b273","line":195,"in_reply_to":"fa32b979_f56b1eb7","updated":"2015-06-25 10:31:09.000000000","message":"I think - no. But I\u0027m making test for that - it will be posted here in comment later. However I expected this test in your comment ;).","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"607cfa22931e59e43f566bd3fd0bda5ce3ebc91c","unresolved":false,"context_lines":[{"line_number":196,"context_line":"                lambda a, b: (a[0] + b[0], a[1] + b[1]), self.buffered)"},{"line_number":197,"context_line":"            if sum_r:"},{"line_number":198,"context_line":"                self.idx_merge +\u003d 1"},{"line_number":199,"context_line":"                self._data.append((self.idx, float(sum_v / sum_r)))"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"            self.buffered \u003d rest and [(self.cur_ratio, rest)] or []"},{"line_number":202,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_ed20329c","line":199,"updated":"2015-06-25 10:14:30.000000000","message":"Don\u0027t here must to be self.idx_merge?","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"4fe37f95f30dd4ccfaf257212b7881790e28f2c4","unresolved":false,"context_lines":[{"line_number":196,"context_line":"                lambda a, b: (a[0] + b[0], a[1] + b[1]), self.buffered)"},{"line_number":197,"context_line":"            if sum_r:"},{"line_number":198,"context_line":"                self.idx_merge +\u003d 1"},{"line_number":199,"context_line":"                self._data.append((self.idx, float(sum_v / sum_r)))"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"            self.buffered \u003d rest and [(self.cur_ratio, rest)] or []"},{"line_number":202,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_17a31fb3","line":199,"updated":"2015-06-25 12:23:19.000000000","message":"Isn\u0027t sum_r must to be always equal to self.ratio?","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"dd958c45b5700b3691d7b65d5a0208185a399a70","unresolved":false,"context_lines":[{"line_number":196,"context_line":"                lambda a, b: (a[0] + b[0], a[1] + b[1]), self.buffered)"},{"line_number":197,"context_line":"            if sum_r:"},{"line_number":198,"context_line":"                self.idx_merge +\u003d 1"},{"line_number":199,"context_line":"                self._data.append((self.idx, float(sum_v / sum_r)))"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"            self.buffered \u003d rest and [(self.cur_ratio, rest)] or []"},{"line_number":202,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_d73857f0","line":199,"in_reply_to":"fa32b979_17a31fb3","updated":"2015-06-25 12:32:45.000000000","message":"You are right! sum_r is equal to self.ratio!","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"282f129815727ad1ade71439493333eae2dedc80","unresolved":false,"context_lines":[{"line_number":196,"context_line":"                lambda a, b: (a[0] + b[0], a[1] + b[1]), self.buffered)"},{"line_number":197,"context_line":"            if sum_r:"},{"line_number":198,"context_line":"                self.idx_merge +\u003d 1"},{"line_number":199,"context_line":"                self._data.append((self.idx, float(sum_v / sum_r)))"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"            self.buffered \u003d rest and [(self.cur_ratio, rest)] or []"},{"line_number":202,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_8d04064a","line":199,"in_reply_to":"fa32b979_ed20329c","updated":"2015-06-25 10:31:09.000000000","message":"No, in result data we must know real index (in graphs that is real iteration number)","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c9875a74be6af986f0d4cb39d7947cf2f8390f1c","unresolved":false,"context_lines":[{"line_number":202,"context_line":"        else:"},{"line_number":203,"context_line":"            self.buffered.append((1, value))"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    def data(self):"},{"line_number":206,"context_line":"        \"\"\"Get merged result."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        This outputs list of tuples (int iteration_n, float value), where:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_f3b26193","line":205,"updated":"2015-06-25 05:39:26.000000000","message":"It\u0027s really bad name for method. Read you frist line: \n\nIMHO data !\u003d get merged result \n\ndef get_result() or get_ziped_graph() or get_graph() or at least get_data()","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"7ba361edb16e97b474f0f62a1b9d3254f2a2d06b","unresolved":false,"context_lines":[{"line_number":202,"context_line":"        else:"},{"line_number":203,"context_line":"            self.buffered.append((1, value))"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    def data(self):"},{"line_number":206,"context_line":"        \"\"\"Get merged result."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        This outputs list of tuples (int iteration_n, float value), where:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_c07e5618","line":205,"in_reply_to":"fa32b979_f3b26193","updated":"2015-06-25 10:05:04.000000000","message":"Let it be `get_result()\u0027","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c9875a74be6af986f0d4cb39d7947cf2f8390f1c","unresolved":false,"context_lines":[{"line_number":203,"context_line":"            self.buffered.append((1, value))"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    def data(self):"},{"line_number":206,"context_line":"        \"\"\"Get merged result."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        This outputs list of tuples (int iteration_n, float value), where:"},{"line_number":209,"context_line":"          iteration_n - real number of some iteration"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_b3a85921","line":206,"updated":"2015-06-25 05:39:26.000000000","message":"What means merged result? It\u0027s really unclear","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"7ba361edb16e97b474f0f62a1b9d3254f2a2d06b","unresolved":false,"context_lines":[{"line_number":203,"context_line":"            self.buffered.append((1, value))"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    def data(self):"},{"line_number":206,"context_line":"        \"\"\"Get merged result."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        This outputs list of tuples (int iteration_n, float value), where:"},{"line_number":209,"context_line":"          iteration_n - real number of some iteration"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_c0a5f6a1","line":206,"in_reply_to":"fa32b979_b3a85921","updated":"2015-06-25 10:05:04.000000000","message":"I will try to make this docstring more clear","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c9875a74be6af986f0d4cb39d7947cf2f8390f1c","unresolved":false,"context_lines":[{"line_number":205,"context_line":"    def data(self):"},{"line_number":206,"context_line":"        \"\"\"Get merged result."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        This outputs list of tuples (int iteration_n, float value), where:"},{"line_number":209,"context_line":"          iteration_n - real number of some iteration"},{"line_number":210,"context_line":"          value - value for this iteration, can be a result of merge with"},{"line_number":211,"context_line":"                  previous iterations"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_b37ff9a9","line":208,"updated":"2015-06-25 05:39:26.000000000","message":"why tuples why not just list of lists?","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"7ba361edb16e97b474f0f62a1b9d3254f2a2d06b","unresolved":false,"context_lines":[{"line_number":205,"context_line":"    def data(self):"},{"line_number":206,"context_line":"        \"\"\"Get merged result."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        This outputs list of tuples (int iteration_n, float value), where:"},{"line_number":209,"context_line":"          iteration_n - real number of some iteration"},{"line_number":210,"context_line":"          value - value for this iteration, can be a result of merge with"},{"line_number":211,"context_line":"                  previous iterations"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_3bd2d75c","line":208,"in_reply_to":"fa32b979_b37ff9a9","updated":"2015-06-25 10:05:04.000000000","message":"Each point (tuple) will not be changed - so I use immutable data type. However  tuples are created more fast and use lesser memory. Also tuples are something implying structure - and we have structure (X, Y)\n\nhttp://jtauber.com/blog/2006/04/15/python_tuples_are_not_just_constant_lists/","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"c9875a74be6af986f0d4cb39d7947cf2f8390f1c","unresolved":false,"context_lines":[{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        :returns: [(int iteration_n, float value), ...]"},{"line_number":214,"context_line":"        \"\"\""},{"line_number":215,"context_line":"        if self.idx \u003c self.total_points:"},{"line_number":216,"context_line":"            raise RuntimeError("},{"line_number":217,"context_line":"                \"Incomplete merge: having %d of %d values\""},{"line_number":218,"context_line":"                % (self.idx, self.total_points))"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_931755a2","line":215,"updated":"2015-06-25 05:39:26.000000000","message":"I would prefer to remove this check and return always the data that you have. \n\nReally don\u0027t see any reason to rise here exceptions.","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"7ba361edb16e97b474f0f62a1b9d3254f2a2d06b","unresolved":false,"context_lines":[{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        :returns: [(int iteration_n, float value), ...]"},{"line_number":214,"context_line":"        \"\"\""},{"line_number":215,"context_line":"        if self.idx \u003c self.total_points:"},{"line_number":216,"context_line":"            raise RuntimeError("},{"line_number":217,"context_line":"                \"Incomplete merge: having %d of %d values\""},{"line_number":218,"context_line":"                % (self.idx, self.total_points))"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_dbc16b81","line":215,"in_reply_to":"fa32b979_931755a2","updated":"2015-06-25 10:05:04.000000000","message":"No problem","commit_id":"e075195af1933298daf8e4123390291f9d426fd9"}],"rally/task/processing/utils.py":[{"author":{"_account_id":8840,"name":"Carlos L. Torres","email":"carlos.torres@rackspace.com","username":"carl6796"},"change_message_id":"6201c1c5df797d36e2fd0ba0f03aa4ef57127d43","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"        if self.compression_ratio \u003c\u003d 1:    # We don\u0027t need to compress"},{"line_number":197,"context_line":"            self.zipped_graph.append([self.point_order, value])"},{"line_number":198,"context_line":"        else:"},{"line_number":199,"context_line":"            if self.cached_ratios_sum + 1 \u003c self.compression_ratio:"},{"line_number":200,"context_line":"                self.cached_ratios_sum +\u003d 1"},{"line_number":201,"context_line":"                self.ratio_value_points.append([1, value])"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba3cc151_07881170","line":198,"updated":"2015-07-08 17:11:04.000000000","message":"Why are these nested?\n\nI think you can use elif here.","commit_id":"a789b29db5c2925d892234a89f690540efed9025"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"9d61da575f4826a799f32df8786351efabdf3435","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"        if self.compression_ratio \u003c\u003d 1:    # We don\u0027t need to compress"},{"line_number":197,"context_line":"            self.zipped_graph.append([self.point_order, value])"},{"line_number":198,"context_line":"        else:"},{"line_number":199,"context_line":"            if self.cached_ratios_sum + 1 \u003c self.compression_ratio:"},{"line_number":200,"context_line":"                self.cached_ratios_sum +\u003d 1"},{"line_number":201,"context_line":"                self.ratio_value_points.append([1, value])"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba3cc151_cf153740","line":198,"in_reply_to":"ba3cc151_07881170","updated":"2015-07-09 10:10:27.000000000","message":"Done","commit_id":"a789b29db5c2925d892234a89f690540efed9025"}]}
