)]}'
{"swift/obj/expirer.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"83f142d4dcd9e30f05dc0cb0759a11cb1f64613c","unresolved":false,"context_lines":[{"line_number":428,"context_line":"            try:"},{"line_number":429,"context_line":"                self.delete_actual_object(target_path, delete_timestamp,"},{"line_number":430,"context_line":"                                          is_async_delete)"},{"line_number":431,"context_line":"                lag_metric \u003d \u0027successful\u0027"},{"line_number":432,"context_line":"            except UnexpectedResponse as err:"},{"line_number":433,"context_line":"                if err.resp.status_int not in {HTTP_NOT_FOUND,"},{"line_number":434,"context_line":"                                               HTTP_PRECONDITION_FAILED}:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_c21e21ba","line":431,"range":{"start_line":431,"start_character":30,"end_line":431,"end_character":40},"updated":"2020-09-16 19:33:25.000000000","message":"Probably should be \"success\" to match other metric names.","commit_id":"a473db411b41a5c65e994173413b6ac6efe528dc"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"e0095f061a96026afb9f68f28ca03cefe636b9c1","unresolved":false,"context_lines":[{"line_number":443,"context_line":"            self.logger.increment(\u0027objects\u0027)"},{"line_number":444,"context_line":"        except UnexpectedResponse as err:"},{"line_number":445,"context_line":"            self.logger.increment(\u0027errors\u0027)"},{"line_number":446,"context_line":"            lag_metric \u003d \u0027error-%d\u0027 % err.resp.status_int"},{"line_number":447,"context_line":"            self.logger.error("},{"line_number":448,"context_line":"                \u0027Unexpected response while deleting object \u0027"},{"line_number":449,"context_line":"                \u0027%(account)s %(container)s %(obj)s: %(err)s\u0027 % {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_112509af","line":446,"updated":"2020-09-16 16:59:54.000000000","message":"we have more options for aggregation in graphing if we use a \u0027.\u0027 as a separator.  Prior art is status code metrics in proxy logging.  Is there a justification for the \u0027-\u0027?","commit_id":"a473db411b41a5c65e994173413b6ac6efe528dc"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"83f142d4dcd9e30f05dc0cb0759a11cb1f64613c","unresolved":false,"context_lines":[{"line_number":443,"context_line":"            self.logger.increment(\u0027objects\u0027)"},{"line_number":444,"context_line":"        except UnexpectedResponse as err:"},{"line_number":445,"context_line":"            self.logger.increment(\u0027errors\u0027)"},{"line_number":446,"context_line":"            lag_metric \u003d \u0027error-%d\u0027 % err.resp.status_int"},{"line_number":447,"context_line":"            self.logger.error("},{"line_number":448,"context_line":"                \u0027Unexpected response while deleting object \u0027"},{"line_number":449,"context_line":"                \u0027%(account)s %(container)s %(obj)s: %(err)s\u0027 % {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e215259d","line":446,"in_reply_to":"9f560f44_112509af","updated":"2020-09-16 19:33:25.000000000","message":"Yeah, I was mainly thinking about aggregation. I guess we could do dots, and have it always be successful.204 and exception.0 or something...","commit_id":"a473db411b41a5c65e994173413b6ac6efe528dc"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"e0095f061a96026afb9f68f28ca03cefe636b9c1","unresolved":false,"context_lines":[{"line_number":458,"context_line":"                \u0027%(obj)s %(err)s\u0027 % {"},{"line_number":459,"context_line":"                    \u0027account\u0027: task_account, \u0027container\u0027: task_container,"},{"line_number":460,"context_line":"                    \u0027obj\u0027: task_object, \u0027err\u0027: str(err)})"},{"line_number":461,"context_line":"        self.logger.timing_since(lag_metric + \u0027.lag\u0027, float(delete_timestamp))"},{"line_number":462,"context_line":"        self.logger.timing_since(\u0027timing\u0027, start_time)"},{"line_number":463,"context_line":"        self.report()"},{"line_number":464,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_713565db","line":461,"updated":"2020-09-16 16:59:54.000000000","message":"oic, error-status keeps the dots inline for doing a total aggregate on *this* metric\n\nIs this metric relevant if the delete wasn\u0027t successful?\n\nI feel like we\u0027d want to exclude reclaim to get a better picture of \"how quickly we\u0027re servicing expirations\" - i\u0027m less sure what kind of errors we\u0027d get.","commit_id":"a473db411b41a5c65e994173413b6ac6efe528dc"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"83f142d4dcd9e30f05dc0cb0759a11cb1f64613c","unresolved":false,"context_lines":[{"line_number":458,"context_line":"                \u0027%(obj)s %(err)s\u0027 % {"},{"line_number":459,"context_line":"                    \u0027account\u0027: task_account, \u0027container\u0027: task_container,"},{"line_number":460,"context_line":"                    \u0027obj\u0027: task_object, \u0027err\u0027: str(err)})"},{"line_number":461,"context_line":"        self.logger.timing_since(lag_metric + \u0027.lag\u0027, float(delete_timestamp))"},{"line_number":462,"context_line":"        self.logger.timing_since(\u0027timing\u0027, start_time)"},{"line_number":463,"context_line":"        self.report()"},{"line_number":464,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_022819ec","line":461,"in_reply_to":"9f560f44_713565db","updated":"2020-09-16 19:33:25.000000000","message":"There are a few different ways I\u0027d want to slice it:\n\n* max lag time, excluding reclaims\n* max lag time, only looking at success\n* sum of success counts over sum of all counts\n* sum of reclaim counts over sum of all counts\n\nI\u0027m *also* not sure what kinds of errors we\u0027d get -- part of why I wanted to break out errors and exceptions as well as I could.","commit_id":"a473db411b41a5c65e994173413b6ac6efe528dc"}]}
