)]}'
{"ceilometer/pipeline.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"7ee17e57ec04c483b27186209a3a6eef6f964805","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                \"Required field %s not specified\" % err.args[0], cfg)"},{"line_number":168,"context_line":"        self.check_source_filtering(self.events, \u0027events\u0027)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def support_event(self, event_name):"},{"line_number":171,"context_line":"        # Special case: if we only have negation, we suppose the default is"},{"line_number":172,"context_line":"        # allow"},{"line_number":173,"context_line":"        default \u003d all(event.startswith(\u0027!\u0027) for event in self.events)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_ffa0cea6","line":170,"updated":"2015-01-15 05:37:05.000000000","message":"Seems quite a lot of duplication with SampleSource.support_meter(), may be move the common part to the base Source?","commit_id":"dfd4b94e24beb0ac5e1d233e1f69bd44d4942b78"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"106842f3935e033f66488e9da0d7a1158ec193be","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                \"Required field %s not specified\" % err.args[0], cfg)"},{"line_number":168,"context_line":"        self.check_source_filtering(self.events, \u0027events\u0027)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def support_event(self, event_name):"},{"line_number":171,"context_line":"        # Special case: if we only have negation, we suppose the default is"},{"line_number":172,"context_line":"        # allow"},{"line_number":173,"context_line":"        default \u003d all(event.startswith(\u0027!\u0027) for event in self.events)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_75278cc7","line":170,"in_reply_to":"3a961159_40d2e234","updated":"2015-01-15 17:05:48.000000000","message":"@llu, sure\n\n@zqfan, i\u0027m not really sure what you mean. this is pretty consistent with how we handle meter filtering and i don\u0027t think we should handle it differently because people are familiar with it. i\u0027ll get rid of variable at beginning and move it to end.","commit_id":"dfd4b94e24beb0ac5e1d233e1f69bd44d4942b78"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"7642bc14e766b9636e146f9541ccae15d57ae2f8","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                \"Required field %s not specified\" % err.args[0], cfg)"},{"line_number":168,"context_line":"        self.check_source_filtering(self.events, \u0027events\u0027)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def support_event(self, event_name):"},{"line_number":171,"context_line":"        # Special case: if we only have negation, we suppose the default is"},{"line_number":172,"context_line":"        # allow"},{"line_number":173,"context_line":"        default \u003d all(event.startswith(\u0027!\u0027) for event in self.events)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_bbff10aa","line":170,"in_reply_to":"3a961159_75278cc7","updated":"2015-01-16 02:32:44.000000000","message":"OK, let\u0027s keep consistent","commit_id":"dfd4b94e24beb0ac5e1d233e1f69bd44d4942b78"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"cd45700a29d801e0180a9d1f52564c824232cf0a","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                \"Required field %s not specified\" % err.args[0], cfg)"},{"line_number":168,"context_line":"        self.check_source_filtering(self.events, \u0027events\u0027)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def support_event(self, event_name):"},{"line_number":171,"context_line":"        # Special case: if we only have negation, we suppose the default is"},{"line_number":172,"context_line":"        # allow"},{"line_number":173,"context_line":"        default \u003d all(event.startswith(\u0027!\u0027) for event in self.events)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_40d2e234","line":170,"in_reply_to":"3a961159_ffa0cea6","updated":"2015-01-15 06:57:50.000000000","message":"Your curent logic about an event is supported or not is: (ordered by):\n\n    1. if any place it is denied, the it is not supported\n    2. if any place it is allowed, then it is allowed\n    3. if it is not defined, but all events are denied, it is allowed\n    4. if it is not defined, but there is any single event is allowed, then it is denied\n\nwhich sounds not so natural to me\n\nI think it could be better if it is not defined, then it is denied or allowed directly, not depends on other event pipelines\nif I misunderstant current logic, at least move L169-171 to the end of this function, it is not good to define a variable in the beginning and use it at the end","commit_id":"dfd4b94e24beb0ac5e1d233e1f69bd44d4942b78"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"7ee17e57ec04c483b27186209a3a6eef6f964805","unresolved":false,"context_lines":[{"line_number":683,"context_line":"        return PublishContext(context, self.pipelines)"},{"line_number":684,"context_line":""},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"def _setup_pipeline_manager(cfg_file, transformer_manager, p_type\u003dSAMPLE_TYPE):"},{"line_number":687,"context_line":"    if not os.path.exists(cfg_file):"},{"line_number":688,"context_line":"        cfg_file \u003d cfg.CONF.find_file(cfg_file)"},{"line_number":689,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_3f95f631","line":686,"updated":"2015-01-15 05:37:05.000000000","message":"instead of having 2 parameters cfg_file and p_type to differentiate the event pipeline and sample pipeline, can we just use only p_type instead, and load different cfg_file based on the p_type?","commit_id":"dfd4b94e24beb0ac5e1d233e1f69bd44d4942b78"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"106842f3935e033f66488e9da0d7a1158ec193be","unresolved":false,"context_lines":[{"line_number":683,"context_line":"        return PublishContext(context, self.pipelines)"},{"line_number":684,"context_line":""},{"line_number":685,"context_line":""},{"line_number":686,"context_line":"def _setup_pipeline_manager(cfg_file, transformer_manager, p_type\u003dSAMPLE_TYPE):"},{"line_number":687,"context_line":"    if not os.path.exists(cfg_file):"},{"line_number":688,"context_line":"        cfg_file \u003d cfg.CONF.find_file(cfg_file)"},{"line_number":689,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_9594f8e8","line":686,"in_reply_to":"3a961159_3f95f631","updated":"2015-01-15 17:05:48.000000000","message":"i debated this but i didn\u0027t feel like it was any better to have a check here. i preferred having to pass it in explicitly to avoid confusion but i could move logic here if you feel strongly about it.","commit_id":"dfd4b94e24beb0ac5e1d233e1f69bd44d4942b78"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"d7daadaf3caa865657dccc516b2ad547866f4b5d","unresolved":false,"context_lines":[{"line_number":310,"context_line":""},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"class EventSink(Sink):"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    def _transform_event(self, event):"},{"line_number":315,"context_line":"        return event"},{"line_number":316,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa81d914_fb35b746","line":313,"updated":"2015-01-28 13:32:38.000000000","message":"Will \"real\" transformation be added later?","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"7648354489780f918116f5440abcf078bf0c13d5","unresolved":false,"context_lines":[{"line_number":310,"context_line":""},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"class EventSink(Sink):"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    def _transform_event(self, event):"},{"line_number":315,"context_line":"        return event"},{"line_number":316,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa81d914_ed141af7","line":313,"in_reply_to":"fa81d914_fb35b746","updated":"2015-01-28 13:42:59.000000000","message":"i\u0027ve remove this... i\u0027ll add it back when i do real transformations.","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c92db6dd4edf042c71c00b94510f46e2e7a26caf","unresolved":false,"context_lines":[{"line_number":311,"context_line":""},{"line_number":312,"context_line":"class EventSink(Sink):"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    def _transform_event(self, event):"},{"line_number":315,"context_line":"        return event"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    def _publish_events(self, start, ctxt, events):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a930d6b_62e444e1","line":314,"updated":"2015-01-26 09:48:55.000000000","message":"@staticmethod","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"d7daadaf3caa865657dccc516b2ad547866f4b5d","unresolved":false,"context_lines":[{"line_number":333,"context_line":"                    \"Pipeline %(pipeline)s: Transform sample \""},{"line_number":334,"context_line":"                    \"%(ev)s from %(trans)s transformer\") % ({\u0027pipeline\u0027: self,"},{"line_number":335,"context_line":"                                                             \u0027ev\u0027: event,"},{"line_number":336,"context_line":"                                                             \u0027trans\u0027: start}))"},{"line_number":337,"context_line":"                event \u003d self._transform_event(start, ctxt, event)"},{"line_number":338,"context_line":"                if event:"},{"line_number":339,"context_line":"                    transformed_events.append(event)"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa81d914_fb8217ff","line":336,"updated":"2015-01-28 13:32:38.000000000","message":"self._transform_event has signature def _transform_event(self, event). Did I miss anything?","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"7648354489780f918116f5440abcf078bf0c13d5","unresolved":false,"context_lines":[{"line_number":333,"context_line":"                    \"Pipeline %(pipeline)s: Transform sample \""},{"line_number":334,"context_line":"                    \"%(ev)s from %(trans)s transformer\") % ({\u0027pipeline\u0027: self,"},{"line_number":335,"context_line":"                                                             \u0027ev\u0027: event,"},{"line_number":336,"context_line":"                                                             \u0027trans\u0027: start}))"},{"line_number":337,"context_line":"                event \u003d self._transform_event(start, ctxt, event)"},{"line_number":338,"context_line":"                if event:"},{"line_number":339,"context_line":"                    transformed_events.append(event)"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa81d914_ed5dfaea","line":336,"in_reply_to":"fa81d914_fb8217ff","updated":"2015-01-28 13:42:59.000000000","message":"same.","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c92db6dd4edf042c71c00b94510f46e2e7a26caf","unresolved":false,"context_lines":[{"line_number":334,"context_line":"                    \"%(ev)s from %(trans)s transformer\") % ({\u0027pipeline\u0027: self,"},{"line_number":335,"context_line":"                                                             \u0027ev\u0027: event,"},{"line_number":336,"context_line":"                                                             \u0027trans\u0027: start}))"},{"line_number":337,"context_line":"                event \u003d self._transform_event(start, ctxt, event)"},{"line_number":338,"context_line":"                if event:"},{"line_number":339,"context_line":"                    transformed_events.append(event)"},{"line_number":340,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a930d6b_82fcd073","line":337,"updated":"2015-01-26 09:48:55.000000000","message":"Is there really a point?","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"1bfb01d59352f93dc84b070ad584c7e09739217f","unresolved":false,"context_lines":[{"line_number":334,"context_line":"                    \"%(ev)s from %(trans)s transformer\") % ({\u0027pipeline\u0027: self,"},{"line_number":335,"context_line":"                                                             \u0027ev\u0027: event,"},{"line_number":336,"context_line":"                                                             \u0027trans\u0027: start}))"},{"line_number":337,"context_line":"                event \u003d self._transform_event(start, ctxt, event)"},{"line_number":338,"context_line":"                if event:"},{"line_number":339,"context_line":"                    transformed_events.append(event)"},{"line_number":340,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a930d6b_9776bea2","line":337,"in_reply_to":"1a930d6b_82fcd073","updated":"2015-01-26 15:50:19.000000000","message":"future proofing.. i\u0027ve remove it.","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"35ab211dd9915ffc611612e9158b97f4cd4f04b0","unresolved":false,"context_lines":[{"line_number":686,"context_line":"                           ), p_type)"},{"line_number":687,"context_line":""},{"line_number":688,"context_line":""},{"line_number":689,"context_line":"def setup_event_pipeline(transformer_manager\u003dNone):"},{"line_number":690,"context_line":"    \"\"\"Setup event pipeline manager according to yaml config file.\"\"\""},{"line_number":691,"context_line":"    cfg_file \u003d cfg.CONF.event_pipeline_cfg_file"},{"line_number":692,"context_line":"    return _setup_pipeline_manager(cfg_file, transformer_manager, EVENT_TYPE)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_89f4d1cf","line":689,"updated":"2015-01-16 01:53:51.000000000","message":"s/event/events better ?","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"35ab211dd9915ffc611612e9158b97f4cd4f04b0","unresolved":false,"context_lines":[{"line_number":692,"context_line":"    return _setup_pipeline_manager(cfg_file, transformer_manager, EVENT_TYPE)"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":""},{"line_number":695,"context_line":"def setup_pipeline(transformer_manager\u003dNone):"},{"line_number":696,"context_line":"    \"\"\"Setup pipeline manager according to yaml config file.\"\"\""},{"line_number":697,"context_line":"    cfg_file \u003d cfg.CONF.pipeline_cfg_file"},{"line_number":698,"context_line":"    return _setup_pipeline_manager(cfg_file, transformer_manager)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_0909c1dc","line":695,"updated":"2015-01-16 01:53:51.000000000","message":"I think setup_samples_pipeline is better","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"d04c272865936122e3cebecbb63daf842fcb421a","unresolved":false,"context_lines":[{"line_number":323,"context_line":"                                                      \u0027pub\u0027: p}))"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"    def flush(self, ctxt):"},{"line_number":326,"context_line":"        \"\"\"Flush data after all events have been injected to pipeline.\"\"\""},{"line_number":327,"context_line":"        pass"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"fa81d914_02a3beb2","line":326,"updated":"2015-01-29 13:24:58.000000000","message":"@staticmethod","commit_id":"7dc164bc5dd2068499eac6e3173454f97f09d9d5"}],"ceilometer/publisher/direct.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c92db6dd4edf042c71c00b94510f46e2e7a26caf","unresolved":false,"context_lines":[{"line_number":16,"context_line":"# under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from oslo_config import cfg"},{"line_number":20,"context_line":"from oslo_utils import timeutils"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"import ceilometer"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a930d6b_22eddcb7","line":19,"updated":"2015-01-26 09:48:55.000000000","message":"Unrelated :(","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"1bfb01d59352f93dc84b070ad584c7e09739217f","unresolved":false,"context_lines":[{"line_number":16,"context_line":"# under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from oslo_config import cfg"},{"line_number":20,"context_line":"from oslo_utils import timeutils"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"import ceilometer"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a930d6b_b77bba8a","line":19,"in_reply_to":"1a930d6b_22eddcb7","updated":"2015-01-26 15:50:19.000000000","message":"Done","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"}],"ceilometer/publisher/file.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"63c5b661223d20c41730fc1cd6a47f29b43ca426","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        :param context: Execution context from the service or RPC call"},{"line_number":105,"context_line":"        :param events: events from pipeline after transformation"},{"line_number":106,"context_line":"        \"\"\""},{"line_number":107,"context_line":"        raise NotImplementedError"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_1a7e88e4","line":107,"updated":"2015-01-15 06:53:47.000000000","message":"raise ceilometer.NotImplementedError can be more specific since we already have it","commit_id":"dfd4b94e24beb0ac5e1d233e1f69bd44d4942b78"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"106842f3935e033f66488e9da0d7a1158ec193be","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        :param context: Execution context from the service or RPC call"},{"line_number":105,"context_line":"        :param events: events from pipeline after transformation"},{"line_number":106,"context_line":"        \"\"\""},{"line_number":107,"context_line":"        raise NotImplementedError"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_c1b16292","line":107,"in_reply_to":"3a961159_1a7e88e4","updated":"2015-01-15 17:05:48.000000000","message":"Done","commit_id":"dfd4b94e24beb0ac5e1d233e1f69bd44d4942b78"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"35ab211dd9915ffc611612e9158b97f4cd4f04b0","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                self.publisher_logger.info(sample.as_dict())"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def publish_events(self, context, events):"},{"line_number":103,"context_line":"        \"\"\"Send an event message for publishing"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        :param context: Execution context from the service or RPC call"},{"line_number":106,"context_line":"        :param events: events from pipeline after transformation"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_69c40592","line":103,"updated":"2015-01-16 01:53:51.000000000","message":"events , better ?","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"35ab211dd9915ffc611612e9158b97f4cd4f04b0","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        \"\"\"Send an event message for publishing"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        :param context: Execution context from the service or RPC call"},{"line_number":106,"context_line":"        :param events: events from pipeline after transformation"},{"line_number":107,"context_line":"        \"\"\""},{"line_number":108,"context_line":"        raise ceilometer.NotImplementedError"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_09d46145","line":106,"updated":"2015-01-16 01:53:51.000000000","message":"s/events/Events","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"}],"ceilometer/publisher/messaging.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"63c5b661223d20c41730fc1cd6a47f29b43ca426","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        :param context: Execution context from the service or RPC call"},{"line_number":169,"context_line":"        :param events: events from pipeline after transformation"},{"line_number":170,"context_line":"        \"\"\""},{"line_number":171,"context_line":"        raise NotImplementedError"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    @abc.abstractmethod"},{"line_number":174,"context_line":"    def _send(self, context, topic, meters):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_9a699827","line":171,"updated":"2015-01-15 06:53:47.000000000","message":"consider raise ceilometer.NotImplementedError","commit_id":"dfd4b94e24beb0ac5e1d233e1f69bd44d4942b78"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"106842f3935e033f66488e9da0d7a1158ec193be","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        :param context: Execution context from the service or RPC call"},{"line_number":169,"context_line":"        :param events: events from pipeline after transformation"},{"line_number":170,"context_line":"        \"\"\""},{"line_number":171,"context_line":"        raise NotImplementedError"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    @abc.abstractmethod"},{"line_number":174,"context_line":"    def _send(self, context, topic, meters):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_6150ae2c","line":171,"in_reply_to":"3a961159_9a699827","updated":"2015-01-15 17:05:48.000000000","message":"Done","commit_id":"dfd4b94e24beb0ac5e1d233e1f69bd44d4942b78"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"35ab211dd9915ffc611612e9158b97f4cd4f04b0","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        return []"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def publish_events(self, context, events):"},{"line_number":167,"context_line":"        \"\"\"Send an event message for publishing"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"        :param context: Execution context from the service or RPC call"},{"line_number":170,"context_line":"        :param events: events from pipeline after transformation"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_e9e9d51a","line":167,"updated":"2015-01-16 01:53:51.000000000","message":"Publish events on RPC\n\nor at least change an event to events","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"35ab211dd9915ffc611612e9158b97f4cd4f04b0","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        \"\"\"Send an event message for publishing"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"        :param context: Execution context from the service or RPC call"},{"line_number":170,"context_line":"        :param events: events from pipeline after transformation"},{"line_number":171,"context_line":"        \"\"\""},{"line_number":172,"context_line":"        raise ceilometer.NotImplementedError"},{"line_number":173,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_29f03dfc","line":170,"updated":"2015-01-16 01:53:51.000000000","message":"s/events/Events","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"}],"ceilometer/publisher/test.py":[{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"35ab211dd9915ffc611612e9158b97f4cd4f04b0","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        \"\"\"Send an event message for publishing"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        :param context: Execution context from the service or RPC call"},{"line_number":44,"context_line":"        :param events: events from pipeline after transformation"},{"line_number":45,"context_line":"        \"\"\""},{"line_number":46,"context_line":"        self.events.extend(events)"},{"line_number":47,"context_line":"        self.calls +\u003d 1"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_099f01b5","line":44,"updated":"2015-01-16 01:53:51.000000000","message":"s/events/Events","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"95db7b17117369019d2aaf5f622888be8de4a8d9","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        :param context: Execution context from the service or RPC call"},{"line_number":44,"context_line":"        :param events: events from pipeline after transformation"},{"line_number":45,"context_line":"        \"\"\""},{"line_number":46,"context_line":"        self.events.extend(events)"},{"line_number":47,"context_line":"        self.calls +\u003d 1"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa81d914_9d5e3e75","line":46,"updated":"2015-01-29 10:13:56.000000000","message":"nit: maybe it\u0027s better to keep 2 separate calls counter for samples and events","commit_id":"7dc164bc5dd2068499eac6e3173454f97f09d9d5"}],"ceilometer/publisher/udp.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"63c5b661223d20c41730fc1cd6a47f29b43ca426","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        :param context: Execution context from the service or RPC call"},{"line_number":73,"context_line":"        :param events: events from pipeline after transformation"},{"line_number":74,"context_line":"        \"\"\""},{"line_number":75,"context_line":"        raise NotImplementedError"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_5a5bb085","line":75,"updated":"2015-01-15 06:53:47.000000000","message":"ceilometer.NotImplementedError ? or can be just use base class\u0027s definition, the other publisher should consider use parent\u0027s method as well...","commit_id":"dfd4b94e24beb0ac5e1d233e1f69bd44d4942b78"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"106842f3935e033f66488e9da0d7a1158ec193be","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        :param context: Execution context from the service or RPC call"},{"line_number":73,"context_line":"        :param events: events from pipeline after transformation"},{"line_number":74,"context_line":"        \"\"\""},{"line_number":75,"context_line":"        raise NotImplementedError"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_4c468951","line":75,"in_reply_to":"3a961159_5a5bb085","updated":"2015-01-15 17:05:48.000000000","message":"it\u0027s an abstractmethod so i think i need to define it here anyways or it\u0027ll raise an error that method is missing.","commit_id":"dfd4b94e24beb0ac5e1d233e1f69bd44d4942b78"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"35ab211dd9915ffc611612e9158b97f4cd4f04b0","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        \"\"\"Send an event message for publishing"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        :param context: Execution context from the service or RPC call"},{"line_number":74,"context_line":"        :param events: events from pipeline after transformation"},{"line_number":75,"context_line":"        \"\"\""},{"line_number":76,"context_line":"        raise ceilometer.NotImplementedError"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_a95eed10","line":74,"updated":"2015-01-16 01:53:51.000000000","message":"s/events/Events","commit_id":"e7e07411feff5b99c1a6f6e254a55b0653162826"}],"ceilometer/tests/pipeline_base.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"d04c272865936122e3cebecbb63daf842fcb421a","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        return fake_drivers[url](url)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    class PublisherClassException(publisher.PublisherBase):"},{"line_number":81,"context_line":"        def publish_samples(self, ctxt, samples):"},{"line_number":82,"context_line":"            raise Exception()"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        def publish_events(self, ctxt, events):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa81d914_a278322c","line":81,"updated":"2015-01-29 13:24:58.000000000","message":"@staticmethod","commit_id":"7dc164bc5dd2068499eac6e3173454f97f09d9d5"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"d04c272865936122e3cebecbb63daf842fcb421a","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        def publish_samples(self, ctxt, samples):"},{"line_number":82,"context_line":"            raise Exception()"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        def publish_events(self, ctxt, events):"},{"line_number":85,"context_line":"            raise Exception()"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    class TransformerClass(transformer.TransformerBase):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa81d914_e2722a48","line":84,"updated":"2015-01-29 13:24:58.000000000","message":"@staticmethod","commit_id":"7dc164bc5dd2068499eac6e3173454f97f09d9d5"}]}
