)]}'
{"monasca_api/common/repositories/influxdb/metrics_repository.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"a2a5fb05614e6eb443aaee890d946665e05ffe30","unresolved":false,"context_lines":[{"line_number":281,"context_line":"                        split_time[-1] \u003d \u0027{:06.3f}\u0027.format(float(split_time[-1][:-1]))"},{"line_number":282,"context_line":"                        # 2015-12-11T14, 15, 01.130"},{"line_number":283,"context_line":"                        timestamp \u003d \u0027:\u0027.join(split_time) + \u0027Z\u0027"},{"line_number":284,"context_line":"                        measurements_list.append([timestamp,"},{"line_number":285,"context_line":"                                                  point[1],"},{"line_number":286,"context_line":"                                                  value_meta])"},{"line_number":287,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_0a6ffd92","line":284,"updated":"2015-11-26 06:20:48.000000000","message":"I\u0027d propose getting this transformation to own method. Code on the left looks much more cleaner. With external method you could have call for it in a place of\n\n point[0]\n\nIdeally I would see assignment to variable for timestamp and this point[1]. Now it is a puzzle, at least for me. What does the point[1] mean ?\n\nOtherwise looks good, I additionally checked this part of code in IPython and seems that everything is in order.","commit_id":"22a13549cb7cfe63178233ad225c3de7338ffe1d"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"6d717b26455e8c77b6d8b8e147c46a9163f29012","unresolved":false,"context_lines":[{"line_number":281,"context_line":"                        split_time[-1] \u003d \u0027{:06.3f}\u0027.format(float(split_time[-1][:-1]))"},{"line_number":282,"context_line":"                        # 2015-12-11T14, 15, 01.130"},{"line_number":283,"context_line":"                        timestamp \u003d \u0027:\u0027.join(split_time) + \u0027Z\u0027"},{"line_number":284,"context_line":"                        measurements_list.append([timestamp,"},{"line_number":285,"context_line":"                                                  point[1],"},{"line_number":286,"context_line":"                                                  value_meta])"},{"line_number":287,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_24a05ea5","line":284,"in_reply_to":"9a8ffd7b_0a6ffd92","updated":"2015-11-30 17:23:41.000000000","message":"Agreed, an external method would make this cleaner.\n\nPoint[1] is the measurement value. I suppose I could add a comment or variable to make that clearer.","commit_id":"22a13549cb7cfe63178233ad225c3de7338ffe1d"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"c20a9c10e8a411cff00d266071a979a72124ec73","unresolved":false,"context_lines":[{"line_number":281,"context_line":"                        split_time[-1] \u003d \u0027{:06.3f}\u0027.format(float(split_time[-1][:-1]))"},{"line_number":282,"context_line":"                        # 2015-12-11T14, 15, 01.130"},{"line_number":283,"context_line":"                        timestamp \u003d \u0027:\u0027.join(split_time) + \u0027Z\u0027"},{"line_number":284,"context_line":"                        measurements_list.append([timestamp,"},{"line_number":285,"context_line":"                                                  point[1],"},{"line_number":286,"context_line":"                                                  value_meta])"},{"line_number":287,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_aa2111fd","line":284,"in_reply_to":"9a8ffd7b_0a6ffd92","updated":"2015-11-26 06:30:20.000000000","message":"Just couple more things.\n\n1. Did you think about error control here ? For instance, this parsing goes wrong and I\u0027d expect some verbose exception here instead of IndexError or something ?","commit_id":"22a13549cb7cfe63178233ad225c3de7338ffe1d"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"6d717b26455e8c77b6d8b8e147c46a9163f29012","unresolved":false,"context_lines":[{"line_number":281,"context_line":"                        split_time[-1] \u003d \u0027{:06.3f}\u0027.format(float(split_time[-1][:-1]))"},{"line_number":282,"context_line":"                        # 2015-12-11T14, 15, 01.130"},{"line_number":283,"context_line":"                        timestamp \u003d \u0027:\u0027.join(split_time) + \u0027Z\u0027"},{"line_number":284,"context_line":"                        measurements_list.append([timestamp,"},{"line_number":285,"context_line":"                                                  point[1],"},{"line_number":286,"context_line":"                                                  value_meta])"},{"line_number":287,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_c4cdd25e","line":284,"in_reply_to":"9a8ffd7b_aa2111fd","updated":"2015-11-30 17:23:41.000000000","message":"Yes, this does need some descriptive error handling. I\u0027ll add it.","commit_id":"22a13549cb7cfe63178233ad225c3de7338ffe1d"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"b3da822312ba6e740604ad2119bd213b90e7bc30","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            return timestamp"},{"line_number":257,"context_line":"        except Exception as ex:"},{"line_number":258,"context_line":"            raise exceptions.RepositoryException("},{"line_number":259,"context_line":"                \"Unable to parse timestamp \u0027{}\u0027. Error was: {}\".format(original, ex))"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def measurement_list(self, tenant_id, region, name, dimensions,"},{"line_number":262,"context_line":"                         start_timestamp, end_timestamp, offset,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_807800fa","line":259,"updated":"2015-12-01 03:43:30.000000000","message":"Looking at this code I\u0027m assuming that there is a performance penalty with enforcing this.\n\nCould you write a quick Python test to look at the performance difference on doing this conversion.\n\nFrom what I\u0027ve seen so far, one of the biggest performance hits is just in re-formatting data, so it would be nice to know what this cost us.","commit_id":"3c5133d09ff9ac86d5f939c4bc874ffe990f230e"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"6b60d9a9dcc6d53e2286cc91c85d9c543726d036","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            return timestamp"},{"line_number":257,"context_line":"        except Exception as ex:"},{"line_number":258,"context_line":"            raise exceptions.RepositoryException("},{"line_number":259,"context_line":"                \"Unable to parse timestamp \u0027{}\u0027. Error was: {}\".format(original, ex))"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def measurement_list(self, tenant_id, region, name, dimensions,"},{"line_number":262,"context_line":"                         start_timestamp, end_timestamp, offset,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_f8738eb2","line":259,"in_reply_to":"9a8ffd7b_254d7399","updated":"2015-12-01 18:53:03.000000000","message":"I don\u0027t know, it could be nice, but this may be too high a price for what it gets us. I could look into alternative methods, but again I\u0027m not sure the gain is enough to justify it.","commit_id":"3c5133d09ff9ac86d5f939c4bc874ffe990f230e"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"f504a93acb62d6357962da151f331f91885ea07b","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            return timestamp"},{"line_number":257,"context_line":"        except Exception as ex:"},{"line_number":258,"context_line":"            raise exceptions.RepositoryException("},{"line_number":259,"context_line":"                \"Unable to parse timestamp \u0027{}\u0027. Error was: {}\".format(original, ex))"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def measurement_list(self, tenant_id, region, name, dimensions,"},{"line_number":262,"context_line":"                         start_timestamp, end_timestamp, offset,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_e2ad219c","line":259,"in_reply_to":"9a8ffd7b_807800fa","updated":"2015-12-01 18:24:41.000000000","message":"Looks like this costs us about 10-15% more time\n\n~204ms before\n~228ms after\n(avg time across 100 requests for 10,000 measurements)","commit_id":"3c5133d09ff9ac86d5f939c4bc874ffe990f230e"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"208b5c4551e756016afcc9e42e0c863bbf1a1726","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            return timestamp"},{"line_number":257,"context_line":"        except Exception as ex:"},{"line_number":258,"context_line":"            raise exceptions.RepositoryException("},{"line_number":259,"context_line":"                \"Unable to parse timestamp \u0027{}\u0027. Error was: {}\".format(original, ex))"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def measurement_list(self, tenant_id, region, name, dimensions,"},{"line_number":262,"context_line":"                         start_timestamp, end_timestamp, offset,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_712579c0","line":259,"in_reply_to":"9a8ffd7b_b8dc2647","updated":"2015-12-01 20:17:38.000000000","message":"I can bring it down to 5-6% increase (~215ms)","commit_id":"3c5133d09ff9ac86d5f939c4bc874ffe990f230e"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"f90b29de52d6e3de50c48782a42ebfcd0d96cc65","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            return timestamp"},{"line_number":257,"context_line":"        except Exception as ex:"},{"line_number":258,"context_line":"            raise exceptions.RepositoryException("},{"line_number":259,"context_line":"                \"Unable to parse timestamp \u0027{}\u0027. Error was: {}\".format(original, ex))"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def measurement_list(self, tenant_id, region, name, dimensions,"},{"line_number":262,"context_line":"                         start_timestamp, end_timestamp, offset,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_254d7399","line":259,"in_reply_to":"9a8ffd7b_e2ad219c","updated":"2015-12-01 18:49:42.000000000","message":"Thanks for looking at this.\n\n10%-15% won\u0027t kill us, but to be honest, that is a relatively large percent for just getting some data formatted better.\n\nDo you still think we need to go through with this?","commit_id":"3c5133d09ff9ac86d5f939c4bc874ffe990f230e"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"4b052abe110ca07fb56cfee19218e7fbbf7e7d2e","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            return timestamp"},{"line_number":257,"context_line":"        except Exception as ex:"},{"line_number":258,"context_line":"            raise exceptions.RepositoryException("},{"line_number":259,"context_line":"                \"Unable to parse timestamp \u0027{}\u0027. Error was: {}\".format(original, ex))"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def measurement_list(self, tenant_id, region, name, dimensions,"},{"line_number":262,"context_line":"                         start_timestamp, end_timestamp, offset,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_b8dc2647","line":259,"in_reply_to":"9a8ffd7b_f8738eb2","updated":"2015-12-01 18:58:22.000000000","message":"The tempest tests are fine with the old timestamp format. If theres an alternate way, that would be great.","commit_id":"3c5133d09ff9ac86d5f939c4bc874ffe990f230e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"77ed5fe61eeb4d4978a2d8a4904493207cd0a743","unresolved":false,"context_lines":[{"line_number":278,"context_line":"                        value_meta \u003d json.loads(point[2]) if point[2] else {}"},{"line_number":279,"context_line":"                        timestamp \u003d point[0][:19] + \u0027.\u0027 + point[0][20:-1].ljust(3, \u00270\u0027) + \u0027Z\u0027"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"                        measurements_list.append([timestamp,"},{"line_number":282,"context_line":"                                                  point[1],"},{"line_number":283,"context_line":"                                                  value_meta])"},{"line_number":284,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_852e3b8a","line":281,"updated":"2015-12-03 08:09:01.000000000","message":"It is some kind of magic. Looks nice. I can only give +1, I don\u0027t have a setup with python monasca-api.","commit_id":"5c7b4abe1bf40fe4162477b5eaf8acb237c0d0d6"}]}
