)]}'
{"monasca_agent/collector/checks_d/cpu.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"4de5ef8bee532f8e5081c929deff48af86836cd4","unresolved":false,"context_lines":[{"line_number":4,"context_line":"import re"},{"line_number":5,"context_line":"import subprocess"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"import psutil"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"import monasca_agent.collector.checks as checks"},{"line_number":10,"context_line":"from monasca_agent.common import psutil_compat"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_ded5ff42","line":7,"updated":"2017-02-01 05:35:53.000000000","message":"Actually it looks like we can totally revert this file to original form.","commit_id":"6505af27a114ba017044a4d81151dcc673a18f50"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"4de5ef8bee532f8e5081c929deff48af86836cd4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"import psutil"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"import monasca_agent.collector.checks as checks"},{"line_number":10,"context_line":"from monasca_agent.common import psutil_compat"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"log \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_9e8a9762","line":10,"updated":"2017-02-01 05:35:53.000000000","message":"Unused import","commit_id":"6505af27a114ba017044a4d81151dcc673a18f50"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"290c88ce7d6f88ed160f9fa1d4e2ea7501b8ecd4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"import psutil"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"import monasca_agent.collector.checks as checks"},{"line_number":10,"context_line":"from monasca_agent.common import psutil_compat"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"log \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_876b1585","line":10,"in_reply_to":"3a461143_4f1cf16a","updated":"2017-02-01 17:06:27.000000000","message":"Thank you for the hint. Done.","commit_id":"6505af27a114ba017044a4d81151dcc673a18f50"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"913551e1e495b92935e5f11cef59b6ff236c45b7","unresolved":false,"context_lines":[{"line_number":7,"context_line":"import psutil"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"import monasca_agent.collector.checks as checks"},{"line_number":10,"context_line":"from monasca_agent.common import psutil_compat"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"log \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_bfdf4d0b","line":10,"in_reply_to":"3a461143_9e8a9762","updated":"2017-02-01 08:30:49.000000000","message":"Where should we load the module? I think it\u0027s not bad to have this import here as an indication that we are monkey patching.","commit_id":"6505af27a114ba017044a4d81151dcc673a18f50"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"6f2c4c4e8f64d4c873bc3a4af980ea8ce0c04066","unresolved":false,"context_lines":[{"line_number":7,"context_line":"import psutil"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"import monasca_agent.collector.checks as checks"},{"line_number":10,"context_line":"from monasca_agent.common import psutil_compat"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"log \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_4f1cf16a","line":10,"in_reply_to":"3a461143_bfdf4d0b","updated":"2017-02-01 13:00:11.000000000","message":"well, I\u0027d create a variable named psutil inside psutil_compat that I\u0027d assign module psutil value and import that one here, something close to (assuming being in psutil_compat) module\n\n  import psutil as psutil_old\n\n  psutil \u003d psutil_old\n\nlater on\n\n  from monasca_agent.common import psutil_compat as psutil\n\nat least that is my opinion to leave unused import out of the code as it is potentially the way for someone to remove it accidentally + assuming poor coverage in agent that might go unnoticed and the bug is ready.","commit_id":"6505af27a114ba017044a4d81151dcc673a18f50"}],"monasca_agent/collector/checks_d/load.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"4de5ef8bee532f8e5081c929deff48af86836cd4","unresolved":false,"context_lines":[{"line_number":4,"context_line":"import re"},{"line_number":5,"context_line":"import subprocess"},{"line_number":6,"context_line":"import sys"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"import psutil"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"import monasca_agent.collector.checks as checks"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_1ecce7b9","line":7,"updated":"2017-02-01 05:35:53.000000000","message":"Same here, looks like file can be reverted.","commit_id":"6505af27a114ba017044a4d81151dcc673a18f50"}],"monasca_agent/collector/checks_d/process.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"4de5ef8bee532f8e5081c929deff48af86836cd4","unresolved":false,"context_lines":[{"line_number":8,"context_line":"import psutil"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"import monasca_agent.collector.checks as checks"},{"line_number":11,"context_line":"from monasca_agent.common import psutil_compat"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"ProcessStruct \u003d namedtuple(\"Process\", \"name pid username cmdline\")"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_9eb8d712","line":11,"updated":"2017-02-01 05:35:53.000000000","message":"import is not used","commit_id":"6505af27a114ba017044a4d81151dcc673a18f50"}],"monasca_agent/common/psutil_compat.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"ceddcf4294a406b5f09a5bfbc804ddbe95f916d6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2017 Fujitsu Limited"},{"line_number":2,"context_line":"#  Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":3,"context_line":"#  not use this file except in compliance with the License. You may obtain"},{"line_number":4,"context_line":"#  a copy of the License at"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a461143_55566c06","line":1,"updated":"2017-01-31 13:53:06.000000000","message":"nit: in other files we created it was\n\n  Copyright {year} Fujitsu LIMITED","commit_id":"bc025d6737833b3cb363d70969ad257db5bf9664"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"ceddcf4294a406b5f09a5bfbc804ddbe95f916d6","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def cpu_times(percpu\u003dFalse):"},{"line_number":34,"context_line":"    return psutil.cpu_times(percpu)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"def cpu_percent(interval\u003dNone, percpu\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a461143_353d608f","line":34,"updated":"2017-01-31 13:53:06.000000000","message":"What\u0027s the point of having those methods if they look exactly like what they wrap up ? Do the share different default values or do not have them (default values) ?","commit_id":"bc025d6737833b3cb363d70969ad257db5bf9664"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"4de5ef8bee532f8e5081c929deff48af86836cd4","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    return psutil.Process.get_cpu_percent(interval)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"def cpu_times(self):"},{"line_number":60,"context_line":"    return psutil.Process.get_cpu_times()"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_3e236357","line":59,"updated":"2017-02-01 05:35:53.000000000","message":"Shouldn\u0027t you pass self here and also in calls below ?\nWithout this code will fail with:\n\n  TypeError: unbound method get_cpu_times() must be called with Process instance as first argument (got nothing instead)\n\nThese methods are not static in Process class","commit_id":"6505af27a114ba017044a4d81151dcc673a18f50"}],"monasca_setup/detection/plugins/libvirt.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"03635a6bb4d005512ca088d7fada3c63f7127518","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"import psutil"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"from monasca_agent.common import psutil_compat"},{"line_number":15,"context_line":"import monasca_setup.agent_config"},{"line_number":16,"context_line":"from monasca_setup.detection import Plugin"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_fedb9b4c","line":14,"updated":"2017-02-01 05:37:57.000000000","message":"Guess changes in this file can be reverted","commit_id":"6505af27a114ba017044a4d81151dcc673a18f50"}],"monasca_setup/detection/plugins/vcenter.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"03635a6bb4d005512ca088d7fada3c63f7127518","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"import psutil"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"from monasca_agent.common import psutil_compat"},{"line_number":9,"context_line":"import monasca_setup.agent_config"},{"line_number":10,"context_line":"from monasca_setup.detection import Plugin"},{"line_number":11,"context_line":"from monasca_setup.detection.utils import find_process_name"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_1edf873a","line":8,"range":{"start_line":8,"start_character":30,"end_line":8,"end_character":31},"updated":"2017-02-01 05:37:57.000000000","message":"Guess changes in this file can be reverted","commit_id":"6505af27a114ba017044a4d81151dcc673a18f50"}],"monasca_setup/detection/utils.py":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"86b5cb261b4ea3aeeb6c597adff1c695a5f98b09","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"def find_addr_listening_on_port(port, kind\u003d\u0027inet\u0027):"},{"line_number":79,"context_line":"    \"\"\"Return the IP addresses which are listening on the specified port.\"\"\""},{"line_number":80,"context_line":"    listening \u003d []"},{"line_number":81,"context_line":"    # net_connections is new in version 2.1.0"},{"line_number":82,"context_line":"    if psutil.version_info \u003e\u003d (2, 1):"},{"line_number":83,"context_line":"        for connection in psutil.net_connections(kind):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a3905b3_8d92944a","line":80,"range":{"start_line":80,"start_character":4,"end_line":80,"end_character":18},"updated":"2017-01-23 21:21:17.000000000","message":"This change breaks the usage in monasca_setup//detection/plugins/kafka_consumer.py. That code is not expecting a list","commit_id":"3c5992bb54605fa1b6bf8d859a625f4bf92de368"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"5d7fa10c09a516515d335381f124581daf8f78a7","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"def find_addr_listening_on_port(port, kind\u003d\u0027inet\u0027):"},{"line_number":79,"context_line":"    \"\"\"Return the IP addresses which are listening on the specified port.\"\"\""},{"line_number":80,"context_line":"    listening \u003d []"},{"line_number":81,"context_line":"    # net_connections is new in version 2.1.0"},{"line_number":82,"context_line":"    if psutil.version_info \u003e\u003d (2, 1):"},{"line_number":83,"context_line":"        for connection in psutil.net_connections(kind):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a3905b3_cdc3a536","line":80,"range":{"start_line":80,"start_character":4,"end_line":80,"end_character":18},"in_reply_to":"5a3905b3_8d92944a","updated":"2017-01-24 09:41:00.000000000","message":"Thanks Craig for catching this.","commit_id":"3c5992bb54605fa1b6bf8d859a625f4bf92de368"}],"monasca_setup/service/service.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"03635a6bb4d005512ca088d7fada3c63f7127518","unresolved":false,"context_lines":[{"line_number":5,"context_line":"\"\"\""},{"line_number":6,"context_line":"import psutil"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"from monasca_agent.common import psutil_compat"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"class Service(object):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_9eeb77db","line":8,"updated":"2017-02-01 05:37:57.000000000","message":"Import is unused + after you remove it I guess this file can be reverted.","commit_id":"6505af27a114ba017044a4d81151dcc673a18f50"}]}
