)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5950,"name":"Ilya Shakhat","email":"shakhat@gmail.com","username":"shakhat"},"change_message_id":"1c070475b64d5d6be264ec7e0cd0249718843f69","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WiP] Filter traces that contain error/exception"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds ability to filter error traces to OSProfiler."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"For the first PoC, I separate all base_id of traces"},{"line_number":12,"context_line":"that contain error/exception to a separate place[1]."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bf8cb3f7_22b73cd8","line":9,"updated":"2017-12-22 14:26:38.000000000","message":"This feature seems to be about filtering (querying) of traces. What is the intention behind storing them separately?","commit_id":"38586ee3844f2bf10b0a479cb43d81ede561bed2"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"270ff13ba233219f686f283774c703c8b646b720","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WiP] Filter traces that contain error/exception"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds ability to filter error traces to OSProfiler."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"For the first PoC, I separate all base_id of traces"},{"line_number":12,"context_line":"that contain error/exception to a separate place[1]."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f91af0f_828e7c2c","line":9,"in_reply_to":"bf8cb3f7_22b73cd8","updated":"2017-12-28 03:08:34.000000000","message":"When we want to find traces that contain error/exception.","commit_id":"38586ee3844f2bf10b0a479cb43d81ede561bed2"}],"osprofiler/drivers/redis_driver.py":[{"author":{"_account_id":5950,"name":"Ilya Shakhat","email":"shakhat@gmail.com","username":"shakhat"},"change_message_id":"1c070475b64d5d6be264ec7e0cd0249718843f69","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        if (self.filter_error_trace"},{"line_number":82,"context_line":"                and data.get(\"info\", {}).get(\"etype\") is not None):"},{"line_number":83,"context_line":"            self.notify_error_trace(data[\"base_id\"])"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def notify_error_trace(self, base_id):"},{"line_number":86,"context_line":"        \"\"\"Store base_id of error trace to a separate key.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"bf8cb3f7_e29f144e","line":83,"updated":"2017-12-22 14:26:38.000000000","message":"If trace events with errors are stored separately how would report work?","commit_id":"38586ee3844f2bf10b0a479cb43d81ede561bed2"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"270ff13ba233219f686f283774c703c8b646b720","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        if (self.filter_error_trace"},{"line_number":82,"context_line":"                and data.get(\"info\", {}).get(\"etype\") is not None):"},{"line_number":83,"context_line":"            self.notify_error_trace(data[\"base_id\"])"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def notify_error_trace(self, base_id):"},{"line_number":86,"context_line":"        \"\"\"Store base_id of error trace to a separate key.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_e293c85b","line":83,"in_reply_to":"bf8cb3f7_e29f144e","updated":"2017-12-28 03:08:34.000000000","message":"It will work normally :D\nIn this first patch, I separate base_id only, then, use the list_error_traces to retrieve list of base_ids that contain exception.\nNothing breaks here. Just add another record for exception base_id.\n\n\nHowever, I will change this to:\n- Move all spans (related to exception-span) to other place (such as other redis db)\n- Just list  traces and query all error traces from that db","commit_id":"38586ee3844f2bf10b0a479cb43d81ede561bed2"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"a078e5382801a941cc1b342f1696fa86f80d8e64","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        self.namespace \u003d \"osprofiler:\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        self.namespace_error \u003d \"osprofiler_error:\""},{"line_number":47,"context_line":"        profiler_config \u003d kwargs.get(\"conf\", {}).get(\"profiler\", {})"},{"line_number":48,"context_line":"        if hasattr(profiler_config, \"filter_error_trace\"):"},{"line_number":49,"context_line":"            self.filter_error_trace \u003d profiler_config.filter_error_trace"},{"line_number":50,"context_line":"        else:"},{"line_number":51,"context_line":"            self.filter_error_trace \u003d False"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @classmethod"},{"line_number":54,"context_line":"    def get_name(cls):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f93b717_c9c36dec","line":51,"range":{"start_line":47,"start_character":8,"end_line":51,"end_character":43},"updated":"2018-02-01 23:33:39.000000000","message":"This is repeated in all drivers. Can we extract it to a helper in the base?","commit_id":"335ffa8fee455100214422fe8f336a056cb880d2"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"3dba0c7aae2a31999756eab52bd2b2d34a9740e1","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        self.namespace \u003d \"osprofiler:\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        self.namespace_error \u003d \"osprofiler_error:\""},{"line_number":47,"context_line":"        profiler_config \u003d kwargs.get(\"conf\", {}).get(\"profiler\", {})"},{"line_number":48,"context_line":"        if hasattr(profiler_config, \"filter_error_trace\"):"},{"line_number":49,"context_line":"            self.filter_error_trace \u003d profiler_config.filter_error_trace"},{"line_number":50,"context_line":"        else:"},{"line_number":51,"context_line":"            self.filter_error_trace \u003d False"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    @classmethod"},{"line_number":54,"context_line":"    def get_name(cls):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_f93db02c","line":51,"range":{"start_line":47,"start_character":8,"end_line":51,"end_character":43},"in_reply_to":"5f93b717_c9c36dec","updated":"2018-02-05 08:17:23.000000000","message":"sure, thank you :D","commit_id":"335ffa8fee455100214422fe8f336a056cb880d2"}]}
