)]}'
{"ceilometer/compute/pollsters/disk.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"645a2bb6abb7af2a165c359fbcc0f0c185f63a2c","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            instance_name,"},{"line_number":81,"context_line":"        )"},{"line_number":82,"context_line":"        try:"},{"line_number":83,"context_line":"            yield self._get_counter(instance, c_data)"},{"line_number":84,"context_line":"        except Exception as err:"},{"line_number":85,"context_line":"            LOG.warning(\u0027Ignoring instance %s: %s\u0027,"},{"line_number":86,"context_line":"                        instance_name, err)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FT6A%3D","line":83,"updated":"2013-07-04 09:52:21.000000000","message":"I think it\u0027d be simpler to just remove this whole try/except, and write get_counters() in the subclass using super() and returning something.\n\nWe return one meter per pollster/class, so let\u0027s stop yielding ONE thing each time. :)\n\nThat comment is valid for all plugin.","commit_id":"2a7aecbec8e63c591e8cd8bd52434748f3429a63"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"32ab159def4e454a75923e0b658a30adc45cbf37","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            instance_name,"},{"line_number":81,"context_line":"        )"},{"line_number":82,"context_line":"        try:"},{"line_number":83,"context_line":"            yield self._get_counter(instance, c_data)"},{"line_number":84,"context_line":"        except Exception as err:"},{"line_number":85,"context_line":"            LOG.warning(\u0027Ignoring instance %s: %s\u0027,"},{"line_number":86,"context_line":"                        instance_name, err)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FTt8%3D","line":83,"in_reply_to":"AAAAPn%2F%2FT6A%3D","updated":"2013-07-04 11:27:15.000000000","message":"It\u0027s not always true that we return one object. In these pollsters, we do, but in some we return several all with the same type. So the plugins still need to return an iterable. I could just return a list, but I was trying to be consistent with the use of generators.","commit_id":"2a7aecbec8e63c591e8cd8bd52434748f3429a63"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"0a235ed1bd945aba112492d49e94631b05e852a7","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            instance_name,"},{"line_number":81,"context_line":"        )"},{"line_number":82,"context_line":"        try:"},{"line_number":83,"context_line":"            yield self._get_counter(instance, c_data)"},{"line_number":84,"context_line":"        except Exception as err:"},{"line_number":85,"context_line":"            LOG.warning(\u0027Ignoring instance %s: %s\u0027,"},{"line_number":86,"context_line":"                        instance_name, err)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FTso%3D","line":83,"in_reply_to":"AAAAPn%2F%2FTt8%3D","updated":"2013-07-04 11:33:44.000000000","message":"Fair enough.","commit_id":"2a7aecbec8e63c591e8cd8bd52434748f3429a63"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"645a2bb6abb7af2a165c359fbcc0f0c185f63a2c","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    @staticmethod"},{"line_number":93,"context_line":"    def get_counter_names():"},{"line_number":94,"context_line":"        return [\u0027disk.read.requests\u0027]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def _get_counter(self, instance, c_data):"},{"line_number":97,"context_line":"        return util.make_counter_from_instance("}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FT5w%3D","line":94,"updated":"2013-07-04 09:52:21.000000000","message":"No need to return an array anymore, just a static string as a class attribute should be enough.","commit_id":"2a7aecbec8e63c591e8cd8bd52434748f3429a63"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"32ab159def4e454a75923e0b658a30adc45cbf37","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    @staticmethod"},{"line_number":93,"context_line":"    def get_counter_names():"},{"line_number":94,"context_line":"        return [\u0027disk.read.requests\u0027]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def _get_counter(self, instance, c_data):"},{"line_number":97,"context_line":"        return util.make_counter_from_instance("}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FTuI%3D","line":94,"in_reply_to":"AAAAPn%2F%2FT5w%3D","updated":"2013-07-04 11:27:15.000000000","message":"This method is going to go away entirely, but I\u0027m not ready to do that yet.","commit_id":"2a7aecbec8e63c591e8cd8bd52434748f3429a63"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"0a235ed1bd945aba112492d49e94631b05e852a7","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    @staticmethod"},{"line_number":93,"context_line":"    def get_counter_names():"},{"line_number":94,"context_line":"        return [\u0027disk.read.requests\u0027]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def _get_counter(self, instance, c_data):"},{"line_number":97,"context_line":"        return util.make_counter_from_instance("}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FTsk%3D","line":94,"in_reply_to":"AAAAPn%2F%2FTuI%3D","updated":"2013-07-04 11:33:44.000000000","message":"Fair enough.","commit_id":"2a7aecbec8e63c591e8cd8bd52434748f3429a63"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"645a2bb6abb7af2a165c359fbcc0f0c185f63a2c","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    def get_counter_names():"},{"line_number":110,"context_line":"        return [\u0027disk.read.bytes\u0027]"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def _get_counter(self, instance, c_data):"},{"line_number":113,"context_line":"        return util.make_counter_from_instance("},{"line_number":114,"context_line":"            instance,"},{"line_number":115,"context_line":"            name\u003d\u0027disk.read.bytes\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FT6U%3D","line":112,"updated":"2013-07-04 09:52:21.000000000","message":"All of these are actually staticmethod too.","commit_id":"2a7aecbec8e63c591e8cd8bd52434748f3429a63"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"32ab159def4e454a75923e0b658a30adc45cbf37","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    def get_counter_names():"},{"line_number":110,"context_line":"        return [\u0027disk.read.bytes\u0027]"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def _get_counter(self, instance, c_data):"},{"line_number":113,"context_line":"        return util.make_counter_from_instance("},{"line_number":114,"context_line":"            instance,"},{"line_number":115,"context_line":"            name\u003d\u0027disk.read.bytes\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FTto%3D","line":112,"in_reply_to":"AAAAPn%2F%2FT6U%3D","updated":"2013-07-04 11:27:15.000000000","message":"I don\u0027t think using @staticmethod really buys us anything. Do you want that for documentation purposes?","commit_id":"2a7aecbec8e63c591e8cd8bd52434748f3429a63"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"0a235ed1bd945aba112492d49e94631b05e852a7","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    def get_counter_names():"},{"line_number":110,"context_line":"        return [\u0027disk.read.bytes\u0027]"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def _get_counter(self, instance, c_data):"},{"line_number":113,"context_line":"        return util.make_counter_from_instance("},{"line_number":114,"context_line":"            instance,"},{"line_number":115,"context_line":"            name\u003d\u0027disk.read.bytes\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FTsU%3D","line":112,"in_reply_to":"AAAAPn%2F%2FTto%3D","updated":"2013-07-04 11:33:44.000000000","message":"It saves you the need to build a bound method each time you instantiate this pollster, so it buys you memory, \"absolutely speaking\".\nAnd that\u0027s also good for documentation/code reading. :)","commit_id":"2a7aecbec8e63c591e8cd8bd52434748f3429a63"}]}
