)]}'
{"monasca_agent/common/util.py":[{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"e444a0b73c055bfcaf2b1871522c11c48b471e4d","unresolved":false,"context_lines":[{"line_number":26,"context_line":"log \u003d logging.getLogger(__name__)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"# Tornado"},{"line_number":30,"context_line":"try:"},{"line_number":31,"context_line":"    from tornado import version_info as tornado_version"},{"line_number":32,"context_line":"except ImportError:"},{"line_number":33,"context_line":"    # We are likely running the agent without the forwarder and tornado is not installed"},{"line_number":34,"context_line":"    # Generate a warning"},{"line_number":35,"context_line":"    log.warn(\u0027Tornado web server is not installed.  Metrics will not be forwarded to the Monasca API!\u0027)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"VALID_HOSTNAME_RFC_1123_PATTERN \u003d re.compile("},{"line_number":38,"context_line":"    r\"^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_fb2e9d41","line":35,"range":{"start_line":29,"start_character":0,"end_line":35,"end_character":103},"updated":"2018-01-29 16:08:29.000000000","message":"I believe this entire block is dead now that we\u0027ve removed the get_tornado_ioloop function.  The tornado_version import should have only been used in that function.","commit_id":"e642cc0c05b043854801f24269838d6fd88a3aa4"}],"monasca_agent/forwarder/daemon.py":[{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"91300d05ce5f2116643d1ebfa138f43137323445","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        http_server \u003d tornado.httpserver.HTTPServer(self)"},{"line_number":164,"context_line":"        self._bind_http_server(http_server)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        self._ioloop \u003d util.get_tornado_ioloop()"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        callback \u003d tornado.ioloop.PeriodicCallback(self.flush,"},{"line_number":169,"context_line":"                                                   self._flush_interval,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_11d71cc2","side":"PARENT","line":166,"updated":"2018-01-24 18:02:45.000000000","message":"Doesn\u0027t this still require the util package?  Alternatively since most of the get_tornado_ioloop function was removed why not just call ioloop.IOLoop.instance() here?  Do you know if there\u0027s any preference for .instance() over .current() in the newer versions of tornado?","commit_id":"78e6dc8b632577d4b3e52c0d5681383923aac7ec"},{"author":{"_account_id":27143,"name":"Kaio Oliveira","email":"kaio.kassiano.oliveira@gmail.com","username":"kaiokassiano"},"change_message_id":"cb72901d343c5a44e795b3a5297becc8e3805a90","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        http_server \u003d tornado.httpserver.HTTPServer(self)"},{"line_number":164,"context_line":"        self._bind_http_server(http_server)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        self._ioloop \u003d util.get_tornado_ioloop()"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        callback \u003d tornado.ioloop.PeriodicCallback(self.flush,"},{"line_number":169,"context_line":"                                                   self._flush_interval,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_4c12e7b3","side":"PARENT","line":166,"in_reply_to":"5f93b717_11d71cc2","updated":"2018-01-24 18:16:10.000000000","message":"Joe, the util import was duplicated. You can see the first import at line #16. The return of util.get_tornado_ioloop() now will be ioloop.IOLoop.instance(), since we are using a newer version of tornado, and the usage of .current() is also deprecated.","commit_id":"78e6dc8b632577d4b3e52c0d5681383923aac7ec"},{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"1e986ad4fea8a0f4449da9108b31e955cdd62664","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        http_server \u003d tornado.httpserver.HTTPServer(self)"},{"line_number":164,"context_line":"        self._bind_http_server(http_server)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        self._ioloop \u003d util.get_tornado_ioloop()"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        callback \u003d tornado.ioloop.PeriodicCallback(self.flush,"},{"line_number":169,"context_line":"                                                   self._flush_interval,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_3e0e603b","side":"PARENT","line":166,"in_reply_to":"5f93b717_4c12e7b3","updated":"2018-01-26 17:24:17.000000000","message":"The util function is only used here I believe so do we even need get_tornado_io_loop if it\u0027s just a pass through to ioloop.IOLoop.instance()?  Seems like a good time just to get rid of it.","commit_id":"78e6dc8b632577d4b3e52c0d5681383923aac7ec"}]}
