)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"99871c3cec34a356c44a06dd42be823c1c4cf1e4","unresolved":false,"context_lines":[{"line_number":19,"context_line":"We now cache the cpu stats, since putting the polling of an instance"},{"line_number":20,"context_line":"twice in polling.yaml is a non sense. We don\u0027t care if the second poll"},{"line_number":21,"context_line":"have a wrong timestamp due to the caching."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Related-Bug: 1670948"},{"line_number":24,"context_line":"Change-Id: Id90f701cef261e165b63f0ba92a35cecfed659e7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"1a1ced50_9237cbe2","line":22,"updated":"2017-03-17 09:29:30.000000000","message":"thanks for the nice commit message :)","commit_id":"b1826945e25b87e810622f58c33c7a32672492f3"}],"ceilometer/compute/pollsters/__init__.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"99871c3cec34a356c44a06dd42be823c1c4cf1e4","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                             \u0027instance_id\u0027: instance.id, \u0027exc\u0027: e})"},{"line_number":173,"context_line":"                raise plugin_base.PollsterPermanentError(resources)"},{"line_number":174,"context_line":"            except Exception as err:"},{"line_number":175,"context_line":"                LOG.exception("},{"line_number":176,"context_line":"                    _LE(\u0027Could not get %(name)s events for %(id)s: %(e)s\u0027), {"},{"line_number":177,"context_line":"                        \u0027name\u0027: self.sample_name, \u0027id\u0027: instance.id, \u0027e\u0027: err})"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a1ced50_92650be3","line":175,"range":{"start_line":175,"start_character":20,"end_line":175,"end_character":29},"updated":"2017-03-17 09:29:30.000000000","message":"I really prefer LOG.error(foobar, exc_info\u003dTrue)","commit_id":"b1826945e25b87e810622f58c33c7a32672492f3"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"ace5542698c206bda0081a1fbebe0e99d949af78","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                             \u0027instance_id\u0027: instance.id, \u0027exc\u0027: e})"},{"line_number":173,"context_line":"                raise plugin_base.PollsterPermanentError(resources)"},{"line_number":174,"context_line":"            except Exception as err:"},{"line_number":175,"context_line":"                LOG.exception("},{"line_number":176,"context_line":"                    _LE(\u0027Could not get %(name)s events for %(id)s: %(e)s\u0027), {"},{"line_number":177,"context_line":"                        \u0027name\u0027: self.sample_name, \u0027id\u0027: instance.id, \u0027e\u0027: err})"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a1ced50_56e9a719","line":175,"range":{"start_line":175,"start_character":20,"end_line":175,"end_character":29},"in_reply_to":"1a1ced50_92650be3","updated":"2017-03-18 05:57:46.000000000","message":"Done","commit_id":"b1826945e25b87e810622f58c33c7a32672492f3"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"989cd9a0c7632840e1ec6af7c458f8a6c214e8f5","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    First polled pollsters that inherit of this will retrieve and cache"},{"line_number":106,"context_line":"    stats of an instance, then other pollsters will just build the samples"},{"line_number":107,"context_line":"    without queyring the backend anymore."},{"line_number":108,"context_line":"    \"\"\""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    sample_name \u003d None"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_2fcaed6d","line":107,"range":{"start_line":107,"start_character":11,"end_line":107,"end_character":20},"updated":"2017-03-20 15:14:30.000000000","message":"querying","commit_id":"9fd7bb0ee4bc1cf395e1baf3246621a03b47e12c"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"6a867c3abddc385d202c24aac4b931276ec2d721","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    First polled pollsters that inherit of this will retrieve and cache"},{"line_number":106,"context_line":"    stats of an instance, then other pollsters will just build the samples"},{"line_number":107,"context_line":"    without queyring the backend anymore."},{"line_number":108,"context_line":"    \"\"\""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    sample_name \u003d None"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_18ff3535","line":107,"range":{"start_line":107,"start_character":11,"end_line":107,"end_character":20},"in_reply_to":"1a1ced50_2fcaed6d","updated":"2017-03-20 15:50:16.000000000","message":"Done","commit_id":"9fd7bb0ee4bc1cf395e1baf3246621a03b47e12c"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"989cd9a0c7632840e1ec6af7c458f8a6c214e8f5","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    sample_stats_key \u003d None"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    @staticmethod"},{"line_number":116,"context_line":"    def get_addtional_metadata(instance, stats):"},{"line_number":117,"context_line":"        pass"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def _inspect_cached(self, cache, instance, duration):"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_ef21b54e","line":116,"range":{"start_line":116,"start_character":12,"end_line":116,"end_character":21},"updated":"2017-03-20 15:14:30.000000000","message":"additional","commit_id":"9fd7bb0ee4bc1cf395e1baf3246621a03b47e12c"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"6a867c3abddc385d202c24aac4b931276ec2d721","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    sample_stats_key \u003d None"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    @staticmethod"},{"line_number":116,"context_line":"    def get_addtional_metadata(instance, stats):"},{"line_number":117,"context_line":"        pass"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def _inspect_cached(self, cache, instance, duration):"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_789669f1","line":116,"range":{"start_line":116,"start_character":12,"end_line":116,"end_character":21},"in_reply_to":"1a1ced50_ef21b54e","updated":"2017-03-20 15:50:16.000000000","message":"Done","commit_id":"9fd7bb0ee4bc1cf395e1baf3246621a03b47e12c"}],"ceilometer/compute/pollsters/instance_stats.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"989cd9a0c7632840e1ec6af7c458f8a6c214e8f5","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from ceilometer.compute import pollsters"},{"line_number":20,"context_line":"from ceilometer import sample"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class InstanceStatsPollster(pollsters.GenericComputePollster):"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_52c50e59","line":22,"updated":"2017-03-20 15:14:30.000000000","message":"unused","commit_id":"9fd7bb0ee4bc1cf395e1baf3246621a03b47e12c"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"6a867c3abddc385d202c24aac4b931276ec2d721","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from ceilometer.compute import pollsters"},{"line_number":20,"context_line":"from ceilometer import sample"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class InstanceStatsPollster(pollsters.GenericComputePollster):"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_78bd8967","line":22,"in_reply_to":"1a1ced50_52c50e59","updated":"2017-03-20 15:50:16.000000000","message":"Done","commit_id":"9fd7bb0ee4bc1cf395e1baf3246621a03b47e12c"}],"ceilometer/compute/virt/hyperv/inspector.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"989cd9a0c7632840e1ec6af7c458f8a6c214e8f5","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        return float(host_cpu_clock * host_cpu_count)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def inspect_instance(self, instance, duration\u003dNone):"},{"line_number":95,"context_line":"        instance_name \u003d util.instance_name(instance)"},{"line_number":96,"context_line":"        (cpu_clock_used,"},{"line_number":97,"context_line":"         cpu_count, uptime) \u003d self._utils.get_cpu_metrics(instance_name)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_b2ff2266","line":94,"range":{"start_line":94,"start_character":41,"end_line":94,"end_character":49},"updated":"2017-03-20 15:14:30.000000000","message":"never used?","commit_id":"9fd7bb0ee4bc1cf395e1baf3246621a03b47e12c"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"6a867c3abddc385d202c24aac4b931276ec2d721","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        return float(host_cpu_clock * host_cpu_count)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def inspect_instance(self, instance, duration\u003dNone):"},{"line_number":95,"context_line":"        instance_name \u003d util.instance_name(instance)"},{"line_number":96,"context_line":"        (cpu_clock_used,"},{"line_number":97,"context_line":"         cpu_count, uptime) \u003d self._utils.get_cpu_metrics(instance_name)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_58b60d3e","line":94,"range":{"start_line":94,"start_character":41,"end_line":94,"end_character":49},"in_reply_to":"1a1ced50_b2ff2266","updated":"2017-03-20 15:50:16.000000000","message":"It comes from the abstraction. It\u0027s not really used here. But further patches use it.","commit_id":"9fd7bb0ee4bc1cf395e1baf3246621a03b47e12c"}],"ceilometer/compute/virt/libvirt/inspector.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"989cd9a0c7632840e1ec6af7c458f8a6c214e8f5","unresolved":false,"context_lines":[{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    @libvirt_utils.raise_nodata_if_unsupported"},{"line_number":160,"context_line":"    @libvirt_utils.retry_on_disconnect"},{"line_number":161,"context_line":"    def inspect_instance(self, instance,  duration\u003dNone):"},{"line_number":162,"context_line":"        domain \u003d self._get_domain_not_shut_off_or_raise(instance)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        memory_used \u003d memory_resident \u003d None"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_521d0ebc","line":161,"range":{"start_line":161,"start_character":42,"end_line":161,"end_character":50},"updated":"2017-03-20 15:14:30.000000000","message":"unused.","commit_id":"9fd7bb0ee4bc1cf395e1baf3246621a03b47e12c"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"989cd9a0c7632840e1ec6af7c458f8a6c214e8f5","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        if \u0027rss\u0027 in memory_stats:"},{"line_number":171,"context_line":"            memory_resident \u003d memory_stats[\u0027rss\u0027] / units.Ki"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        if libvirt_utils.support_version(\"1.2.10\"):"},{"line_number":174,"context_line":"            # TODO(sileht): stats also have the disk/vnic info"},{"line_number":175,"context_line":"            # we could use that instead of the old method for Queen"},{"line_number":176,"context_line":"            stats \u003d self.connection.domainListGetStats([domain], 0)[0][1]"},{"line_number":177,"context_line":"        else:"},{"line_number":178,"context_line":"            stats \u003d {}"},{"line_number":179,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_75d4b41f","line":176,"range":{"start_line":173,"start_character":0,"end_line":176,"end_character":73},"updated":"2017-03-20 15:14:30.000000000","message":"we can still get cpu.time and vcpu.current no?","commit_id":"9fd7bb0ee4bc1cf395e1baf3246621a03b47e12c"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"6a867c3abddc385d202c24aac4b931276ec2d721","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        if \u0027rss\u0027 in memory_stats:"},{"line_number":171,"context_line":"            memory_resident \u003d memory_stats[\u0027rss\u0027] / units.Ki"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        if libvirt_utils.support_version(\"1.2.10\"):"},{"line_number":174,"context_line":"            # TODO(sileht): stats also have the disk/vnic info"},{"line_number":175,"context_line":"            # we could use that instead of the old method for Queen"},{"line_number":176,"context_line":"            stats \u003d self.connection.domainListGetStats([domain], 0)[0][1]"},{"line_number":177,"context_line":"        else:"},{"line_number":178,"context_line":"            stats \u003d {}"},{"line_number":179,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1a1ced50_e35b8e2c","line":176,"range":{"start_line":173,"start_character":0,"end_line":176,"end_character":73},"in_reply_to":"1a1ced50_75d4b41f","updated":"2017-03-20 15:50:16.000000000","message":"Indeed, this method exists in 1.2.9 (min required of nova) so I can always use it.","commit_id":"9fd7bb0ee4bc1cf395e1baf3246621a03b47e12c"}],"ceilometer/tests/unit/compute/pollsters/test_perf.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"05b9d0e5cc523d199a65e4ab38af205752a94f63","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        def _check_perf_events_cpu_cycles(expected_usage):"},{"line_number":39,"context_line":"            pollster \u003d instance_stats.PerfCPUCyclesPollster(self.CONF)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"            print(cache)"},{"line_number":42,"context_line":"            samples \u003d list(pollster.get_samples(mgr, cache, [self.instance]))"},{"line_number":43,"context_line":"            print(cache)"},{"line_number":44,"context_line":"            self.assertEqual(1, len(samples))"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a1ced50_c30db291","line":41,"range":{"start_line":41,"start_character":12,"end_line":41,"end_character":17},"updated":"2017-03-20 16:00:09.000000000","message":"i\u0027m guessing this was for your own debugging.","commit_id":"f4e8273ad56042f959e26563be53df78216ec04d"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"d8f63c3f18d19019cf13747f0e6c5a8f8a59582f","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        def _check_perf_events_cpu_cycles(expected_usage):"},{"line_number":39,"context_line":"            pollster \u003d instance_stats.PerfCPUCyclesPollster(self.CONF)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"            print(cache)"},{"line_number":42,"context_line":"            samples \u003d list(pollster.get_samples(mgr, cache, [self.instance]))"},{"line_number":43,"context_line":"            print(cache)"},{"line_number":44,"context_line":"            self.assertEqual(1, len(samples))"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a1ced50_a1eb2577","line":41,"range":{"start_line":41,"start_character":12,"end_line":41,"end_character":17},"in_reply_to":"1a1ced50_c30db291","updated":"2017-03-21 12:45:40.000000000","message":"Yeah, print is my favorite debugger :p","commit_id":"f4e8273ad56042f959e26563be53df78216ec04d"}]}
