)]}'
{"nova/compute/monitors/memory/virt_driver.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f3373088eae631d38e85afde150571b551470c3c","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        self._data \u003d {}"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def _update_data(self):"},{"line_number":42,"context_line":"        self._data \u003d {}"},{"line_number":43,"context_line":"        self._data[\"timestamp\"] \u003d timeutils.utcnow()"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        # Extract node\u0027s memory statistics."},{"line_number":46,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":7,"id":"3afc51ec_248fbd24","line":43,"range":{"start_line":42,"start_character":0,"end_line":43,"end_character":52},"updated":"2016-03-11 20:09:29.000000000","message":"I think sonar might complain that you could have done this in one shot.","commit_id":"8b5141cc3927049b4540eea5ef5b86181aff124a"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"6c6b2f784b86abec2b3efe996006241164d56589","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        self._data \u003d {}"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def _update_data(self):"},{"line_number":42,"context_line":"        self._data \u003d {}"},{"line_number":43,"context_line":"        self._data[\"timestamp\"] \u003d timeutils.utcnow()"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        # Extract node\u0027s memory statistics."},{"line_number":46,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":7,"id":"3afc51ec_204a06c6","line":43,"range":{"start_line":42,"start_character":0,"end_line":43,"end_character":52},"in_reply_to":"3afc51ec_248fbd24","updated":"2016-03-11 21:32:29.000000000","message":"This is similar to the existing CPU monitor, so hopefully it won\u0027t cause a problem.  :-)","commit_id":"8b5141cc3927049b4540eea5ef5b86181aff124a"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f3373088eae631d38e85afde150571b551470c3c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                monitor\u003dself.__class__.__name__)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        perc \u003d stats[\"used\"] / float(stats[\"total\"])"},{"line_number":57,"context_line":"        self._data[\"memory.percent\"] \u003d int(perc * 100)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def get_metrics(self):"},{"line_number":60,"context_line":"        metrics \u003d []"}],"source_content_type":"text/x-python","patch_set":7,"id":"3afc51ec_04e281d5","line":57,"range":{"start_line":57,"start_character":39,"end_line":57,"end_character":54},"updated":"2016-03-11 20:09:29.000000000","message":"Okay, this contradicts the blueprint, which claimed that the percent value would be between 0.0 and 1.0.  (FWIW, I think this is right and the blueprint is wrong.)","commit_id":"8b5141cc3927049b4540eea5ef5b86181aff124a"},{"author":{"_account_id":7664,"name":"Joe Cropper","email":"jwcroppe@us.ibm.com","username":"jwcroppe"},"change_message_id":"6c6b2f784b86abec2b3efe996006241164d56589","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                monitor\u003dself.__class__.__name__)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        perc \u003d stats[\"used\"] / float(stats[\"total\"])"},{"line_number":57,"context_line":"        self._data[\"memory.percent\"] \u003d int(perc * 100)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def get_metrics(self):"},{"line_number":60,"context_line":"        metrics \u003d []"}],"source_content_type":"text/x-python","patch_set":7,"id":"3afc51ec_634d3872","line":57,"range":{"start_line":57,"start_character":39,"end_line":57,"end_character":54},"in_reply_to":"3afc51ec_04e281d5","updated":"2016-03-11 21:32:29.000000000","message":"The actual metrics are [0, 1] when consumed from the message queue for external users.  This \"* 100\" logic is used to store the DB values as integers to align with the DB column types; this is the same behavior as per the CPU utilization % metrics as well.  We could clarify this point in the spec tho to make it clearer.","commit_id":"8b5141cc3927049b4540eea5ef5b86181aff124a"}]}
