)]}'
{"swift/common/statsd_client.py":[{"author":{"_account_id":36606,"name":"Yan Xiao","display_name":"Yan","email":"yanxiao@nvidia.com","username":"yanxiao"},"change_message_id":"5df50c018b1151ae8a45cb2febda42157f3cee6e","unresolved":true,"context_lines":[{"line_number":415,"context_line":"        self.label_formatter \u003d _get_labeled_statsd_formatter(label_mode)"},{"line_number":416,"context_line":"        if self.logger:"},{"line_number":417,"context_line":"            # TODO: this could be at info level, it\u0027s only logged during"},{"line_number":418,"context_line":"            #   startup, but that will cause some test churn so I\u0027ve opted for"},{"line_number":419,"context_line":"            #   debug until we\u0027ve bought into this in principle"},{"line_number":420,"context_line":"            self.logger.debug(\u0027Labeled statsd mode: %s (%s)\u0027,"},{"line_number":421,"context_line":"                              label_mode, self.logger.name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"6d9fbfb6_473b8725","line":418,"updated":"2025-03-21 21:18:59.000000000","message":"Agree that INFO logging here could be quite useful. Wonder if we should add similar log for StatsdClient.emit_legacy?","commit_id":"137707ce501da74b08d1bd2e385ab84e6369e776"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"35faea5cd0ee0725940b9c7d9b80c67e8b8b48f0","unresolved":true,"context_lines":[{"line_number":415,"context_line":"        self.label_formatter \u003d _get_labeled_statsd_formatter(label_mode)"},{"line_number":416,"context_line":"        if self.logger:"},{"line_number":417,"context_line":"            # TODO: this could be at info level, it\u0027s only logged during"},{"line_number":418,"context_line":"            #   startup, but that will cause some test churn so I\u0027ve opted for"},{"line_number":419,"context_line":"            #   debug until we\u0027ve bought into this in principle"},{"line_number":420,"context_line":"            self.logger.debug(\u0027Labeled statsd mode: %s (%s)\u0027,"},{"line_number":421,"context_line":"                              label_mode, self.logger.name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1adbfd53_352dd7fa","line":418,"in_reply_to":"6d9fbfb6_473b8725","updated":"2025-03-24 15:34:14.000000000","message":"ok. that get some more consensus before changing the tests","commit_id":"137707ce501da74b08d1bd2e385ab84e6369e776"}],"test/unit/common/test_statsd_client.py":[{"author":{"_account_id":36606,"name":"Yan Xiao","display_name":"Yan","email":"yanxiao@nvidia.com","username":"yanxiao"},"change_message_id":"d4baa6c357625641b0b778a603d639c4677e0318","unresolved":true,"context_lines":[{"line_number":275,"context_line":"            \u0027log_statsd_host\u0027: \u0027myhost1\u0027,"},{"line_number":276,"context_line":"            \u0027log_statsd_port\u0027: 1235,"},{"line_number":277,"context_line":"            \u0027statsd_label_mode\u0027: \u0027librato\u0027,"},{"line_number":278,"context_line":"            \u0027statsd_user_label_foo\u0027: \u0027buz\u0027,"},{"line_number":279,"context_line":"        }"},{"line_number":280,"context_line":"        client \u003d statsd_client.get_labeled_statsd_client(conf)"},{"line_number":281,"context_line":"        self.assertEqual({\u0027user_foo\u0027: \u0027buz\u0027}, client.default_labels)"}],"source_content_type":"text/x-python","patch_set":2,"id":"23af8aa7_726b843e","line":278,"updated":"2025-03-24 13:59:55.000000000","message":"we probably need this to test for user label value using \u0027.\u0027 char?","commit_id":"137707ce501da74b08d1bd2e385ab84e6369e776"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"35faea5cd0ee0725940b9c7d9b80c67e8b8b48f0","unresolved":true,"context_lines":[{"line_number":275,"context_line":"            \u0027log_statsd_host\u0027: \u0027myhost1\u0027,"},{"line_number":276,"context_line":"            \u0027log_statsd_port\u0027: 1235,"},{"line_number":277,"context_line":"            \u0027statsd_label_mode\u0027: \u0027librato\u0027,"},{"line_number":278,"context_line":"            \u0027statsd_user_label_foo\u0027: \u0027buz\u0027,"},{"line_number":279,"context_line":"        }"},{"line_number":280,"context_line":"        client \u003d statsd_client.get_labeled_statsd_client(conf)"},{"line_number":281,"context_line":"        self.assertEqual({\u0027user_foo\u0027: \u0027buz\u0027}, client.default_labels)"}],"source_content_type":"text/x-python","patch_set":2,"id":"cd74a335_c1735c1d","line":278,"in_reply_to":"23af8aa7_726b843e","updated":"2025-03-24 15:34:14.000000000","message":"+1 not sure how or why I changed that from the relocated original","commit_id":"137707ce501da74b08d1bd2e385ab84e6369e776"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ee3ed167808c27f28a4cc1399481dc0c39af81b6","unresolved":false,"context_lines":[{"line_number":275,"context_line":"            \u0027log_statsd_host\u0027: \u0027myhost1\u0027,"},{"line_number":276,"context_line":"            \u0027log_statsd_port\u0027: 1235,"},{"line_number":277,"context_line":"            \u0027statsd_label_mode\u0027: \u0027librato\u0027,"},{"line_number":278,"context_line":"            \u0027statsd_user_label_foo\u0027: \u0027buz\u0027,"},{"line_number":279,"context_line":"        }"},{"line_number":280,"context_line":"        client \u003d statsd_client.get_labeled_statsd_client(conf)"},{"line_number":281,"context_line":"        self.assertEqual({\u0027user_foo\u0027: \u0027buz\u0027}, client.default_labels)"}],"source_content_type":"text/x-python","patch_set":2,"id":"4ce8328e_626d9360","line":278,"in_reply_to":"cd74a335_c1735c1d","updated":"2025-03-24 15:46:43.000000000","message":"Done","commit_id":"137707ce501da74b08d1bd2e385ab84e6369e776"},{"author":{"_account_id":36606,"name":"Yan Xiao","display_name":"Yan","email":"yanxiao@nvidia.com","username":"yanxiao"},"change_message_id":"d4baa6c357625641b0b778a603d639c4677e0318","unresolved":true,"context_lines":[{"line_number":605,"context_line":"            # No \"log_statsd_host\" means \"disabled\""},{"line_number":606,"context_line":"            \u0027log_statsd_port\u0027: str(self.port),"},{"line_number":607,"context_line":"        }, \u0027some-name\u0027)"},{"line_number":608,"context_line":"        # Delegate methods are no-ops"},{"line_number":609,"context_line":"        self.assertIsNone(self.client.update_stats(\u0027foo\u0027, 88))"},{"line_number":610,"context_line":"        self.assertIsNone(self.client.update_stats(\u0027foo\u0027, 88, 0.57))"},{"line_number":611,"context_line":"        self.assertIsNone(self.client.update_stats(\u0027foo\u0027, 88,"}],"source_content_type":"text/x-python","patch_set":2,"id":"c791b1ed_6b759a49","line":608,"updated":"2025-03-24 13:59:55.000000000","message":"should probably not use \"Delegate methods\" anymore?","commit_id":"137707ce501da74b08d1bd2e385ab84e6369e776"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"35faea5cd0ee0725940b9c7d9b80c67e8b8b48f0","unresolved":true,"context_lines":[{"line_number":605,"context_line":"            # No \"log_statsd_host\" means \"disabled\""},{"line_number":606,"context_line":"            \u0027log_statsd_port\u0027: str(self.port),"},{"line_number":607,"context_line":"        }, \u0027some-name\u0027)"},{"line_number":608,"context_line":"        # Delegate methods are no-ops"},{"line_number":609,"context_line":"        self.assertIsNone(self.client.update_stats(\u0027foo\u0027, 88))"},{"line_number":610,"context_line":"        self.assertIsNone(self.client.update_stats(\u0027foo\u0027, 88, 0.57))"},{"line_number":611,"context_line":"        self.assertIsNone(self.client.update_stats(\u0027foo\u0027, 88,"}],"source_content_type":"text/x-python","patch_set":2,"id":"8addeea3_d2fa0de9","line":608,"in_reply_to":"c791b1ed_6b759a49","updated":"2025-03-24 15:34:14.000000000","message":"I decided to revert most of the changes to legacy client tests and address them in a separate patch. But yes, \u0027Delegate\u0027 isn\u0027t appropriate.","commit_id":"137707ce501da74b08d1bd2e385ab84e6369e776"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ee3ed167808c27f28a4cc1399481dc0c39af81b6","unresolved":true,"context_lines":[{"line_number":777,"context_line":"            labeled_statsd.timing, \u0027the_timing\u0027, 6.28 * 1000, labels\u003dlabels)"},{"line_number":778,"context_line":"        self.assertStat("},{"line_number":779,"context_line":"            \u0027the_stat:3|c|#action:some,result:ok\u0027,"},{"line_number":780,"context_line":"            labeled_statsd.update_stats, \u0027the_stat\u0027, 3, labels\u003dlabels)"},{"line_number":781,"context_line":""},{"line_number":782,"context_line":"    def test_statsd_methods_with_labels_and_prefix_graphite(self):"},{"line_number":783,"context_line":"        conf \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"7fe5c505_e2d7e171","side":"PARENT","line":780,"updated":"2025-03-24 15:46:43.000000000","message":"this and the following changes are the most significant in terms of content - does any reviewer perceive that we were gaining coverage with the legacy ``get_statsd_client`` testing that was interleaved here?\n\nMy guess is that in the early days of this patch the labeled and legacy implementations were more tightly coupled and so we were checking that using labels didn\u0027t break legacy. But now the two clients are decoupled I can\u0027t see the value of the ``get_statsd_client`` tests.","commit_id":"b9ef50c32b28d5b361bca13e599f11e2c8c1559f"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ee3ed167808c27f28a4cc1399481dc0c39af81b6","unresolved":true,"context_lines":[{"line_number":216,"context_line":"        self.assertEqual(1.0, client._sample_rate_factor)"},{"line_number":217,"context_line":"        self.assertIsNone(client.logger)"},{"line_number":218,"context_line":"        with mock.patch.object(client, \u0027_open_socket\u0027) as mock_open:"},{"line_number":219,"context_line":"            client.increment(\u0027tunafish\u0027, {})"},{"line_number":220,"context_line":"        self.assertFalse(mock_open.mock_calls)"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    def test_conf_non_defaults(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9788ea56_3bfd6b7f","line":219,"range":{"start_line":219,"start_character":12,"end_line":219,"end_character":44},"updated":"2025-03-24 15:46:43.000000000","message":"I keep thinking I\u0027d like to be able to write ``LabeledStatsdClient.increment(\u0027tunafish\u0027)`` when there are no labels rather than having to pass an empty dict","commit_id":"9a261efd8d93dd36bb39a9a57d0a56e31e8ca78d"}]}
