)]}'
{"ceilometer/event/storage/impl_elasticsearch.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"591ab27e590635d60f4a598bdb7ed7237b13dad7","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            for ev in events:"},{"line_number":86,"context_line":"                traits \u003d {}"},{"line_number":87,"context_line":"                for trait in ev.traits:"},{"line_number":88,"context_line":"                    traits[trait.name] \u003d trait.value"},{"line_number":89,"context_line":"                yield {\u0027_index\u0027: \u0027%s_%s\u0027 % (self.index_name,"},{"line_number":90,"context_line":"                                            ev.generated.date().isoformat()),"},{"line_number":91,"context_line":"                       \u0027_type\u0027: ev.event_type,"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa81d914_c85352e0","line":88,"updated":"2015-01-30 16:44:35.000000000","message":"Lines 87-89 more readable as a comprehension?\n\n  traits \u003d {t.name: t.value for t in ev.traits}","commit_id":"7c5ab69217dd6ab42315ef0e960bbb345e70d02a"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"ab7b2e80eb340990fd34c229d2d4c7afaf045b08","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            for ev in events:"},{"line_number":86,"context_line":"                traits \u003d {}"},{"line_number":87,"context_line":"                for trait in ev.traits:"},{"line_number":88,"context_line":"                    traits[trait.name] \u003d trait.value"},{"line_number":89,"context_line":"                yield {\u0027_index\u0027: \u0027%s_%s\u0027 % (self.index_name,"},{"line_number":90,"context_line":"                                            ev.generated.date().isoformat()),"},{"line_number":91,"context_line":"                       \u0027_type\u0027: ev.event_type,"}],"source_content_type":"text/x-python","patch_set":7,"id":"da86d52c_e94515b4","line":88,"in_reply_to":"fa81d914_c85352e0","updated":"2015-01-30 19:45:54.000000000","message":"will do","commit_id":"7c5ab69217dd6ab42315ef0e960bbb345e70d02a"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"591ab27e590635d60f4a598bdb7ed7237b13dad7","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def get_events(self, event_filter):"},{"line_number":168,"context_line":"        iclient \u003d es.client.IndicesClient(self.conn)"},{"line_number":169,"context_line":"        indices \u003d iclient.get_mapping(\u0027%s_*\u0027 % self.index_name).keys()"},{"line_number":170,"context_line":"        if indices:"},{"line_number":171,"context_line":"            filter_args \u003d self._make_dsl_from_filter(indices, event_filter)"},{"line_number":172,"context_line":"            results \u003d self.conn.search(fields\u003d[\u0027_id\u0027, \u0027timestamp\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa81d914_08f1ea6a","line":169,"updated":"2015-01-30 16:44:35.000000000","message":"Just wondering if always pulling down *all* the daily indices might be problem for a long-running store?\n\ne.g. if the filter has start and end timestamps that both refer to the same day, or just span a small number of days, would it be better to just list these out explicitly in the get_mapping call?\n\nOr is retrieving all indices sufficiently lightweight that you don\u0027t envisage it being an issue even for months or years worth of daily indices?","commit_id":"7c5ab69217dd6ab42315ef0e960bbb345e70d02a"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"ab7b2e80eb340990fd34c229d2d4c7afaf045b08","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def get_events(self, event_filter):"},{"line_number":168,"context_line":"        iclient \u003d es.client.IndicesClient(self.conn)"},{"line_number":169,"context_line":"        indices \u003d iclient.get_mapping(\u0027%s_*\u0027 % self.index_name).keys()"},{"line_number":170,"context_line":"        if indices:"},{"line_number":171,"context_line":"            filter_args \u003d self._make_dsl_from_filter(indices, event_filter)"},{"line_number":172,"context_line":"            results \u003d self.conn.search(fields\u003d[\u0027_id\u0027, \u0027timestamp\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"da86d52c_896c9938","line":169,"in_reply_to":"fa81d914_08f1ea6a","updated":"2015-01-30 19:45:54.000000000","message":"tbh, it\u0027d probably be pretty lightweight, this is accessing not the data but a separate listing of just the available indices which would be essentially a row/document worth of data per day... but yeah it probably makes sense to just filter indices as well.\n\ni\u0027ll make that change.","commit_id":"7c5ab69217dd6ab42315ef0e960bbb345e70d02a"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"20818b524e1ba538dc067aba50f3b81ed0ebb0dc","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def record_events(self, events):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        def _build_bulk_index(events):"},{"line_number":85,"context_line":"            for ev in events:"},{"line_number":86,"context_line":"                traits \u003d {t.name: t.value for t in ev.traits}"},{"line_number":87,"context_line":"                yield {\u0027_index\u0027: \u0027%s_%s\u0027 % (self.index_name,"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_cd3abe33","line":84,"updated":"2015-02-03 10:38:40.000000000","message":"Would be better to have a different name that does not shadow events in record_events()","commit_id":"bcd9f7d0e5d754b889163a1d8149333fc4e6c852"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"8cdda2354425d4ad761b8be76a6a5b26a11b584e","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def record_events(self, events):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        def _build_bulk_index(events):"},{"line_number":85,"context_line":"            for ev in events:"},{"line_number":86,"context_line":"                traits \u003d {t.name: t.value for t in ev.traits}"},{"line_number":87,"context_line":"                yield {\u0027_index\u0027: \u0027%s_%s\u0027 % (self.index_name,"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_e0d4db21","line":84,"in_reply_to":"da86d52c_cd3abe33","updated":"2015-02-04 04:50:29.000000000","message":"d\u0027accord","commit_id":"bcd9f7d0e5d754b889163a1d8149333fc4e6c852"}],"setup-test-env-elastic.sh":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"591ab27e590635d60f4a598bdb7ed7237b13dad7","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"export PATH\u003d$PATH:/usr/share/elasticsearch/bin"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"check_for_cmd elasticsearch "},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# check for Java"},{"line_number":16,"context_line":"if [ -x \"$JAVA_HOME/bin/java\" ]; then"}],"source_content_type":"text/x-sh","patch_set":7,"id":"fa81d914_c547bbba","line":13,"updated":"2015-01-30 16:44:35.000000000","message":"trailing whitespace","commit_id":"7c5ab69217dd6ab42315ef0e960bbb345e70d02a"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"ab7b2e80eb340990fd34c229d2d4c7afaf045b08","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"export PATH\u003d$PATH:/usr/share/elasticsearch/bin"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"check_for_cmd elasticsearch "},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# check for Java"},{"line_number":16,"context_line":"if [ -x \"$JAVA_HOME/bin/java\" ]; then"}],"source_content_type":"text/x-sh","patch_set":7,"id":"da86d52c_29656d45","line":13,"in_reply_to":"fa81d914_c547bbba","updated":"2015-01-30 19:45:54.000000000","message":"will do.","commit_id":"7c5ab69217dd6ab42315ef0e960bbb345e70d02a"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"89eb6082e9105d873a51812d08c75d69864d52f3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"source functions.sh"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"if [ \"$1\" \u003d \"--coverage\" ]; then"},{"line_number":7,"context_line":"\tCOVERAGE_ARG\u003d\"$1\""},{"line_number":8,"context_line":"\tshift"},{"line_number":9,"context_line":"fi"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"da86d52c_85e315a3","line":7,"updated":"2015-02-04 03:05:54.000000000","message":"tab?","commit_id":"c168fd427b2ab041340fdb2c44e7ae4f4e0d8044"}],"test-requirements-py3.txt":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"89eb6082e9105d873a51812d08c75d69864d52f3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Babel\u003e\u003d1.3"},{"line_number":8,"context_line":"coverage\u003e\u003d3.6"},{"line_number":9,"context_line":"discover"},{"line_number":10,"context_line":"elasticsearch\u003e\u003d1.3.0"},{"line_number":11,"context_line":"fixtures\u003e\u003d0.3.14"},{"line_number":12,"context_line":"httplib2\u003e\u003d0.7.5"},{"line_number":13,"context_line":"mock\u003e\u003d1.0"}],"source_content_type":"text/plain","patch_set":9,"id":"da86d52c_a5e01997","line":10,"updated":"2015-02-04 03:05:54.000000000","message":"ditto","commit_id":"c168fd427b2ab041340fdb2c44e7ae4f4e0d8044"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"123d56ba8712c50fd4bd18d382c15c6b67e883cb","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Babel\u003e\u003d1.3"},{"line_number":8,"context_line":"coverage\u003e\u003d3.6"},{"line_number":9,"context_line":"discover"},{"line_number":10,"context_line":"elasticsearch\u003e\u003d1.3.0"},{"line_number":11,"context_line":"fixtures\u003e\u003d0.3.14"},{"line_number":12,"context_line":"httplib2\u003e\u003d0.7.5"},{"line_number":13,"context_line":"mock\u003e\u003d1.0"}],"source_content_type":"text/plain","patch_set":9,"id":"da86d52c_f80ab877","line":10,"in_reply_to":"da86d52c_a5e01997","updated":"2015-02-04 03:57:33.000000000","message":"same","commit_id":"c168fd427b2ab041340fdb2c44e7ae4f4e0d8044"}],"test-requirements.txt":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"89eb6082e9105d873a51812d08c75d69864d52f3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Babel\u003e\u003d1.3"},{"line_number":8,"context_line":"coverage\u003e\u003d3.6"},{"line_number":9,"context_line":"discover"},{"line_number":10,"context_line":"elasticsearch\u003e\u003d1.3.0"},{"line_number":11,"context_line":"fixtures\u003e\u003d0.3.14"},{"line_number":12,"context_line":"httplib2\u003e\u003d0.7.5"},{"line_number":13,"context_line":"mock\u003e\u003d1.0"}],"source_content_type":"text/plain","patch_set":9,"id":"da86d52c_65254108","line":10,"updated":"2015-02-04 03:05:54.000000000","message":"-1: it should in requirements.txt and requirements-py3.txt","commit_id":"c168fd427b2ab041340fdb2c44e7ae4f4e0d8044"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"123d56ba8712c50fd4bd18d382c15c6b67e883cb","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Babel\u003e\u003d1.3"},{"line_number":8,"context_line":"coverage\u003e\u003d3.6"},{"line_number":9,"context_line":"discover"},{"line_number":10,"context_line":"elasticsearch\u003e\u003d1.3.0"},{"line_number":11,"context_line":"fixtures\u003e\u003d0.3.14"},{"line_number":12,"context_line":"httplib2\u003e\u003d0.7.5"},{"line_number":13,"context_line":"mock\u003e\u003d1.0"}],"source_content_type":"text/plain","patch_set":9,"id":"da86d52c_d81974d8","line":10,"in_reply_to":"da86d52c_65254108","updated":"2015-02-04 03:57:33.000000000","message":"actually, we put driver related libs (see mysql, psycopg, pymongo, etc... below) in test as it isn\u0027t a hard requirement to enable ceilometer... just a requirement for tests","commit_id":"c168fd427b2ab041340fdb2c44e7ae4f4e0d8044"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"e394cf7a4a46d167560daafebb8a7bdcadf84ee7","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Babel\u003e\u003d1.3"},{"line_number":8,"context_line":"coverage\u003e\u003d3.6"},{"line_number":9,"context_line":"discover"},{"line_number":10,"context_line":"elasticsearch\u003e\u003d1.3.0"},{"line_number":11,"context_line":"fixtures\u003e\u003d0.3.14"},{"line_number":12,"context_line":"httplib2\u003e\u003d0.7.5"},{"line_number":13,"context_line":"mock\u003e\u003d1.0"}],"source_content_type":"text/plain","patch_set":9,"id":"da86d52c_5bcd7e84","line":10,"in_reply_to":"da86d52c_d81974d8","updated":"2015-02-04 04:35:10.000000000","message":"OK\n\nthanks for clarification","commit_id":"c168fd427b2ab041340fdb2c44e7ae4f4e0d8044"}]}
