)]}'
{"gnocchi/storage/kairosdb.py":[{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"38b21914de81f023541414f4baef8c22752c97e4","unresolved":false,"context_lines":[{"line_number":106,"context_line":"            LOG.warning(\u0027failure: %s\u0027 % e.message)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def _read(self, metric, start\u003d0,"},{"line_number":109,"context_line":"              end\u003dNone, tags\u003d{},"},{"line_number":110,"context_line":"              function\u003dNone,"},{"line_number":111,"context_line":"              only_read_tags\u003dFalse):"},{"line_number":112,"context_line":"        return self.kairos.read_absolute(metric_names_list\u003d[metric],"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_a98874c7","line":109,"updated":"2015-03-04 11:34:14.000000000","message":"Please, use only immutable default args in functions. \nhttp://docs.python-guide.org/en/latest/writing/gotchas/\n\nYou may use \"tags\u003dNone\" in function signature and make \"tags \u003d tags\" or {} in function body.","commit_id":"45d203ca434ff03b34f0ad39cad753854239527f"},{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"38b21914de81f023541414f4baef8c22752c97e4","unresolved":false,"context_lines":[{"line_number":177,"context_line":"                     start\u003d0,"},{"line_number":178,"context_line":"                     end\u003dNone,"},{"line_number":179,"context_line":"                     aggregation\u003dNone,"},{"line_number":180,"context_line":"                     tags\u003d{}):"},{"line_number":181,"context_line":"        metric \u003d self._to_hex(storage_metric.name)"},{"line_number":182,"context_line":"        if not start:"},{"line_number":183,"context_line":"            start \u003d 0"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_245f4b10","line":180,"updated":"2015-03-04 11:34:14.000000000","message":"ditto","commit_id":"45d203ca434ff03b34f0ad39cad753854239527f"},{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"38b21914de81f023541414f4baef8c22752c97e4","unresolved":false,"context_lines":[{"line_number":200,"context_line":"            ans \u003d self._read(metric\u003dmetric, start\u003dstart,"},{"line_number":201,"context_line":"                             end\u003dend, tags\u003dtags,"},{"line_number":202,"context_line":"                             function\u003dfunc)"},{"line_number":203,"context_line":"            dps \u003d ans[\u0027queries\u0027][0][\u0027results\u0027][0][\u0027values\u0027]"},{"line_number":204,"context_line":"            points \u003d []"},{"line_number":205,"context_line":"            for dp in dps:"},{"line_number":206,"context_line":"                points.append("}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_846e37c8","line":203,"range":{"start_line":203,"start_character":17,"end_line":203,"end_character":59},"updated":"2015-03-04 11:34:14.000000000","message":"It\u0027s disscussible note, but I think this call looks too difficult.","commit_id":"45d203ca434ff03b34f0ad39cad753854239527f"},{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"38b21914de81f023541414f4baef8c22752c97e4","unresolved":false,"context_lines":[{"line_number":228,"context_line":"                         \u0027tags\u0027: {\u0027resource\u0027: \u0027resource_id\u0027}})"},{"line_number":229,"context_line":"            earliest_ts \u003d min(earliest_ts, ts)"},{"line_number":230,"context_line":"            latest_ts \u003d max(latest_ts, ts)"},{"line_number":231,"context_line":"        self._write(data)"},{"line_number":232,"context_line":"        time.sleep(2)"},{"line_number":233,"context_line":"        self._read(metric)"},{"line_number":234,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_a4aa5bd2","line":231,"updated":"2015-03-04 11:34:14.000000000","message":"Why did you use so long sleep here and read metric after writing data? It creates performance lag for many little writes.","commit_id":"45d203ca434ff03b34f0ad39cad753854239527f"},{"author":{"_account_id":7729,"name":"Ilya Tyaptin","email":"ityaptin@mirantis.com","username":"ityaptin"},"change_message_id":"38b21914de81f023541414f4baef8c22752c97e4","unresolved":false,"context_lines":[{"line_number":271,"context_line":"                                      float(definition.granularity),"},{"line_number":272,"context_line":"                                      definition.points),"},{"line_number":273,"context_line":"                                  \u0027aggregation_methods\u0027: available_methods}})"},{"line_number":274,"context_line":"        self._write(data)"},{"line_number":275,"context_line":"        time.sleep(2)"},{"line_number":276,"context_line":"        # metric \u003d self._to_hex(metric)"},{"line_number":277,"context_line":"        # self._read(metric\u003d\u0027archives\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_a4cfbbaf","line":274,"updated":"2015-03-04 11:34:14.000000000","message":"ditto","commit_id":"45d203ca434ff03b34f0ad39cad753854239527f"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"b6e8afd6c53615198db809eda065fc02eeed9dc6","unresolved":false,"context_lines":[{"line_number":210,"context_line":"    def delete_metric(self, metric, start\u003d0, end\u003dNone):"},{"line_number":211,"context_line":"        \"\"\"Deletes metric."},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        Deletes only metric information form the database."},{"line_number":214,"context_line":"        Data points are not affected."},{"line_number":215,"context_line":"        \"\"\""},{"line_number":216,"context_line":"        self._delete(metric_name\u003d\u0027archives\u0027, start\u003dstart, end\u003dend,"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_8cdba220","line":213,"updated":"2015-03-17 11:51:45.000000000","message":"from","commit_id":"f50738af9b7d989c06ce77e867ab5186a9409aaa"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"b6e8afd6c53615198db809eda065fc02eeed9dc6","unresolved":false,"context_lines":[{"line_number":301,"context_line":"            earliest_ts \u003d min(earliest_ts, ts)"},{"line_number":302,"context_line":"            latest_ts \u003d max(latest_ts, ts)"},{"line_number":303,"context_line":"        self._write(data)"},{"line_number":304,"context_line":"        time.sleep(self.write_delay)"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"    def _prepare_downsampling(self, earliest_ts, latest_ts, metric):"},{"line_number":307,"context_line":"        definitions, methods \u003d self._get_policy_definitions(metric)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_0c3df22c","line":304,"updated":"2015-03-17 11:51:45.000000000","message":"There should be a comment here to explain why this sleep is required, otherwise someone will come along and think it is useless and want to remove it.","commit_id":"f50738af9b7d989c06ce77e867ab5186a9409aaa"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"b6e8afd6c53615198db809eda065fc02eeed9dc6","unresolved":false,"context_lines":[{"line_number":370,"context_line":"                                      definition.points),"},{"line_number":371,"context_line":"                                  \u0027aggregation_methods\u0027: available_methods}})"},{"line_number":372,"context_line":"        self._write(data)"},{"line_number":373,"context_line":"        time.sleep(self.write_delay)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_0c87b2b7","line":373,"updated":"2015-03-17 11:51:45.000000000","message":"ditto","commit_id":"f50738af9b7d989c06ce77e867ab5186a9409aaa"}]}
