)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"99a6907e7fc02f11aa7787b81e1ad84d7b45e8cb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d9da1f48_95baeb22","updated":"2024-09-06 10:10:40.000000000","message":"good catch! I think I\u0027d prefer it if the drive-by fix in proxy_logging.py moved to the later patch https://review.opendev.org/c/openstack/swift/+/928080, just because it\u0027s way more obvious once the implementation of ``get_metric_name_type`` is cleaned up","commit_id":"867d37c478253f94589e8a06d1c9680121952b47"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"30899537b8b4434a631561500442b9ab31cb061a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"185ad52a_724a21c6","updated":"2024-09-09 10:19:52.000000000","message":"recheck\n\nunrelated error starting account server, can\u0027t bind to address, in upgrade test","commit_id":"7be25604db38c2f5752cceb72ea28e5f00d7cbe1"}],"swift/common/middleware/proxy_logging.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"99a6907e7fc02f11aa7787b81e1ad84d7b45e8cb","unresolved":true,"context_lines":[{"line_number":372,"context_line":"    def statsd_metric_name(self, req, status_int, method):"},{"line_number":373,"context_line":"        stat_type \u003d self.get_metric_name_type(req)"},{"line_number":374,"context_line":"        if stat_type is None:"},{"line_number":375,"context_line":"            return None"},{"line_number":376,"context_line":"        stat_method \u003d method if method in self.valid_methods \\"},{"line_number":377,"context_line":"            else \u0027BAD_METHOD\u0027"},{"line_number":378,"context_line":"        return \u0027.\u0027.join((stat_type, stat_method, str(status_int)))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fbdda41_d67bdf17","side":"PARENT","line":375,"updated":"2024-09-06 10:10:40.000000000","message":"I think this relates to what I was digging at over here https://review.opendev.org/c/openstack/swift/+/917711/comment/39a31455_b8aa98d0/\n\nI convinced myself that ``get_metric_name_type`` would never return None with a sensible path, but it\u0027d be really nice if that was more obvious from the ``get_metric_name_type`` implementation: the ``None`` in line 364 is scary!\n\nAnd once we get to this patch https://review.opendev.org/c/openstack/swift/+/928080 the implementation does make it obvious, yay!, but we\u0027ve also fixed ``split_path`` along the way.\n\nThis change might be easier to grok by future us if it came with https://review.opendev.org/c/openstack/swift/+/928080","commit_id":"48e087b1cc7ea564d0f205baf5d625cad34be810"}],"test/unit/common/middleware/test_proxy_logging.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"99a6907e7fc02f11aa7787b81e1ad84d7b45e8cb","unresolved":true,"context_lines":[{"line_number":291,"context_line":"            # get body"},{"line_number":292,"context_line":"            b\u0027\u0027.join(resp)"},{"line_number":293,"context_line":"            self.assertEqual([], app.access_logger.log_dict[\u0027timing\u0027])"},{"line_number":294,"context_line":"            self.assertEqual([], app.access_logger.log_dict[\u0027update_stats\u0027])"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    def test_log_request_stat_type_bad(self):"},{"line_number":297,"context_line":"        for bad_path in [\u0027\u0027, \u0027/\u0027, \u0027/bad\u0027, \u0027/baddy/mc_badderson\u0027, \u0027/v1\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"41a9f702_15c9b4e0","side":"PARENT","line":294,"updated":"2024-09-06 10:10:40.000000000","message":"eek!","commit_id":"48e087b1cc7ea564d0f205baf5d625cad34be810"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"99a6907e7fc02f11aa7787b81e1ad84d7b45e8cb","unresolved":true,"context_lines":[{"line_number":325,"context_line":"            self.assertEqual("},{"line_number":326,"context_line":"                [((prefix + \u0027.GET.123.xfer\u0027, 20), {})],"},{"line_number":327,"context_line":"                app.access_logger.statsd_client.calls[\u0027update_stats\u0027])"},{"line_number":328,"context_line":"            app.access_logger.clear()"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    def test_log_request_stat_type_good(self):"},{"line_number":331,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"60315a13_508b8f39","line":328,"updated":"2024-09-06 10:10:40.000000000","message":"presumably there\u0027s no first-byte.timing because this test is just calling log_request","commit_id":"867d37c478253f94589e8a06d1c9680121952b47"}]}
