)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"9c066a1e602b0684d3698bedb99a38978217e88c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support new osprofiler API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add connection_string config option that allows to specify the address of the notifier\u0027s storage engine."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I7cba52f9a6c8f4b8a9714382169cee15fb38a58a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1aa78d24_c9e0a699","line":9,"range":{"start_line":9,"start_character":4,"end_line":9,"end_character":21},"updated":"2016-07-14 05:00:59.000000000","message":"wrap to 80 chars","commit_id":"87b30807846e02bf19923893b6b7adc4565bf239"}],"keystone/common/profiler.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"9c066a1e602b0684d3698bedb99a38978217e88c","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            transport\u003doslo_messaging.get_transport(CONF),"},{"line_number":41,"context_line":"            project\u003d\"keystone\","},{"line_number":42,"context_line":"            service\u003dname,"},{"line_number":43,"context_line":"            host\u003dhost)"},{"line_number":44,"context_line":"        osprofiler.notifier.set(_notifier)"},{"line_number":45,"context_line":"        osprofiler.web.enable(CONF.profiler.hmac_keys)"},{"line_number":46,"context_line":"        LOG.info(_LI(\"OSProfiler is enabled.\\n\""}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_29104aab","line":43,"range":{"start_line":43,"start_character":21,"end_line":43,"end_character":22},"updated":"2016-07-14 05:00:59.000000000","message":"from experience with keystoneauth and oslo.context and others an even better API here would be to take this whole setup function and change it to:\n\nosprofiler.init_from_conf(CONF, service\u003dname, host\u003dhost)\n\nbecause everything here is coming from standard CONF and you could add and remove things without having to go and change every service. (I don\u0027t know where service and host come from)","commit_id":"87b30807846e02bf19923893b6b7adc4565bf239"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"96bf8d07c579ad7def0a37b0f737095e68059b10","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        osprofiler.initializer.init_from_conf("},{"line_number":34,"context_line":"            conf\u003dCONF,"},{"line_number":35,"context_line":"            context\u003d{},"},{"line_number":36,"context_line":"            project\u003d\"keystone\","},{"line_number":37,"context_line":"            service\u003dname,"},{"line_number":38,"context_line":"            host\u003dhost"},{"line_number":39,"context_line":"        )"},{"line_number":40,"context_line":"        LOG.info(_LI(\"OSProfiler is enabled.\\n\""}],"source_content_type":"text/x-python","patch_set":8,"id":"3ac371cc_4587610f","line":37,"range":{"start_line":36,"start_character":0,"end_line":37,"end_character":25},"updated":"2016-08-15 14:56:49.000000000","message":"are these two related?","commit_id":"51cccd24ddc48583aaf965e244a66551c052f9f3"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"93b0fdb62e18f517142d2c26873f4d8d98841066","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        osprofiler.initializer.init_from_conf("},{"line_number":34,"context_line":"            conf\u003dCONF,"},{"line_number":35,"context_line":"            context\u003d{},"},{"line_number":36,"context_line":"            project\u003d\"keystone\","},{"line_number":37,"context_line":"            service\u003dname,"},{"line_number":38,"context_line":"            host\u003dhost"},{"line_number":39,"context_line":"        )"},{"line_number":40,"context_line":"        LOG.info(_LI(\"OSProfiler is enabled.\\n\""}],"source_content_type":"text/x-python","patch_set":8,"id":"1ac06dbe_3fb4d7f0","line":37,"range":{"start_line":36,"start_character":0,"end_line":37,"end_character":25},"in_reply_to":"1ac06dbe_8a0b2f7d","updated":"2016-08-25 08:32:59.000000000","message":"Yey! thanks for making the change.\n\nI\u0027m happy with this from a keystone perspective as it hasn\u0027t changed our interface. I expect project on the osprofiler can be defaulted to CONF.project. \n\nCan CONF.profiler.enabled be worked into init_from_conf()? Even the LOG.info?","commit_id":"51cccd24ddc48583aaf965e244a66551c052f9f3"},{"author":{"_account_id":21765,"name":"Aleksandr Ignatev","email":"aignatyev@mirantis.com","username":"aignatyev"},"change_message_id":"ded9cad0be8058555a56b7f592fca53ab593530a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        osprofiler.initializer.init_from_conf("},{"line_number":34,"context_line":"            conf\u003dCONF,"},{"line_number":35,"context_line":"            context\u003d{},"},{"line_number":36,"context_line":"            project\u003d\"keystone\","},{"line_number":37,"context_line":"            service\u003dname,"},{"line_number":38,"context_line":"            host\u003dhost"},{"line_number":39,"context_line":"        )"},{"line_number":40,"context_line":"        LOG.info(_LI(\"OSProfiler is enabled.\\n\""}],"source_content_type":"text/x-python","patch_set":8,"id":"3ac371cc_e50a9020","line":37,"range":{"start_line":36,"start_character":0,"end_line":37,"end_character":25},"in_reply_to":"3ac371cc_4587610f","updated":"2016-08-16 14:29:23.000000000","message":"Yes. For example project is heat (or keystone, neutron, etc.). Service is heat-api/heat-engine and so on.","commit_id":"51cccd24ddc48583aaf965e244a66551c052f9f3"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"c68cca44b7b8999d326bb59b7701b89229ac89e1","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        osprofiler.initializer.init_from_conf("},{"line_number":34,"context_line":"            conf\u003dCONF,"},{"line_number":35,"context_line":"            context\u003d{},"},{"line_number":36,"context_line":"            project\u003d\"keystone\","},{"line_number":37,"context_line":"            service\u003dname,"},{"line_number":38,"context_line":"            host\u003dhost"},{"line_number":39,"context_line":"        )"},{"line_number":40,"context_line":"        LOG.info(_LI(\"OSProfiler is enabled.\\n\""}],"source_content_type":"text/x-python","patch_set":8,"id":"3ac371cc_e5e8d0b6","line":37,"range":{"start_line":36,"start_character":0,"end_line":37,"end_character":25},"in_reply_to":"3ac371cc_e50a9020","updated":"2016-08-16 14:36:18.000000000","message":"i should have been more direct.\n\nThese two are related, you probably don\u0027t need both, there is usually a 1:1 mapping between project and service.\n\nBut, I don\u0027t know what the osprofiler init does, so I\u0027ll leave that up to you ;)","commit_id":"51cccd24ddc48583aaf965e244a66551c052f9f3"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"bc1b2cdae03de69fac48340c1b76d89e0653e715","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        osprofiler.initializer.init_from_conf("},{"line_number":34,"context_line":"            conf\u003dCONF,"},{"line_number":35,"context_line":"            context\u003d{},"},{"line_number":36,"context_line":"            project\u003d\"keystone\","},{"line_number":37,"context_line":"            service\u003dname,"},{"line_number":38,"context_line":"            host\u003dhost"},{"line_number":39,"context_line":"        )"},{"line_number":40,"context_line":"        LOG.info(_LI(\"OSProfiler is enabled.\\n\""}],"source_content_type":"text/x-python","patch_set":8,"id":"1ac06dbe_8a0b2f7d","line":37,"range":{"start_line":36,"start_character":0,"end_line":37,"end_character":25},"in_reply_to":"3ac371cc_e5e8d0b6","updated":"2016-08-24 20:07:54.000000000","message":"Steve, the issue is that name is just service name (e.g \"scheduler\" or \"api\" or something else), the issue is that these \"scheduler\"s can be found in Nova, Cinder, Glance, ... so we need project name as well to have 100% identification. Name is usually something like this - https://github.com/openstack/keystone/blob/master/httpd/keystone.py#L24 - and for keystone it\u0027s self-speaking, but not for other services","commit_id":"51cccd24ddc48583aaf965e244a66551c052f9f3"}]}
