)]}'
{"specs/ussuri/oslo-metrics.rst":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"9f5281cafece7d70c1c4ac88c0e3afc0ed957e5f","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"  This template should be in ReSTructured text.  For help with syntax,"},{"line_number":3,"context_line":"  see http://sphinx-doc.org/rest.html"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"  To test out your formatting, build the docs using tox, or see:"},{"line_number":6,"context_line":"  http://rst.ninjs.org"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"  The filename in the git repository should match the launchpad URL,"},{"line_number":9,"context_line":"  for example a URL of"},{"line_number":10,"context_line":"  https://blueprints.launchpad.net/oslo?searchtext\u003dawesome-thing should be"},{"line_number":11,"context_line":"  named awesome-thing.rst."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"  For specs targeted at a single project, please prefix the first line"},{"line_number":14,"context_line":"  of your commit message with the name of the project.  For example,"},{"line_number":15,"context_line":"  if you\u0027re submitting a new feature for oslo.config, your git commit"},{"line_number":16,"context_line":"  message should start something like: \"config: My new feature\"."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"  Wrap text at 79 columns."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"  Do not delete any of the sections in this template.  If you have"},{"line_number":21,"context_line":"  nothing to say for a whole section, just write: None"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"  If you would like to provide a diagram with your spec, ascii diagrams are"},{"line_number":24,"context_line":"  required.  http://asciiflow.com/ is a very nice tool to assist with making"},{"line_number":25,"context_line":"  ascii diagrams.  The reason for this is that the tool used to review specs is"},{"line_number":26,"context_line":"  based purely on plain text.  Plain text will allow review to proceed without"},{"line_number":27,"context_line":"  having to look at additional files which can not be viewed in gerrit.  It"},{"line_number":28,"context_line":"  will also allow inline feedback on the diagram itself."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":"Proposed new library oslo.metrics"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_dbb0e943","line":28,"range":{"start_line":2,"start_character":0,"end_line":28,"end_character":56},"updated":"2020-01-29 10:40:32.000000000","message":"I\u0027m not sure we need to keep this part here.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@linecorp.com","username":"masa"},"change_message_id":"bd481d6700116fd4b17cb8b2976e5521c5cf4e5c","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"  This template should be in ReSTructured text.  For help with syntax,"},{"line_number":3,"context_line":"  see http://sphinx-doc.org/rest.html"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"  To test out your formatting, build the docs using tox, or see:"},{"line_number":6,"context_line":"  http://rst.ninjs.org"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"  The filename in the git repository should match the launchpad URL,"},{"line_number":9,"context_line":"  for example a URL of"},{"line_number":10,"context_line":"  https://blueprints.launchpad.net/oslo?searchtext\u003dawesome-thing should be"},{"line_number":11,"context_line":"  named awesome-thing.rst."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"  For specs targeted at a single project, please prefix the first line"},{"line_number":14,"context_line":"  of your commit message with the name of the project.  For example,"},{"line_number":15,"context_line":"  if you\u0027re submitting a new feature for oslo.config, your git commit"},{"line_number":16,"context_line":"  message should start something like: \"config: My new feature\"."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"  Wrap text at 79 columns."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"  Do not delete any of the sections in this template.  If you have"},{"line_number":21,"context_line":"  nothing to say for a whole section, just write: None"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"  If you would like to provide a diagram with your spec, ascii diagrams are"},{"line_number":24,"context_line":"  required.  http://asciiflow.com/ is a very nice tool to assist with making"},{"line_number":25,"context_line":"  ascii diagrams.  The reason for this is that the tool used to review specs is"},{"line_number":26,"context_line":"  based purely on plain text.  Plain text will allow review to proceed without"},{"line_number":27,"context_line":"  having to look at additional files which can not be viewed in gerrit.  It"},{"line_number":28,"context_line":"  will also allow inline feedback on the diagram itself."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":"Proposed new library oslo.metrics"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_9f7ed0ac","line":28,"range":{"start_line":2,"start_character":0,"end_line":28,"end_character":56},"in_reply_to":"3fa7e38b_dbb0e943","updated":"2020-03-11 09:12:17.000000000","message":"Removed.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"41a306bc484b871d06b25b7a6ac6997b27b9b769","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Proposed library mission"},{"line_number":37,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The mission of oslo.metrics is exposing internal metrics infomation of oslo"},{"line_number":40,"context_line":"libraries. OpenStack processes create a connection to other middleware using"},{"line_number":41,"context_line":"oslo library, e.g. oslo.messaging to connect another OpenStack process and"},{"line_number":42,"context_line":"oslo.db to connect DB. The oslo.messaging creates its own RPC protocol over the"},{"line_number":43,"context_line":"connection to RabbitMQ, which is a default messaging middleware in OpenStack"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_82b06b8f","line":40,"range":{"start_line":39,"start_character":71,"end_line":40,"end_character":10},"updated":"2020-02-20 22:53:30.000000000","message":"This doesn\u0027t affect whether we should add the library, but I would not limit this to oslo libraries. I would say that services should be able to send metrics to oslo.metrics too if they like.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"ceea52213289b195a7c622f2dd5143c253f55520","unresolved":false,"context_lines":[{"line_number":50,"context_line":"The metrics infomation of the RPC doesn\u0027t appear anywhere. For example, when"},{"line_number":51,"context_line":"a user calls the Create New Instance API to Nova, there is no infomation about"},{"line_number":52,"context_line":"how many rpc calls are made, which rpc targets are used, and etc. And for another"},{"line_number":53,"context_line":"case, if operator adds 10 compute nodes to their OpenStack cluster, how may rpc"},{"line_number":54,"context_line":"will be increased, and etc."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Consuming projects"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_16fc9609","line":53,"range":{"start_line":53,"start_character":76,"end_line":53,"end_character":79},"updated":"2020-02-06 19:22:20.000000000","message":"Should use RPC here for consistency.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@linecorp.com","username":"masa"},"change_message_id":"bd481d6700116fd4b17cb8b2976e5521c5cf4e5c","unresolved":false,"context_lines":[{"line_number":50,"context_line":"The metrics infomation of the RPC doesn\u0027t appear anywhere. For example, when"},{"line_number":51,"context_line":"a user calls the Create New Instance API to Nova, there is no infomation about"},{"line_number":52,"context_line":"how many rpc calls are made, which rpc targets are used, and etc. And for another"},{"line_number":53,"context_line":"case, if operator adds 10 compute nodes to their OpenStack cluster, how may rpc"},{"line_number":54,"context_line":"will be increased, and etc."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Consuming projects"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_df0f6834","line":53,"range":{"start_line":53,"start_character":76,"end_line":53,"end_character":79},"in_reply_to":"3fa7e38b_16fc9609","updated":"2020-03-11 09:12:17.000000000","message":"Done","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"41a306bc484b871d06b25b7a6ac6997b27b9b769","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Consuming projects"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The OpenStack services which use oslo.messaging are the consuming project"},{"line_number":60,"context_line":"since oslo.messaging is a default RPC mechanism to OpenStack services."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives library"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_a241e764","line":59,"updated":"2020-02-20 22:53:30.000000000","message":"I think there will actually be two consumers, right? One will be oslo.messaging (and potentially others in the future) using the library to publish metrics, the other will be Prometheus consuming the metrics processed by oslo.metrics.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@linecorp.com","username":"masa"},"change_message_id":"bd481d6700116fd4b17cb8b2976e5521c5cf4e5c","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Consuming projects"},{"line_number":57,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The OpenStack services which use oslo.messaging are the consuming project"},{"line_number":60,"context_line":"since oslo.messaging is a default RPC mechanism to OpenStack services."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives library"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_230c6a3a","line":59,"in_reply_to":"3fa7e38b_a241e764","updated":"2020-03-11 09:12:17.000000000","message":"Done","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"9f5281cafece7d70c1c4ac88c0e3afc0ed957e5f","unresolved":false,"context_lines":[{"line_number":62,"context_line":"Alternatives library"},{"line_number":63,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"If oslo.messaging exposes its metrics, the notification feature of"},{"line_number":66,"context_line":"oslo.messaging can be a one of alternatives. However, the notification is"},{"line_number":67,"context_line":"also implemented over the RabbitMQ. It makes cross reference in the metrics"},{"line_number":68,"context_line":"so it\u0027s not good idea to do."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Proposed adoption model/plan"},{"line_number":71,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_066628ef","line":68,"range":{"start_line":65,"start_character":0,"end_line":68,"end_character":28},"updated":"2020-01-29 10:40:32.000000000","message":"What do you think about this kind of tools:\n- https://github.com/Mirantis/rpc_monitor","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@linecorp.com","username":"masa"},"change_message_id":"bd481d6700116fd4b17cb8b2976e5521c5cf4e5c","unresolved":false,"context_lines":[{"line_number":62,"context_line":"Alternatives library"},{"line_number":63,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"If oslo.messaging exposes its metrics, the notification feature of"},{"line_number":66,"context_line":"oslo.messaging can be a one of alternatives. However, the notification is"},{"line_number":67,"context_line":"also implemented over the RabbitMQ. It makes cross reference in the metrics"},{"line_number":68,"context_line":"so it\u0027s not good idea to do."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Proposed adoption model/plan"},{"line_number":71,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_a3b37a4d","line":68,"range":{"start_line":65,"start_character":0,"end_line":68,"end_character":28},"in_reply_to":"1fa4df85_718e9b28","updated":"2020-03-11 09:12:17.000000000","message":"Done","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"41a306bc484b871d06b25b7a6ac6997b27b9b769","unresolved":false,"context_lines":[{"line_number":62,"context_line":"Alternatives library"},{"line_number":63,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"If oslo.messaging exposes its metrics, the notification feature of"},{"line_number":66,"context_line":"oslo.messaging can be a one of alternatives. However, the notification is"},{"line_number":67,"context_line":"also implemented over the RabbitMQ. It makes cross reference in the metrics"},{"line_number":68,"context_line":"so it\u0027s not good idea to do."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Proposed adoption model/plan"},{"line_number":71,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_fd2d4090","line":68,"range":{"start_line":65,"start_character":0,"end_line":68,"end_character":28},"in_reply_to":"3fa7e38b_066628ef","updated":"2020-02-20 22:53:30.000000000","message":"Glancing at that, I have a few thoughts:\n\n1) It seems to be doing something largely the same as what this does, but it patches all of the oslo.metrics functionality into oslo.messaging. I like the separation of making metrics a separate thing that other libraries can consume too.\n2) This is targeted at providing metrics to Prometheus, whereas it looks like that used InfluxDB for metric storage. Could probably be adapted, but I\u0027m not sure the two libraries are doing quite the same thing.\n3) rpc_monitor doesn\u0027t appear particularly maintained, so I\u0027m not sure we\u0027d gain anything by going with it over oslo.metrics since both projects already exist.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"71dd918226ff339cf2e9119a6d194c9595c32c3f","unresolved":false,"context_lines":[{"line_number":62,"context_line":"Alternatives library"},{"line_number":63,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"If oslo.messaging exposes its metrics, the notification feature of"},{"line_number":66,"context_line":"oslo.messaging can be a one of alternatives. However, the notification is"},{"line_number":67,"context_line":"also implemented over the RabbitMQ. It makes cross reference in the metrics"},{"line_number":68,"context_line":"so it\u0027s not good idea to do."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Proposed adoption model/plan"},{"line_number":71,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_718e9b28","line":68,"range":{"start_line":65,"start_character":0,"end_line":68,"end_character":28},"in_reply_to":"3fa7e38b_fd2d4090","updated":"2020-02-24 15:54:11.000000000","message":"I agree with the comments.\nIn fact, the rpc_monitor seems to share the same goal, but the project seems old.\nAnyway, even if we dont reuse the same code, we can still let mirantis know about our objective here.\n\nMoreover, I think we will have to add some code in oslo.messaging, even if it is not a patch like what was done in rpc_monitor, we will definitely need some code to be changed there to grab the metrics.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"9f5281cafece7d70c1c4ac88c0e3afc0ed957e5f","unresolved":false,"context_lines":[{"line_number":70,"context_line":"Proposed adoption model/plan"},{"line_number":71,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"The basic architecture is the oslo.metrics works as metrics data serializer"},{"line_number":74,"context_line":"for outside system."},{"line_number":75,"context_line":"The existing oslo libraries send original metrics information through"},{"line_number":76,"context_line":"a unix socket, then the oslo.metrics gathers the metrics information"},{"line_number":77,"context_line":"and exposes the data."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"The oslo.metrics listens to unix sockets to recieve metrics data from"},{"line_number":80,"context_line":"each of the OpenStack processes. The reason oslo.metrics uses the socket"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_3b801d9c","line":77,"range":{"start_line":73,"start_character":0,"end_line":77,"end_character":21},"updated":"2020-01-29 10:40:32.000000000","message":"What\u0027s about data isolation and security?\n\nWe don\u0027t risk to monitor data who should to be obfuscated?\n\nI\u0027m not sure but I think some levels of permissions could be to consider here, by example some rights are needed to access rabbitmq administration and to send data to rabbitmq, it\u0027s not an issue to serialize these data outside of rabbitmq and to expose them through oslo.metrics?\n\nThis kind of scenario could be considered as a security hole?","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"41a306bc484b871d06b25b7a6ac6997b27b9b769","unresolved":false,"context_lines":[{"line_number":70,"context_line":"Proposed adoption model/plan"},{"line_number":71,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"The basic architecture is the oslo.metrics works as metrics data serializer"},{"line_number":74,"context_line":"for outside system."},{"line_number":75,"context_line":"The existing oslo libraries send original metrics information through"},{"line_number":76,"context_line":"a unix socket, then the oslo.metrics gathers the metrics information"},{"line_number":77,"context_line":"and exposes the data."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"The oslo.metrics listens to unix sockets to recieve metrics data from"},{"line_number":80,"context_line":"each of the OpenStack processes. The reason oslo.metrics uses the socket"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_7da390b1","line":77,"range":{"start_line":73,"start_character":0,"end_line":77,"end_character":21},"in_reply_to":"3fa7e38b_3b801d9c","updated":"2020-02-20 22:53:30.000000000","message":"I wouldn\u0027t expect this to be storing much in the way of sensitive information, but I suppose you could learn something about a cloud simply by knowing a given queue exists or that certain message types are being sent.\n\nGiven that this is an admin tool, I would expect it to be running on an isolated internal network which would mitigate a lot of the security concerns too. I don\u0027t know whether I would consider this a blocker for creating the library, but it is something worth discussing further.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@linecorp.com","username":"masa"},"change_message_id":"bd481d6700116fd4b17cb8b2976e5521c5cf4e5c","unresolved":false,"context_lines":[{"line_number":70,"context_line":"Proposed adoption model/plan"},{"line_number":71,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"The basic architecture is the oslo.metrics works as metrics data serializer"},{"line_number":74,"context_line":"for outside system."},{"line_number":75,"context_line":"The existing oslo libraries send original metrics information through"},{"line_number":76,"context_line":"a unix socket, then the oslo.metrics gathers the metrics information"},{"line_number":77,"context_line":"and exposes the data."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"The oslo.metrics listens to unix sockets to recieve metrics data from"},{"line_number":80,"context_line":"each of the OpenStack processes. The reason oslo.metrics uses the socket"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_83199e23","line":77,"range":{"start_line":73,"start_character":0,"end_line":77,"end_character":21},"in_reply_to":"3fa7e38b_7da390b1","updated":"2020-03-11 09:12:17.000000000","message":"I added the Security Concerns section in the spec. I agree Ben\u0027s opition. Please see the section.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"9f5281cafece7d70c1c4ac88c0e3afc0ed957e5f","unresolved":false,"context_lines":[{"line_number":76,"context_line":"a unix socket, then the oslo.metrics gathers the metrics information"},{"line_number":77,"context_line":"and exposes the data."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"The oslo.metrics listens to unix sockets to recieve metrics data from"},{"line_number":80,"context_line":"each of the OpenStack processes. The reason oslo.metrics uses the socket"},{"line_number":81,"context_line":"is to collect messaging metrics information from multiple processes which"},{"line_number":82,"context_line":"runs on the same node. One metrics process represents one node or one"},{"line_number":83,"context_line":"OpenStack project."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"If we have a control server, then both Neutron-Server and Nova-API running"},{"line_number":86,"context_line":"in the controller would share their metrics to one unix socket which can"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_db40e9a5","line":83,"range":{"start_line":79,"start_character":0,"end_line":83,"end_character":18},"updated":"2020-01-29 10:40:32.000000000","message":"If I correctly understood this part, by example, when oslo.messaging will send RPC message it will also need to send metrics data to oslo.metrics, I\u0027m right?\n\nHow to enable/disable this feature?\n\nI think you need to define how services chose to activate/deactivate this tracking, which config file or option to define to allow user to grab metrics, etc...","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@linecorp.com","username":"masa"},"change_message_id":"bd481d6700116fd4b17cb8b2976e5521c5cf4e5c","unresolved":false,"context_lines":[{"line_number":76,"context_line":"a unix socket, then the oslo.metrics gathers the metrics information"},{"line_number":77,"context_line":"and exposes the data."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"The oslo.metrics listens to unix sockets to recieve metrics data from"},{"line_number":80,"context_line":"each of the OpenStack processes. The reason oslo.metrics uses the socket"},{"line_number":81,"context_line":"is to collect messaging metrics information from multiple processes which"},{"line_number":82,"context_line":"runs on the same node. One metrics process represents one node or one"},{"line_number":83,"context_line":"OpenStack project."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"If we have a control server, then both Neutron-Server and Nova-API running"},{"line_number":86,"context_line":"in the controller would share their metrics to one unix socket which can"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_c33c7632","line":83,"range":{"start_line":79,"start_character":0,"end_line":83,"end_character":18},"in_reply_to":"3fa7e38b_db40e9a5","updated":"2020-03-11 09:12:17.000000000","message":"I plan to add a new flag to oslo.messaing, which represents enable/disable for oslo.messaging to send the metrics information.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"9f5281cafece7d70c1c4ac88c0e3afc0ed957e5f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"OpenStack project."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"If we have a control server, then both Neutron-Server and Nova-API running"},{"line_number":86,"context_line":"in the controller would share their metrics to one unix socket which can"},{"line_number":87,"context_line":"get data from other Openstack processes as well. The Unix Socket running"},{"line_number":88,"context_line":"in one Node would handle all openstack processes of that node"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The oslo.messaging sends the rpc information one by one to oslo.metrics"},{"line_number":91,"context_line":"with oslo.metrics\u0027s format. All information sent by oslo.messaging are"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_bb05ed7a","line":88,"range":{"start_line":86,"start_character":18,"end_line":88,"end_character":61},"updated":"2020-01-29 10:40:32.000000000","message":"I think you need to define a metric format here (in the specs).\n\nThis help to determine:\n- who sent data\n- which kind of data\n- whatever you want...","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"71dd918226ff339cf2e9119a6d194c9595c32c3f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"OpenStack project."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"If we have a control server, then both Neutron-Server and Nova-API running"},{"line_number":86,"context_line":"in the controller would share their metrics to one unix socket which can"},{"line_number":87,"context_line":"get data from other Openstack processes as well. The Unix Socket running"},{"line_number":88,"context_line":"in one Node would handle all openstack processes of that node"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The oslo.messaging sends the rpc information one by one to oslo.metrics"},{"line_number":91,"context_line":"with oslo.metrics\u0027s format. All information sent by oslo.messaging are"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_51b6ffdb","line":88,"range":{"start_line":86,"start_character":18,"end_line":88,"end_character":61},"in_reply_to":"3fa7e38b_bb05ed7a","updated":"2020-02-24 15:54:11.000000000","message":"I think this is what is describe few lines after","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"71dd918226ff339cf2e9119a6d194c9595c32c3f","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The oslo.messaging sends the rpc information one by one to oslo.metrics"},{"line_number":91,"context_line":"with oslo.metrics\u0027s format. All information sent by oslo.messaging are"},{"line_number":92,"context_line":"put together into one metrics data in oslo.metrics. Then oslo.metrics"},{"line_number":93,"context_line":"exposes the one data to any monitoring system."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"The monitoring system is really depending on operator. So oslo.metrics"},{"line_number":96,"context_line":"exposes the data by common format. For example, Prometheus takes PULL"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_b14733bd","line":93,"range":{"start_line":92,"start_character":53,"end_line":93,"end_character":46},"updated":"2020-02-24 15:54:11.000000000","message":"are we sure this is oslo.metrics job to exposes the data to a monitoring system?\nIn my company we use custom mechanism to send data to monitoring.\nI\u0027d like to have oslo.metrics create the sink (the unix socket) and then an external tool to collect and send it.\n\nI see 2 benefits from this:\n1 - this is simpler to implement (oslo.metrics is only collecting locally, not sending)\n2 - this is more flexible for operators.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"4407d6494e4f82ce9d387d2b00b8c2c607d5b457","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The oslo.messaging sends the rpc information one by one to oslo.metrics"},{"line_number":91,"context_line":"with oslo.metrics\u0027s format. All information sent by oslo.messaging are"},{"line_number":92,"context_line":"put together into one metrics data in oslo.metrics. Then oslo.metrics"},{"line_number":93,"context_line":"exposes the one data to any monitoring system."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"The monitoring system is really depending on operator. So oslo.metrics"},{"line_number":96,"context_line":"exposes the data by common format. For example, Prometheus takes PULL"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_0d9b1518","line":93,"range":{"start_line":92,"start_character":53,"end_line":93,"end_character":46},"in_reply_to":"1fa4df85_0344ce73","updated":"2020-03-19 14:29:58.000000000","message":"ack","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@linecorp.com","username":"masa"},"change_message_id":"bd481d6700116fd4b17cb8b2976e5521c5cf4e5c","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The oslo.messaging sends the rpc information one by one to oslo.metrics"},{"line_number":91,"context_line":"with oslo.metrics\u0027s format. All information sent by oslo.messaging are"},{"line_number":92,"context_line":"put together into one metrics data in oslo.metrics. Then oslo.metrics"},{"line_number":93,"context_line":"exposes the one data to any monitoring system."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"The monitoring system is really depending on operator. So oslo.metrics"},{"line_number":96,"context_line":"exposes the data by common format. For example, Prometheus takes PULL"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_0344ce73","line":93,"range":{"start_line":92,"start_character":53,"end_line":93,"end_character":46},"in_reply_to":"1fa4df85_b14733bd","updated":"2020-03-11 09:12:17.000000000","message":"I meant \"expose\" is listening a IP/port for Prometheus to get metrics information.  The oslo.metrics doesn\u0027t send any infomation to anywhere.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"9f5281cafece7d70c1c4ac88c0e3afc0ed957e5f","unresolved":false,"context_lines":[{"line_number":92,"context_line":"put together into one metrics data in oslo.metrics. Then oslo.metrics"},{"line_number":93,"context_line":"exposes the one data to any monitoring system."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"The monitoring system is really depending on operator. So oslo.metrics"},{"line_number":96,"context_line":"exposes the data by common format. For example, Prometheus takes PULL"},{"line_number":97,"context_line":"approach to get a metrics. To support Prometheus, oslo.metrics exposes"},{"line_number":98,"context_line":"the metrics data over HTTP."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"The data oslo.messaging sends to the oslo.metrics includes:"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_fbb845c1","line":98,"range":{"start_line":95,"start_character":55,"end_line":98,"end_character":27},"updated":"2020-01-29 10:40:32.000000000","message":"If I correctly understood this section each node will expose an oslo.metrics access (HTTP, etc...) to collect data.\n\nI\u0027m not a monitoring expert, I think we need to define a specific data format to expose data here, I\u0027m right?\n\nBy Example prometheus allow us to define groups and endpoint to collect specific data, I think we want this kind of approach too? \n\nIt could allow us to grab data only for/from RPC and/or for other types (neutron internal metrics, nova internal metrics, etc...) or by node.\n\nHere I think you want to expose data by nodes whatever the data is (RPC, nova, neutron), I\u0027m right?","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@linecorp.com","username":"masa"},"change_message_id":"bd481d6700116fd4b17cb8b2976e5521c5cf4e5c","unresolved":false,"context_lines":[{"line_number":92,"context_line":"put together into one metrics data in oslo.metrics. Then oslo.metrics"},{"line_number":93,"context_line":"exposes the one data to any monitoring system."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"The monitoring system is really depending on operator. So oslo.metrics"},{"line_number":96,"context_line":"exposes the data by common format. For example, Prometheus takes PULL"},{"line_number":97,"context_line":"approach to get a metrics. To support Prometheus, oslo.metrics exposes"},{"line_number":98,"context_line":"the metrics data over HTTP."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"The data oslo.messaging sends to the oslo.metrics includes:"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_43616611","line":98,"range":{"start_line":95,"start_character":55,"end_line":98,"end_character":27},"in_reply_to":"3fa7e38b_fbb845c1","updated":"2020-03-11 09:12:17.000000000","message":"Yes, I should put the exact data format in this spec. I\u0027ll update the spec later again.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"71dd918226ff339cf2e9119a6d194c9595c32c3f","unresolved":false,"context_lines":[{"line_number":105,"context_line":"* server"},{"line_number":106,"context_line":"* fanout"},{"line_number":107,"context_line":"* timeout"},{"line_number":108,"context_line":"* type of call: call or cast"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Hostname are added by oslo.metrics side."},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_51127fb3","line":108,"updated":"2020-02-24 15:54:11.000000000","message":"missing date/timestamp","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@linecorp.com","username":"masa"},"change_message_id":"bd481d6700116fd4b17cb8b2976e5521c5cf4e5c","unresolved":false,"context_lines":[{"line_number":105,"context_line":"* server"},{"line_number":106,"context_line":"* fanout"},{"line_number":107,"context_line":"* timeout"},{"line_number":108,"context_line":"* type of call: call or cast"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Hostname are added by oslo.metrics side."},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_c325560c","line":108,"in_reply_to":"1fa4df85_51127fb3","updated":"2020-03-11 09:12:17.000000000","message":"Done","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"9f5281cafece7d70c1c4ac88c0e3afc0ed957e5f","unresolved":false,"context_lines":[{"line_number":136,"context_line":"Other contributors:"},{"line_number":137,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Work Items"},{"line_number":140,"context_line":"----------"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"* Create a new library named oslo.metrics"},{"line_number":143,"context_line":"* Change oslo.messaging to support metrics sending"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"References"},{"line_number":146,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_7b7e95e2","line":143,"range":{"start_line":139,"start_character":0,"end_line":143,"end_character":50},"updated":"2020-01-29 10:40:32.000000000","message":"Also I think you need to think about performances in these specifications, I mean it could have significant impacts on oslo.messaging performance by example if we emit metrics in parallel to emitting RPC messages.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@linecorp.com","username":"masa"},"change_message_id":"bd481d6700116fd4b17cb8b2976e5521c5cf4e5c","unresolved":false,"context_lines":[{"line_number":136,"context_line":"Other contributors:"},{"line_number":137,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Work Items"},{"line_number":140,"context_line":"----------"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"* Create a new library named oslo.metrics"},{"line_number":143,"context_line":"* Change oslo.messaging to support metrics sending"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"References"},{"line_number":146,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_e383b2a8","line":143,"range":{"start_line":139,"start_character":0,"end_line":143,"end_character":50},"in_reply_to":"3fa7e38b_7b7e95e2","updated":"2020-03-11 09:12:17.000000000","message":"I added  the Performance impact section and its task.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"ceea52213289b195a7c622f2dd5143c253f55520","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"* Create a new library named oslo.metrics"},{"line_number":143,"context_line":"* Change oslo.messaging to support metrics sending"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"References"},{"line_number":146,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":147,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_96072616","line":144,"updated":"2020-02-06 19:22:20.000000000","message":"Unit and functional testing will also need to be created.","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@linecorp.com","username":"masa"},"change_message_id":"bd481d6700116fd4b17cb8b2976e5521c5cf4e5c","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"* Create a new library named oslo.metrics"},{"line_number":143,"context_line":"* Change oslo.messaging to support metrics sending"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"References"},{"line_number":146,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":147,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fa4df85_43608636","line":144,"in_reply_to":"3fa7e38b_96072616","updated":"2020-03-11 09:12:17.000000000","message":"Done","commit_id":"fff438f709d312ec974e64dcdfde170743acc32c"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"cec89e5f01a44f461a72fb62ff6b820595e74b28","unresolved":false,"context_lines":[{"line_number":27,"context_line":"Consuming projects"},{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"There are two type of cosumers. One is the OpenStack services, which use"},{"line_number":31,"context_line":"oslo.messaging as its internal communication. Another is Monitoring systems,"},{"line_number":32,"context_line":"which consume the metcis exposed by the oslo.metrics."},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"df33271e_7c21d4fb","line":30,"range":{"start_line":30,"start_character":22,"end_line":30,"end_character":30},"updated":"2020-03-24 12:29:13.000000000","message":"nit: consumers","commit_id":"71fe65ff6fa1c4415457066c134f466bd59437bb"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"cec89e5f01a44f461a72fb62ff6b820595e74b28","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"There are two type of cosumers. One is the OpenStack services, which use"},{"line_number":31,"context_line":"oslo.messaging as its internal communication. Another is Monitoring systems,"},{"line_number":32,"context_line":"which consume the metcis exposed by the oslo.metrics."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Alternatives library"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df33271e_bc787cf8","line":32,"range":{"start_line":32,"start_character":18,"end_line":32,"end_character":24},"updated":"2020-03-24 12:29:13.000000000","message":"nit: metrics","commit_id":"71fe65ff6fa1c4415457066c134f466bd59437bb"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"0561e71aa403b6917316baf695de76dbbb4509c3","unresolved":false,"context_lines":[{"line_number":65,"context_line":"The consumer of oslo.metrics, e.g. oslo.messaging, needs to send its metrics"},{"line_number":66,"context_line":"information to the unix socket. The olso.messaging sends its metric data to"},{"line_number":67,"context_line":"the socket as well as the actual RPC request to another oslo.messaging server."},{"line_number":68,"context_line":"The metrics data sending feature is configured by a new flag in oslo.messaging"},{"line_number":69,"context_line":"library."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"If we have a control server, then both Neutron-Server and Nova-API running"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df33271e_f38338a8","line":68,"updated":"2020-03-25 16:46:09.000000000","message":"I wonder if we want the config opt to be owned by oslo.metrics so every project doesn\u0027t have to add its own variation. If projects want to skip the calls to oslo.metrics completely, we could expose the opt value from the metrics library to let them add conditionals.\n\nThat\u0027s somewhat of an implementation detail though. The main thing is that it will be configurable if users don\u0027t want to take the performance and resource hit of collecting metrics.","commit_id":"71fe65ff6fa1c4415457066c134f466bd59437bb"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dbc767d8373a1c7579167e646de013716d09aafb","unresolved":false,"context_lines":[{"line_number":79,"context_line":"exposes the one data to any monitoring system."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The monitoring system is really depending on operator. So oslo.metrics"},{"line_number":82,"context_line":"exposes the data by common format. For example, Prometheus takes PULL"},{"line_number":83,"context_line":"approach to get a metrics. To support Prometheus, oslo.metrics exposes"},{"line_number":84,"context_line":"the metrics data over HTTP."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"The data oslo.messaging sends to the oslo.metrics includes:"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"df33271e_d90a9c88","line":84,"range":{"start_line":82,"start_character":35,"end_line":84,"end_character":27},"updated":"2020-03-25 10:25:23.000000000","message":"I\u0027d rephrase that:\n\n\"The de facto standard is the Prometheus exposition format [1]. We decide to use this format and expose the metrics on the HTTP endpoint. It allows integration with most monitoring systems, like e.g. Prometheus or Monasca.\"\n\n[1] https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format","commit_id":"71fe65ff6fa1c4415457066c134f466bd59437bb"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"cbdd339e6de67220d8f0c09ccdfb5af7cc545140","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"The data oslo.messaging sends to the oslo.metrics includes:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"* topic"},{"line_number":89,"context_line":"* namespace"},{"line_number":90,"context_line":"* version"},{"line_number":91,"context_line":"* server"},{"line_number":92,"context_line":"* fanout"},{"line_number":93,"context_line":"* timeout"},{"line_number":94,"context_line":"* type of call: call or cast"},{"line_number":95,"context_line":"* timestamp of the call"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Hostname are added by oslo.metrics side."},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1fa4df85_6f4b1c5f","line":95,"range":{"start_line":88,"start_character":0,"end_line":95,"end_character":23},"updated":"2020-03-11 15:07:12.000000000","message":"I am left wondering how these metrics will be exposed on a Prometheus endpoint. Will there be a plugin architecture so that we can push these events to other frameworks, for example, Elasticsearch or Monasca?","commit_id":"71fe65ff6fa1c4415457066c134f466bd59437bb"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dbc767d8373a1c7579167e646de013716d09aafb","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"The data oslo.messaging sends to the oslo.metrics includes:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"* topic"},{"line_number":89,"context_line":"* namespace"},{"line_number":90,"context_line":"* version"},{"line_number":91,"context_line":"* server"},{"line_number":92,"context_line":"* fanout"},{"line_number":93,"context_line":"* timeout"},{"line_number":94,"context_line":"* type of call: call or cast"},{"line_number":95,"context_line":"* timestamp of the call"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Hostname are added by oslo.metrics side."},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"df33271e_3983c8ce","line":95,"range":{"start_line":88,"start_character":0,"end_line":95,"end_character":23},"in_reply_to":"1fa4df85_6f4b1c5f","updated":"2020-03-25 10:25:23.000000000","message":"Agree, would be nice to have a plugin architecture here which would allow pushing measurements instead of pulling. Perhaps we could add a note about it?\n\nBut I understand it generates additional effort, so should not block the overall implementation.","commit_id":"71fe65ff6fa1c4415457066c134f466bd59437bb"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"0561e71aa403b6917316baf695de76dbbb4509c3","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"The data oslo.messaging sends to the oslo.metrics includes:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"* topic"},{"line_number":89,"context_line":"* namespace"},{"line_number":90,"context_line":"* version"},{"line_number":91,"context_line":"* server"},{"line_number":92,"context_line":"* fanout"},{"line_number":93,"context_line":"* timeout"},{"line_number":94,"context_line":"* type of call: call or cast"},{"line_number":95,"context_line":"* timestamp of the call"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Hostname are added by oslo.metrics side."},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"df33271e_136dfc31","line":95,"range":{"start_line":88,"start_character":0,"end_line":95,"end_character":23},"in_reply_to":"df33271e_3983c8ce","updated":"2020-03-25 16:46:09.000000000","message":"+1 to not blocking this on plugins for all the things. For one thing, we have a lot of effectively dead backends in Oslo libraries because everyone tends to converge on one anyway.\n\nI\u0027m not opposed to adding pluggability in the future if someone really wants it, but for now I think we should go with the Prometheus implementation that they already have. It\u0027s a big improvement over the existing situation for relatively little effort. Implementing a plugin system and other backends is going to take a lot longer and I\u0027d rather have _something_ for operators to use in the meantime.","commit_id":"71fe65ff6fa1c4415457066c134f466bd59437bb"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@linecorp.com","username":"masa"},"change_message_id":"4f0978c0b254df1c30ae33c84cec1aac4d234e47","unresolved":false,"context_lines":[{"line_number":93,"context_line":"* timeout"},{"line_number":94,"context_line":"* type of call: call or cast"},{"line_number":95,"context_line":"* timestamp of the call"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Hostname are added by oslo.metrics side."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":".. code-block:: none"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1fa4df85_262558ac","line":96,"updated":"2020-03-11 09:22:10.000000000","message":"The actual information schema is WIP","commit_id":"71fe65ff6fa1c4415457066c134f466bd59437bb"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dbc767d8373a1c7579167e646de013716d09aafb","unresolved":false,"context_lines":[{"line_number":93,"context_line":"* timeout"},{"line_number":94,"context_line":"* type of call: call or cast"},{"line_number":95,"context_line":"* timestamp of the call"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Hostname are added by oslo.metrics side."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":".. code-block:: none"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df33271e_19752496","line":96,"in_reply_to":"1fa4df85_262558ac","updated":"2020-03-25 10:25:23.000000000","message":"Could we add `project_id` where applicable? Retrieving this information could be useful for multi-tenant systems.\n\nIf the schema is not final, could we please add a note about it in the spec?","commit_id":"71fe65ff6fa1c4415457066c134f466bd59437bb"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"0561e71aa403b6917316baf695de76dbbb4509c3","unresolved":false,"context_lines":[{"line_number":93,"context_line":"* timeout"},{"line_number":94,"context_line":"* type of call: call or cast"},{"line_number":95,"context_line":"* timestamp of the call"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Hostname are added by oslo.metrics side."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":".. code-block:: none"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df33271e_d384340f","line":96,"in_reply_to":"df33271e_19752496","updated":"2020-03-25 16:46:09.000000000","message":"FWIW, I would never block a schema change because the initial spec didn\u0027t include it. The spec is a place to work out the overall architecture of the library, not a place to document every single detail of the implementation. If there are fields that would be useful but aren\u0027t included in this list we can add them without worrying about this.\n\nThat said, there _should_ be up to date documentation of the schema in the oslo.metrics docs.","commit_id":"71fe65ff6fa1c4415457066c134f466bd59437bb"}]}
