)]}'
{"doc/source/architecture.rst":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"92c8f963925de2986ac554571f698ed3c21f0bfd","unresolved":false,"context_lines":[{"line_number":58,"context_line":"need to instrument other tools which may not use the same bus as OpenStack has"},{"line_number":59,"context_line":"defined. The Ceilometer project created 2 methods to collect data:"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"1. :term:`Bus listener agent` which takes events generated on the "},{"line_number":62,"context_line":"   notification bus and transforms them into Ceilometer samples. This"},{"line_number":63,"context_line":"   is the preferred method of data collection. If you are working on some"},{"line_number":64,"context_line":"   OpenStack related project and are using the Oslo library, you are kindly"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da86d52c_ee86d2da","line":61,"updated":"2015-02-14 12:43:46.000000000","message":"trailing space","commit_id":"824e634aa9f3b74401a79783e2a7aeba1afa2d2a"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"92c8f963925de2986ac554571f698ed3c21f0bfd","unresolved":false,"context_lines":[{"line_number":87,"context_line":"The notification daemon loads one or more *listener* plugins, using the"},{"line_number":88,"context_line":"namespace ``ceilometer.notification``. Each plugin can listen to any topics,"},{"line_number":89,"context_line":"but by default it will listen to ``notifications.info``. The listeners grab"},{"line_number":90,"context_line":"messages off the defined topics and redistributes them to the appropriate "},{"line_number":91,"context_line":"plugins(endpoints) to be processed into Events and Samples."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Sample-related plugins provides a method to list the event types it wants"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da86d52c_8e5e3678","line":90,"updated":"2015-02-14 12:43:46.000000000","message":"ditto","commit_id":"824e634aa9f3b74401a79783e2a7aeba1afa2d2a"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"92c8f963925de2986ac554571f698ed3c21f0bfd","unresolved":false,"context_lines":[{"line_number":122,"context_line":"``Sample`` objects. The frequency of polling is controlled via the pipeline"},{"line_number":123,"context_line":"configuration. See :ref:`Pipeline-Configuration` for details."},{"line_number":124,"context_line":"The agent framework then passes the samples to the"},{"line_number":125,"context_line":"pipeline for processing. "},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Please notice that there\u0027s an optional config called"},{"line_number":128,"context_line":"``shuffle_time_before_polling_task`` in ceilometer.conf. Enable this by"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da86d52c_ee5df27a","line":125,"updated":"2015-02-14 12:43:46.000000000","message":"ditto","commit_id":"824e634aa9f3b74401a79783e2a7aeba1afa2d2a"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"92c8f963925de2986ac554571f698ed3c21f0bfd","unresolved":false,"context_lines":[{"line_number":163,"context_line":"The data gathered from the polling and notifications agents contains a wealth"},{"line_number":164,"context_line":"of data and if combined with historical or temporal context, can be used to"},{"line_number":165,"context_line":"derive even more data. Ceilometer offers various transformers which can be used"},{"line_number":166,"context_line":"to manipulate data in the pipeline. "},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Publishing the data"},{"line_number":169,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da86d52c_c75571fb","line":166,"updated":"2015-02-14 12:43:46.000000000","message":"ditto","commit_id":"824e634aa9f3b74401a79783e2a7aeba1afa2d2a"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"92c8f963925de2986ac554571f698ed3c21f0bfd","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"   This figure shows how a sample can be published to multiple destinations."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Currently, processed data can be published using 4 different transports: "},{"line_number":179,"context_line":"notifier, a notification based publisher which pushes samples to a message"},{"line_number":180,"context_line":"queue which can be consumed by the collector or an external system; rpc, a"},{"line_number":181,"context_line":"relatively secure, synchronous RPC based publisher; udp, which publishes"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da86d52c_073f89b6","line":178,"updated":"2015-02-14 12:43:46.000000000","message":"ditto","commit_id":"824e634aa9f3b74401a79783e2a7aeba1afa2d2a"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"92c8f963925de2986ac554571f698ed3c21f0bfd","unresolved":false,"context_lines":[{"line_number":242,"context_line":"API Service"},{"line_number":243,"context_line":"-----------"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"If the collected data from polling and notification agents are store in supported"},{"line_number":246,"context_line":"database(s) (see the section :ref:`which-db`), it is possible that the schema of"},{"line_number":247,"context_line":"these database(s) may evolve over time. For this reasons, we offer a REST API"},{"line_number":248,"context_line":"and recommend that you access the collected data via the API rather than by"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da86d52c_675da515","line":245,"updated":"2015-02-14 12:43:46.000000000","message":"s/store/stored/","commit_id":"824e634aa9f3b74401a79783e2a7aeba1afa2d2a"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4baa1a981dd110a8c7105ce7a21458b9eb48796a","unresolved":false,"context_lines":[{"line_number":27,"context_line":"Each of Ceilometer\u0027s services are designed to scale horizontally. Additional"},{"line_number":28,"context_line":"workers and nodes can added depending on the expected load. Ceilometer offers"},{"line_number":29,"context_line":"five core services, each designed to work independently or together as a"},{"line_number":30,"context_line":"complete solution:"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"1. polling agent - daemon designed to poll OpenStack services and build Meters."},{"line_number":33,"context_line":"2. notification agent - daemon designed to listen to events on message queue"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_85c40760","line":30,"updated":"2015-02-24 12:27:38.000000000","message":"Not sure sure about this point ... can the collector for example operate in any meaningful way independent of the agents generating the metering messages?","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85582450bc2f3eaac650ce04eba00d6353a8f282","unresolved":false,"context_lines":[{"line_number":27,"context_line":"Each of Ceilometer\u0027s services are designed to scale horizontally. Additional"},{"line_number":28,"context_line":"workers and nodes can added depending on the expected load. Ceilometer offers"},{"line_number":29,"context_line":"five core services, each designed to work independently or together as a"},{"line_number":30,"context_line":"complete solution:"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"1. polling agent - daemon designed to poll OpenStack services and build Meters."},{"line_number":33,"context_line":"2. notification agent - daemon designed to listen to events on message queue"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_01af2095","line":30,"in_reply_to":"ba7be1f8_85c40760","updated":"2015-02-24 14:11:00.000000000","message":"sure. i\u0027ll reword this.","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4baa1a981dd110a8c7105ce7a21458b9eb48796a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"complete solution:"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"1. polling agent - daemon designed to poll OpenStack services and build Meters."},{"line_number":33,"context_line":"2. notification agent - daemon designed to listen to events on message queue"},{"line_number":34,"context_line":"   and convert them to Events and Meters."},{"line_number":35,"context_line":"3. collector - daemon designed to gather and record event and metering data"},{"line_number":36,"context_line":"   created by notification and polling agents."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_2596fb4c","line":33,"updated":"2015-02-24 12:27:38.000000000","message":"Suggestion:\n\n  s/listen to events/listen to notifications/","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85582450bc2f3eaac650ce04eba00d6353a8f282","unresolved":false,"context_lines":[{"line_number":30,"context_line":"complete solution:"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"1. polling agent - daemon designed to poll OpenStack services and build Meters."},{"line_number":33,"context_line":"2. notification agent - daemon designed to listen to events on message queue"},{"line_number":34,"context_line":"   and convert them to Events and Meters."},{"line_number":35,"context_line":"3. collector - daemon designed to gather and record event and metering data"},{"line_number":36,"context_line":"   created by notification and polling agents."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_410bd829","line":33,"in_reply_to":"ba7be1f8_2596fb4c","updated":"2015-02-24 14:11:00.000000000","message":"Done","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4baa1a981dd110a8c7105ce7a21458b9eb48796a","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"1. polling agent - daemon designed to poll OpenStack services and build Meters."},{"line_number":33,"context_line":"2. notification agent - daemon designed to listen to events on message queue"},{"line_number":34,"context_line":"   and convert them to Events and Meters."},{"line_number":35,"context_line":"3. collector - daemon designed to gather and record event and metering data"},{"line_number":36,"context_line":"   created by notification and polling agents."},{"line_number":37,"context_line":"4. api - service to query and view data recorded by collector service."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_85732714","line":34,"updated":"2015-02-24 12:27:38.000000000","message":"Events and Samples?","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85582450bc2f3eaac650ce04eba00d6353a8f282","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"1. polling agent - daemon designed to poll OpenStack services and build Meters."},{"line_number":33,"context_line":"2. notification agent - daemon designed to listen to events on message queue"},{"line_number":34,"context_line":"   and convert them to Events and Meters."},{"line_number":35,"context_line":"3. collector - daemon designed to gather and record event and metering data"},{"line_number":36,"context_line":"   created by notification and polling agents."},{"line_number":37,"context_line":"4. api - service to query and view data recorded by collector service."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_210ee43b","line":34,"in_reply_to":"ba7be1f8_85732714","updated":"2015-02-24 14:11:00.000000000","message":"Done","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4baa1a981dd110a8c7105ce7a21458b9eb48796a","unresolved":false,"context_lines":[{"line_number":64,"context_line":"   OpenStack related project and are using the Oslo library, you are kindly"},{"line_number":65,"context_line":"   invited to come and talk to one of the project members to learn how you"},{"line_number":66,"context_line":"   could quickly add instrumentation for your project."},{"line_number":67,"context_line":"2. :term:`Polling agents`, which is the lesser preferred method, will poll"},{"line_number":68,"context_line":"   some API or other tool to collect information at a regular interval."},{"line_number":69,"context_line":"   This method is not preferred due to the load it can generate on a service\u0027s"},{"line_number":70,"context_line":"   API."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_c5935f4d","line":67,"updated":"2015-02-24 12:27:38.000000000","message":"Suggestion:\n\n  s/which is the lesser preferred/which is the less preferred/","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85582450bc2f3eaac650ce04eba00d6353a8f282","unresolved":false,"context_lines":[{"line_number":64,"context_line":"   OpenStack related project and are using the Oslo library, you are kindly"},{"line_number":65,"context_line":"   invited to come and talk to one of the project members to learn how you"},{"line_number":66,"context_line":"   could quickly add instrumentation for your project."},{"line_number":67,"context_line":"2. :term:`Polling agents`, which is the lesser preferred method, will poll"},{"line_number":68,"context_line":"   some API or other tool to collect information at a regular interval."},{"line_number":69,"context_line":"   This method is not preferred due to the load it can generate on a service\u0027s"},{"line_number":70,"context_line":"   API."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_01164055","line":67,"in_reply_to":"ba7be1f8_c5935f4d","updated":"2015-02-24 14:11:00.000000000","message":"Done","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4baa1a981dd110a8c7105ce7a21458b9eb48796a","unresolved":false,"context_lines":[{"line_number":66,"context_line":"   could quickly add instrumentation for your project."},{"line_number":67,"context_line":"2. :term:`Polling agents`, which is the lesser preferred method, will poll"},{"line_number":68,"context_line":"   some API or other tool to collect information at a regular interval."},{"line_number":69,"context_line":"   This method is not preferred due to the load it can generate on a service\u0027s"},{"line_number":70,"context_line":"   API."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"The first method is supported by the ceilometer-notification agent, which"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_25d27b00","line":69,"updated":"2015-02-24 12:27:38.000000000","message":"Suggestion:\n\n  Where the option exists to gather the same data by consuming notifications,\n  then the polling approach is less preferred due to the load it can impose\n  on the API services.\n\nOtherwise it sounds like we ship something key to our data gathering pipeline, that we recommend users don\u0027t deploy.","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85582450bc2f3eaac650ce04eba00d6353a8f282","unresolved":false,"context_lines":[{"line_number":66,"context_line":"   could quickly add instrumentation for your project."},{"line_number":67,"context_line":"2. :term:`Polling agents`, which is the lesser preferred method, will poll"},{"line_number":68,"context_line":"   some API or other tool to collect information at a regular interval."},{"line_number":69,"context_line":"   This method is not preferred due to the load it can generate on a service\u0027s"},{"line_number":70,"context_line":"   API."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"The first method is supported by the ceilometer-notification agent, which"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_e1104c5b","line":69,"in_reply_to":"ba7be1f8_25d27b00","updated":"2015-02-24 14:11:00.000000000","message":"makes sense.","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4baa1a981dd110a8c7105ce7a21458b9eb48796a","unresolved":false,"context_lines":[{"line_number":72,"context_line":"The first method is supported by the ceilometer-notification agent, which"},{"line_number":73,"context_line":"monitors the message queues for notifications. Polling agents can be configured"},{"line_number":74,"context_line":"either to poll local hypervisor or remote APIs (public REST APIs exposed by"},{"line_number":75,"context_line":"services and/or host-level SNMP daemons)."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Notification Agents: Listening for data"},{"line_number":78,"context_line":"---------------------------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_c52fdff4","line":75,"updated":"2015-02-24 12:27:38.000000000","message":"Dunno if it\u0027s worth also mention IPMI polling here?","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85582450bc2f3eaac650ce04eba00d6353a8f282","unresolved":false,"context_lines":[{"line_number":72,"context_line":"The first method is supported by the ceilometer-notification agent, which"},{"line_number":73,"context_line":"monitors the message queues for notifications. Polling agents can be configured"},{"line_number":74,"context_line":"either to poll local hypervisor or remote APIs (public REST APIs exposed by"},{"line_number":75,"context_line":"services and/or host-level SNMP daemons)."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Notification Agents: Listening for data"},{"line_number":78,"context_line":"---------------------------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_ac4f2b6a","line":75,"in_reply_to":"ba7be1f8_c52fdff4","updated":"2015-02-24 14:11:00.000000000","message":"Done","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4baa1a981dd110a8c7105ce7a21458b9eb48796a","unresolved":false,"context_lines":[{"line_number":81,"context_line":"      double: notifications; architecture"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"The heart of the system is the notification daemon (agent-notification)"},{"line_number":84,"context_line":"which monitors the message bus for data being provided from other"},{"line_number":85,"context_line":"OpenStack components such as Nova, Glance, Neutron, and Swift."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"The notification daemon loads one or more *listener* plugins, using the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_a513cbb6","line":84,"updated":"2015-02-24 12:27:38.000000000","message":"s/provided from/provided by/","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85582450bc2f3eaac650ce04eba00d6353a8f282","unresolved":false,"context_lines":[{"line_number":81,"context_line":"      double: notifications; architecture"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"The heart of the system is the notification daemon (agent-notification)"},{"line_number":84,"context_line":"which monitors the message bus for data being provided from other"},{"line_number":85,"context_line":"OpenStack components such as Nova, Glance, Neutron, and Swift."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"The notification daemon loads one or more *listener* plugins, using the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_2c6a5bb3","line":84,"in_reply_to":"ba7be1f8_a513cbb6","updated":"2015-02-24 14:11:00.000000000","message":"Done","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4baa1a981dd110a8c7105ce7a21458b9eb48796a","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"The heart of the system is the notification daemon (agent-notification)"},{"line_number":84,"context_line":"which monitors the message bus for data being provided from other"},{"line_number":85,"context_line":"OpenStack components such as Nova, Glance, Neutron, and Swift."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"The notification daemon loads one or more *listener* plugins, using the"},{"line_number":88,"context_line":"namespace ``ceilometer.notification``. Each plugin can listen to any topics,"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_2527db13","line":85,"updated":"2015-02-24 12:27:38.000000000","message":"... also keystone \u0026 heat.","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85582450bc2f3eaac650ce04eba00d6353a8f282","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"The heart of the system is the notification daemon (agent-notification)"},{"line_number":84,"context_line":"which monitors the message bus for data being provided from other"},{"line_number":85,"context_line":"OpenStack components such as Nova, Glance, Neutron, and Swift."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"The notification daemon loads one or more *listener* plugins, using the"},{"line_number":88,"context_line":"namespace ``ceilometer.notification``. Each plugin can listen to any topics,"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_4c678fe9","line":85,"in_reply_to":"ba7be1f8_2527db13","updated":"2015-02-24 14:11:00.000000000","message":"Done","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4baa1a981dd110a8c7105ce7a21458b9eb48796a","unresolved":false,"context_lines":[{"line_number":90,"context_line":"messages off the defined topics and redistributes them to the appropriate"},{"line_number":91,"context_line":"plugins(endpoints) to be processed into Events and Samples."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Sample-related plugins provides a method to list the event types it wants"},{"line_number":94,"context_line":"and a callback for processing messages accordingly. The registered name of the"},{"line_number":95,"context_line":"callback is used to enable or disable it using the pipeline of the notification"},{"line_number":96,"context_line":"daemon. The incoming messages are filtered based on their event type value before"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_654f13be","line":93,"updated":"2015-02-24 12:27:38.000000000","message":"Suggestion:\n\n  Sample-oriented plugins provide a method to list the event types they\u0027re interested in","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85582450bc2f3eaac650ce04eba00d6353a8f282","unresolved":false,"context_lines":[{"line_number":90,"context_line":"messages off the defined topics and redistributes them to the appropriate"},{"line_number":91,"context_line":"plugins(endpoints) to be processed into Events and Samples."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Sample-related plugins provides a method to list the event types it wants"},{"line_number":94,"context_line":"and a callback for processing messages accordingly. The registered name of the"},{"line_number":95,"context_line":"callback is used to enable or disable it using the pipeline of the notification"},{"line_number":96,"context_line":"daemon. The incoming messages are filtered based on their event type value before"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_6cb7f33a","line":93,"in_reply_to":"ba7be1f8_654f13be","updated":"2015-02-24 14:11:00.000000000","message":"Done","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4baa1a981dd110a8c7105ce7a21458b9eb48796a","unresolved":false,"context_lines":[{"line_number":98,"context_line":"expressed an interest in seeing. For example, a callback asking for"},{"line_number":99,"context_line":"``compute.instance.create.end`` events under"},{"line_number":100,"context_line":"``ceilometer.collector.compute`` would be invoked for those notification"},{"line_number":101,"context_line":"events on the ``nova`` exchange using the ``notifications.info`` topic."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Similarly, if enabled, notifications are converted into Events which can be"},{"line_number":104,"context_line":"filtered based on event_type declared by other services."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_05a49755","line":101,"updated":"2015-02-24 12:27:38.000000000","message":"Worth mentioning wild-carding? e.g. compute.instance.*","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85582450bc2f3eaac650ce04eba00d6353a8f282","unresolved":false,"context_lines":[{"line_number":98,"context_line":"expressed an interest in seeing. For example, a callback asking for"},{"line_number":99,"context_line":"``compute.instance.create.end`` events under"},{"line_number":100,"context_line":"``ceilometer.collector.compute`` would be invoked for those notification"},{"line_number":101,"context_line":"events on the ``nova`` exchange using the ``notifications.info`` topic."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Similarly, if enabled, notifications are converted into Events which can be"},{"line_number":104,"context_line":"filtered based on event_type declared by other services."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_0caf5795","line":101,"in_reply_to":"ba7be1f8_05a49755","updated":"2015-02-24 14:11:00.000000000","message":"Done","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4baa1a981dd110a8c7105ce7a21458b9eb48796a","unresolved":false,"context_lines":[{"line_number":114,"context_line":"Polling for compute resources is handled by a polling agent running on the"},{"line_number":115,"context_line":"compute node (where communication with the hypervisor is more efficient)."},{"line_number":116,"context_line":"Polling for resources not tied to the compute node is handled by the agent"},{"line_number":117,"context_line":"running on the cloud controller node via services APIs. The polling agent"},{"line_number":118,"context_line":"daemon is configured to run one or more *pollster* plugins using either the"},{"line_number":119,"context_line":"``ceilometer.poll.compute`` and/or ``ceilometer.poll.central`` namespaces."},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_a54bcb85","line":117,"updated":"2015-02-24 12:27:38.000000000","message":"Suggestion for clarity:\n\n Polling for compute resources is handled by a polling agent running\n on the compute node (where communication with the hypervisor is more\n efficient), often referred to as the compute-agent. Polling via\n service APIs for non-compute resources is handled by an agent running\n on a cloud controller node, often referred to the central-agent.\n A single agent can fulfill both roles in an all-in-one deployment.\n Conversely, multiple instances of an agent may be deployed, in\n which case the workload is shared.","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85582450bc2f3eaac650ce04eba00d6353a8f282","unresolved":false,"context_lines":[{"line_number":114,"context_line":"Polling for compute resources is handled by a polling agent running on the"},{"line_number":115,"context_line":"compute node (where communication with the hypervisor is more efficient)."},{"line_number":116,"context_line":"Polling for resources not tied to the compute node is handled by the agent"},{"line_number":117,"context_line":"running on the cloud controller node via services APIs. The polling agent"},{"line_number":118,"context_line":"daemon is configured to run one or more *pollster* plugins using either the"},{"line_number":119,"context_line":"``ceilometer.poll.compute`` and/or ``ceilometer.poll.central`` namespaces."},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_ec6be3ee","line":117,"in_reply_to":"ba7be1f8_a54bcb85","updated":"2015-02-24 14:11:00.000000000","message":"Done","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4baa1a981dd110a8c7105ce7a21458b9eb48796a","unresolved":false,"context_lines":[{"line_number":127,"context_line":"Please notice that there\u0027s an optional config called"},{"line_number":128,"context_line":"``shuffle_time_before_polling_task`` in ceilometer.conf. Enable this by"},{"line_number":129,"context_line":"setting an integer greater than zero to shuffle agents to start polling task,"},{"line_number":130,"context_line":"so that fluff up the time of sending requests to nova or other components to"},{"line_number":131,"context_line":"avoid large number of requests in short time."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_b81f696b","line":130,"updated":"2015-02-24 12:27:38.000000000","message":"Suggestion:\n\n so as to add some random jitter to the time of sending requests","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85582450bc2f3eaac650ce04eba00d6353a8f282","unresolved":false,"context_lines":[{"line_number":127,"context_line":"Please notice that there\u0027s an optional config called"},{"line_number":128,"context_line":"``shuffle_time_before_polling_task`` in ceilometer.conf. Enable this by"},{"line_number":129,"context_line":"setting an integer greater than zero to shuffle agents to start polling task,"},{"line_number":130,"context_line":"so that fluff up the time of sending requests to nova or other components to"},{"line_number":131,"context_line":"avoid large number of requests in short time."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_070d7037","line":130,"in_reply_to":"ba7be1f8_b81f696b","updated":"2015-02-24 14:11:00.000000000","message":"Done","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4baa1a981dd110a8c7105ce7a21458b9eb48796a","unresolved":false,"context_lines":[{"line_number":187,"context_line":"ceilometer configuration settings. The messages are signed by feeding the"},{"line_number":188,"context_line":"message key names and values into the signature generator in sorted order."},{"line_number":189,"context_line":"Non-string values are converted to unicode and then"},{"line_number":190,"context_line":"encoded as UTF-8. The message signature is included in the message for"},{"line_number":191,"context_line":"verification by the collector, and stored in the database for future"},{"line_number":192,"context_line":"verification by consumers who access the data via the API."},{"line_number":193,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_9b28df87","line":190,"updated":"2015-02-24 12:27:38.000000000","message":"This the sorting and UTF encoding sounds a bit like implementation detail.","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85582450bc2f3eaac650ce04eba00d6353a8f282","unresolved":false,"context_lines":[{"line_number":187,"context_line":"ceilometer configuration settings. The messages are signed by feeding the"},{"line_number":188,"context_line":"message key names and values into the signature generator in sorted order."},{"line_number":189,"context_line":"Non-string values are converted to unicode and then"},{"line_number":190,"context_line":"encoded as UTF-8. The message signature is included in the message for"},{"line_number":191,"context_line":"verification by the collector, and stored in the database for future"},{"line_number":192,"context_line":"verification by consumers who access the data via the API."},{"line_number":193,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_c72d1897","line":190,"in_reply_to":"ba7be1f8_9b28df87","updated":"2015-02-24 14:11:00.000000000","message":"removed whole paragraph","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"}],"doc/source/contributing/areas.rst":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"4baa1a981dd110a8c7105ce7a21458b9eb48796a","unresolved":false,"context_lines":[{"line_number":74,"context_line":"configuration settings, if it should be enabled. Plugins should not"},{"line_number":75,"context_line":"define their own flags for enabling or disabling themselves."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. warning:: Plugin self-deactivation is not implemented, yet."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Each plugin API is defined by the namespace and an abstract base class"},{"line_number":80,"context_line":"for the plugin instances. Plugins are not required to subclass from"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_bba203fb","line":77,"updated":"2015-02-24 12:27:38.000000000","message":"Does this count as self-deactivation:\n\n  https://blueprints.launchpad.net/ceilometer/+spec/self-disabled-pollster","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85582450bc2f3eaac650ce04eba00d6353a8f282","unresolved":false,"context_lines":[{"line_number":74,"context_line":"configuration settings, if it should be enabled. Plugins should not"},{"line_number":75,"context_line":"define their own flags for enabling or disabling themselves."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. warning:: Plugin self-deactivation is not implemented, yet."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Each plugin API is defined by the namespace and an abstract base class"},{"line_number":80,"context_line":"for the plugin instances. Plugins are not required to subclass from"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba7be1f8_67b70c3b","line":77,"in_reply_to":"ba7be1f8_bba203fb","updated":"2015-02-24 14:11:00.000000000","message":"good point.","commit_id":"e231cb76749ca286e08ea119be5457eb1b8b395e"}],"doc/source/index.rst":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"92c8f963925de2986ac554571f698ed3c21f0bfd","unresolved":false,"context_lines":[{"line_number":44,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":".. toctree::"},{"line_number":47,"context_line":"   :maxdepth: 2 "},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"   overview "},{"line_number":50,"context_line":"   architecture"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da86d52c_8e02b670","line":47,"updated":"2015-02-14 12:43:46.000000000","message":"ditto","commit_id":"824e634aa9f3b74401a79783e2a7aeba1afa2d2a"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"92c8f963925de2986ac554571f698ed3c21f0bfd","unresolved":false,"context_lines":[{"line_number":46,"context_line":".. toctree::"},{"line_number":47,"context_line":"   :maxdepth: 2 "},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"   overview "},{"line_number":50,"context_line":"   architecture"},{"line_number":51,"context_line":"   measurements"},{"line_number":52,"context_line":"   events"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da86d52c_9aa83579","line":49,"updated":"2015-02-14 12:43:46.000000000","message":"trailing space","commit_id":"824e634aa9f3b74401a79783e2a7aeba1afa2d2a"}]}
