)]}'
{"specs/newton/approved/libvirt-perf-support.rst":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"e099fb83e435e0d6281d66c6c6565572d972a82d","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"----------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* Ceilometer requires to gain CPU l3 cache usage statistics from nova. [1]_"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Proposed change"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bab6814e_4346847b","line":28,"updated":"2016-05-23 12:02:04.000000000","message":"That\u0027s not really a use case.\n\nWhy as an operator do I want this in my cloud? What benefits is this going to provide? \n\nOn the surface this seems like extremely volitile information, so what it\u0027s intended to be used for at a macro level seems really important before we expose it.","commit_id":"c29bba5bb5ff40bdd716d73bc1116dec2fbfa856"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"ec3b6cdcf992f7da03982d441b4690be74abcabe","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"----------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* Ceilometer requires to gain CPU l3 cache usage statistics from nova. [1]_"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Proposed change"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bab6814e_8e87f3b3","line":28,"in_reply_to":"bab6814e_4346847b","updated":"2016-05-23 12:22:59.000000000","message":"Done","commit_id":"c29bba5bb5ff40bdd716d73bc1116dec2fbfa856"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"e099fb83e435e0d6281d66c6c6565572d972a82d","unresolved":false,"context_lines":[{"line_number":69,"context_line":"Performance Impact"},{"line_number":70,"context_line":"------------------"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"None"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Other deployer impact"},{"line_number":75,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bab6814e_23bf0062","line":72,"updated":"2016-05-23 12:02:04.000000000","message":"This is being built entirely for an external system. How is this system going to use this call? What is the overhead of it? How often do we expect this to be called?","commit_id":"c29bba5bb5ff40bdd716d73bc1116dec2fbfa856"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"ec3b6cdcf992f7da03982d441b4690be74abcabe","unresolved":false,"context_lines":[{"line_number":69,"context_line":"Performance Impact"},{"line_number":70,"context_line":"------------------"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"None"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Other deployer impact"},{"line_number":75,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bab6814e_ae7ab7ba","line":72,"in_reply_to":"bab6814e_23bf0062","updated":"2016-05-23 12:22:59.000000000","message":"There is no performance impact compared by now, since these perf event are all exposed by the current libvirt API which are used by ceilometer agent.","commit_id":"c29bba5bb5ff40bdd716d73bc1116dec2fbfa856"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"a16678f29482353ac949081cb89d8f0c5c6b22ce","unresolved":false,"context_lines":[{"line_number":69,"context_line":"Performance Impact"},{"line_number":70,"context_line":"------------------"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"None"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Other deployer impact"},{"line_number":75,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bab6814e_29cfb0b4","line":72,"in_reply_to":"bab6814e_ae7ab7ba","updated":"2016-05-24 08:35:15.000000000","message":"Perf events are expensive in nature. I am OK with the libvirt argument but I am really interested to know what happens when you enable this event via a flag in NOVA conf and that starts adding this xml code in all of the domain xmls. Let\u0027s say I have a 2 socket host with 50 VMs running on it - this could potentially enable perf data collection for all of those VMs. Also, if i read a bit further on the technology used here. RMID seems to be used to track a application utilization. Is there an upper bound to the RMIDs available on the system?","commit_id":"c29bba5bb5ff40bdd716d73bc1116dec2fbfa856"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"f25d12a1de210bb1381101be1aaa6e0dbf5804d5","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/support-perf-event"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The purpose of this blueprint is to add nova an ability to support perf event"},{"line_number":14,"context_line":"to gain statistic (for example cpu cache usage) for each instance."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bab6814e_c64d3b9b","line":13,"range":{"start_line":13,"start_character":59,"end_line":13,"end_character":77},"updated":"2016-05-24 02:39:37.000000000","message":"The purpose of this blueprint is to support enable perf event for the instance. Then Celiometers can collect the perf event?","commit_id":"5e91048f656feca6d91ea168e2fd4c9a42d1483c"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"88bda7ef0dfa242425de77337154807e0ceada3a","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/support-perf-event"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The purpose of this blueprint is to add nova an ability to support perf event"},{"line_number":14,"context_line":"to gain statistic (for example cpu cache usage) for each instance."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bab6814e_c129a58b","line":13,"range":{"start_line":13,"start_character":59,"end_line":13,"end_character":77},"in_reply_to":"bab6814e_c64d3b9b","updated":"2016-05-24 03:41:08.000000000","message":"yes, enable perf support and let ceilometer to collect them.","commit_id":"5e91048f656feca6d91ea168e2fd4c9a42d1483c"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"64513b840188d39b74514627e1ad85c9088f3bee","unresolved":false,"context_lines":[{"line_number":26,"context_line":"----------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As a cloud operator, he/she wants to konw if the instance in a cloud can get"},{"line_number":29,"context_line":"sufficient resources for the instance to run some more important application"},{"line_number":30,"context_line":"to meet SLA. For example, NFV or data base server requires to use amount cpu"},{"line_number":31,"context_line":"cache to sppeed up. These perf monitor data can be collected by Ceilometer so"},{"line_number":32,"context_line":"operators can know detail resouces usage of instances and can do further"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bab6814e_06ec638e","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":20},"updated":"2016-05-24 02:36:10.000000000","message":"I think this is used to track the instance performance and the behaviour of application in the instance.","commit_id":"5e91048f656feca6d91ea168e2fd4c9a42d1483c"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"88bda7ef0dfa242425de77337154807e0ceada3a","unresolved":false,"context_lines":[{"line_number":26,"context_line":"----------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As a cloud operator, he/she wants to konw if the instance in a cloud can get"},{"line_number":29,"context_line":"sufficient resources for the instance to run some more important application"},{"line_number":30,"context_line":"to meet SLA. For example, NFV or data base server requires to use amount cpu"},{"line_number":31,"context_line":"cache to sppeed up. These perf monitor data can be collected by Ceilometer so"},{"line_number":32,"context_line":"operators can know detail resouces usage of instances and can do further"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bab6814e_a16101d6","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":20},"in_reply_to":"bab6814e_06ec638e","updated":"2016-05-24 03:41:08.000000000","message":"use-case updated.","commit_id":"5e91048f656feca6d91ea168e2fd4c9a42d1483c"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"64513b840188d39b74514627e1ad85c9088f3bee","unresolved":false,"context_lines":[{"line_number":31,"context_line":"cache to sppeed up. These perf monitor data can be collected by Ceilometer so"},{"line_number":32,"context_line":"operators can know detail resouces usage of instances and can do further"},{"line_number":33,"context_line":"operations to meet SLA by migrating server to other host. The Ceilometer"},{"line_number":34,"context_line":"spec requires to nova have perf support.[1]_"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"},{"line_number":37,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bab6814e_269ec707","line":34,"updated":"2016-05-24 02:36:10.000000000","message":"I suggested you list the cache monitor\u0027s use-case at here. This is more concrete","commit_id":"5e91048f656feca6d91ea168e2fd4c9a42d1483c"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"88bda7ef0dfa242425de77337154807e0ceada3a","unresolved":false,"context_lines":[{"line_number":31,"context_line":"cache to sppeed up. These perf monitor data can be collected by Ceilometer so"},{"line_number":32,"context_line":"operators can know detail resouces usage of instances and can do further"},{"line_number":33,"context_line":"operations to meet SLA by migrating server to other host. The Ceilometer"},{"line_number":34,"context_line":"spec requires to nova have perf support.[1]_"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"},{"line_number":37,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bab6814e_61aef9e8","line":34,"in_reply_to":"bab6814e_269ec707","updated":"2016-05-24 03:41:08.000000000","message":"Done","commit_id":"5e91048f656feca6d91ea168e2fd4c9a42d1483c"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c30356515055f18590f4c36d8c7dba95a22476d6","unresolved":false,"context_lines":[{"line_number":40,"context_line":"is a list to indicate the perf event type, default is `[]`."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":43,"context_line":"support perf event per the configuration of `monitor_events_list`."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bab6814e_a6a91727","line":43,"updated":"2016-05-24 02:38:14.000000000","message":"Can you show a sample what xml element you will add? And why you need add this xml element?","commit_id":"5e91048f656feca6d91ea168e2fd4c9a42d1483c"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"88bda7ef0dfa242425de77337154807e0ceada3a","unresolved":false,"context_lines":[{"line_number":40,"context_line":"is a list to indicate the perf event type, default is `[]`."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":43,"context_line":"support perf event per the configuration of `monitor_events_list`."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bab6814e_01a9eddf","line":43,"in_reply_to":"bab6814e_a6a91727","updated":"2016-05-24 03:41:08.000000000","message":"Done","commit_id":"5e91048f656feca6d91ea168e2fd4c9a42d1483c"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"e25bf4064c8dea696e4835542f1e8c5f09841685","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Perf event is a Linux feature that provides a framework for analyzing"},{"line_number":21,"context_line":"performance events at both hardware and software levels. Through a"},{"line_number":22,"context_line":"list of measurable events we can measure events coming from different"},{"line_number":23,"context_line":"sourcss (like context-switches, cache misses, etc.) and gain statistic"},{"line_number":24,"context_line":"for each instance."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Perf has integrated to libvirt and it now supports to gain cpu cache and more"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bab6814e_885dfd4a","line":23,"range":{"start_line":23,"start_character":1,"end_line":23,"end_character":7},"updated":"2016-05-24 06:30:30.000000000","message":"typo, sources","commit_id":"168e95bdbaaf1e0a8f8f35b8336ae20eb6e9d76f"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"9643f6fa3110ff662aa0c62e2cb2b2ca1f59f67c","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Perf event is a Linux feature that provides a framework for analyzing"},{"line_number":21,"context_line":"performance events at both hardware and software levels. Through a"},{"line_number":22,"context_line":"list of measurable events we can measure events coming from different"},{"line_number":23,"context_line":"sourcss (like context-switches, cache misses, etc.) and gain statistic"},{"line_number":24,"context_line":"for each instance."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Perf has integrated to libvirt and it now supports to gain cpu cache and more"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bab6814e_0b2bc734","line":23,"range":{"start_line":23,"start_character":1,"end_line":23,"end_character":7},"in_reply_to":"bab6814e_885dfd4a","updated":"2016-05-24 06:40:32.000000000","message":"Done","commit_id":"168e95bdbaaf1e0a8f8f35b8336ae20eb6e9d76f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"e25bf4064c8dea696e4835542f1e8c5f09841685","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"----------"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"As a cloud operator, he/she wants to konw if an instance in a cloud occupy"},{"line_number":33,"context_line":"what kinds of resources, for example, cpu, memory, cpu cache, memory"},{"line_number":34,"context_line":"bandwidth etc., and also the amount of resource of the instance. These kinds"},{"line_number":35,"context_line":"of monitor data can be collected from Ceilometer. With these monitor data,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bab6814e_a82ba193","line":32,"range":{"start_line":32,"start_character":37,"end_line":32,"end_character":41},"updated":"2016-05-24 06:30:30.000000000","message":"typo, know","commit_id":"168e95bdbaaf1e0a8f8f35b8336ae20eb6e9d76f"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"9643f6fa3110ff662aa0c62e2cb2b2ca1f59f67c","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"----------"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"As a cloud operator, he/she wants to konw if an instance in a cloud occupy"},{"line_number":33,"context_line":"what kinds of resources, for example, cpu, memory, cpu cache, memory"},{"line_number":34,"context_line":"bandwidth etc., and also the amount of resource of the instance. These kinds"},{"line_number":35,"context_line":"of monitor data can be collected from Ceilometer. With these monitor data,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bab6814e_eb2f633c","line":32,"range":{"start_line":32,"start_character":37,"end_line":32,"end_character":41},"in_reply_to":"bab6814e_a82ba193","updated":"2016-05-24 06:40:32.000000000","message":"Done","commit_id":"168e95bdbaaf1e0a8f8f35b8336ae20eb6e9d76f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"e25bf4064c8dea696e4835542f1e8c5f09841685","unresolved":false,"context_lines":[{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `monitor_events_list`."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"For example we have monitor_events_list\u003d[\u0027cmt\u0027], the XML element will be"},{"line_number":52,"context_line":"like this::"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  \u003cperf\u003e"},{"line_number":55,"context_line":"    \u003cevent enable\u003d\"yes\" name\u003d\"cmt\"/\u003e"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bab6814e_28ecd18e","line":52,"range":{"start_line":51,"start_character":0,"end_line":52,"end_character":11},"updated":"2016-05-24 06:30:30.000000000","message":"So in this propose, what kind of values are enabled for this option? Only \"cmt\"?","commit_id":"168e95bdbaaf1e0a8f8f35b8336ae20eb6e9d76f"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"9643f6fa3110ff662aa0c62e2cb2b2ca1f59f67c","unresolved":false,"context_lines":[{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `monitor_events_list`."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"For example we have monitor_events_list\u003d[\u0027cmt\u0027], the XML element will be"},{"line_number":52,"context_line":"like this::"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  \u003cperf\u003e"},{"line_number":55,"context_line":"    \u003cevent enable\u003d\"yes\" name\u003d\"cmt\"/\u003e"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bab6814e_4b402f08","line":52,"range":{"start_line":51,"start_character":0,"end_line":52,"end_character":11},"in_reply_to":"bab6814e_28ecd18e","updated":"2016-05-24 06:40:32.000000000","message":"currently libvirt 1.3.3 only support cmt yet, but later 1.3.5 will support mbmt(total system bandwidth) mbml(the amount of data sent through the memory controller). later more and more event will be supported in libvirt.\n\nSo we are good to support Perf in this case. we don\u0027t need to change too much code but only the configration options will be okay to enable new event","commit_id":"168e95bdbaaf1e0a8f8f35b8336ae20eb6e9d76f"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"3cbcb0cca0fb3fd8e99e9a5051cfdfdc28cd6896","unresolved":false,"context_lines":[{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `monitor_events_list`."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"For example we have monitor_events_list\u003d[\u0027cmt\u0027], the XML element will be"},{"line_number":52,"context_line":"like this::"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  \u003cperf\u003e"},{"line_number":55,"context_line":"    \u003cevent enable\u003d\"yes\" name\u003d\"cmt\"/\u003e"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bab6814e_f7774006","line":52,"range":{"start_line":51,"start_character":0,"end_line":52,"end_character":11},"in_reply_to":"bab6814e_4b402f08","updated":"2016-05-24 08:25:41.000000000","message":"So this would enable the \u0027cmt\u0027 collection for all the VMs deployed on that particular host?","commit_id":"168e95bdbaaf1e0a8f8f35b8336ae20eb6e9d76f"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"94a05999e971e1c32c6ef022db076f1501eee27c","unresolved":false,"context_lines":[{"line_number":37,"context_line":"resource for this instance and he/she can do further operations like"},{"line_number":38,"context_line":"migrate to some other hosts to provide better resources to meet customers SLA."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"The Ceilometer spec requires to nova have perf support.[1]_"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_c9ff04a9","line":40,"updated":"2016-05-24 08:57:03.000000000","message":"So the biggest motivation for this feature in Nova is to have Ceilometer consume it?\n\nHow about using this data for scheduling/filtering decision?\nI am not sure if in it\u0027s present form that could be done but that\u0027s a good direction to think probably?","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"10cba1a1269ba8a934a59dc7b449f8e86d947db6","unresolved":false,"context_lines":[{"line_number":37,"context_line":"resource for this instance and he/she can do further operations like"},{"line_number":38,"context_line":"migrate to some other hosts to provide better resources to meet customers SLA."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"The Ceilometer spec requires to nova have perf support.[1]_"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_d854e8cb","line":40,"in_reply_to":"bab6814e_c9ff04a9","updated":"2016-05-24 10:15:20.000000000","message":"hi Sudipta, yes, we have plan to consume it, see https://blueprints.launchpad.net/nova/+spec/add-l3-cache-to-cpu-monitor","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"94a05999e971e1c32c6ef022db076f1501eee27c","unresolved":false,"context_lines":[{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `monitor_events_list`."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"For example we have monitor_events_list\u003d[\u0027cmt\u0027], the XML element will be"},{"line_number":52,"context_line":"like this::"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  \u003cperf\u003e"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_2904d0c4","line":51,"updated":"2016-05-24 08:57:03.000000000","message":"I am somehow more comfortable enabling this as a per VM tag as opposed to a host wide tag. Do you see a reason why we might need this for all the VMs running on a given host as opposed to a few that need monitoring?","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"10cba1a1269ba8a934a59dc7b449f8e86d947db6","unresolved":false,"context_lines":[{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `monitor_events_list`."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"For example we have monitor_events_list\u003d[\u0027cmt\u0027], the XML element will be"},{"line_number":52,"context_line":"like this::"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  \u003cperf\u003e"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_382a542d","line":51,"in_reply_to":"bab6814e_2904d0c4","updated":"2016-05-24 10:15:20.000000000","message":"a VM tag is good idea, but we need to first to let scheduler to know which host support what kinds of event. And schedule the VM(with tag) to that supported host.\n\nquestion: does scheduler support using vm tag to filter host?","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"97aa86953904c8bd5dd6178ca6972e7f035a5c89","unresolved":false,"context_lines":[{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `monitor_events_list`."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"For example we have monitor_events_list\u003d[\u0027cmt\u0027], the XML element will be"},{"line_number":52,"context_line":"like this::"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  \u003cperf\u003e"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_ae5fe973","line":51,"in_reply_to":"bab6814e_382a542d","updated":"2016-05-25 07:33:15.000000000","message":"This could be achieved via the availability zones somewhat.\nYou could ask a similar question in case of NUMA Topology aware VM placement. A similar workflow here could be thought of. But it\u0027s a two fold method. First you need to group hosts which are capable of providing this feature and then tag the VM as appropriate on them to ensure perf monitoring is enabled. Since \u0027cmt\u0027 is going to work on only certain kind of hosts - this might be one approach.","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"264da6490efbee7b10e5dd7a118e441afba8079d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `monitor_events_list`."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"For example we have monitor_events_list\u003d[\u0027cmt\u0027], the XML element will be"},{"line_number":52,"context_line":"like this::"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  \u003cperf\u003e"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_09842faf","line":51,"in_reply_to":"bab6814e_ae5fe973","updated":"2016-05-25 08:02:23.000000000","message":"I think you meant to using aggregate to group host and adding extra_spec to flavor, \nit\u0027s complex to enable it from operators. \n\nI asked johnthetubaguy and he didnot suggest to adding more extra_spec for now cause jaypip is working on cleanup up this.\n\nAnother reason not using flavor\u0027s extra_spec is this is not a spec user should take care, it\u0027s not a feature of VM, but things the platform can provide us, so if platform can provide us such feature, we can benifit from it.\n\nIt doesn\u0027t make sense that a user wants an instance schedule to a host which can have performance monitor.\n\nAnother use-case is that scheduler can use the output of perf event (monitoring data) of all instances on a host to wight the selected host. So if we want to made this monitor per instance, how to achieve that.\n\nEli.","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"94a05999e971e1c32c6ef022db076f1501eee27c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"  \u003cperf\u003e"},{"line_number":55,"context_line":"    \u003cevent enable\u003d\"yes\" name\u003d\"cmt\"/\u003e"},{"line_number":56,"context_line":"  \u003c/perf\u003e"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Alternatives"},{"line_number":59,"context_line":"------------"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_a92440c6","line":57,"updated":"2016-05-24 08:57:03.000000000","message":"After adding this tag to the VM xml - what happens next? How do you collect the perf data over a period of time? Can you explain that workflow a bit more in detail here?","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"264da6490efbee7b10e5dd7a118e441afba8079d","unresolved":false,"context_lines":[{"line_number":54,"context_line":"  \u003cperf\u003e"},{"line_number":55,"context_line":"    \u003cevent enable\u003d\"yes\" name\u003d\"cmt\"/\u003e"},{"line_number":56,"context_line":"  \u003c/perf\u003e"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Alternatives"},{"line_number":59,"context_line":"------------"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_b4fe1603","line":57,"in_reply_to":"bab6814e_6eaa211b","updated":"2016-05-25 08:02:23.000000000","message":"I don\u0027t think it will bring much more stressing in this case. I will ask for low level engineer to clarify it.","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"d15e731ace24687ac756cb2d990f79a4896101da","unresolved":false,"context_lines":[{"line_number":54,"context_line":"  \u003cperf\u003e"},{"line_number":55,"context_line":"    \u003cevent enable\u003d\"yes\" name\u003d\"cmt\"/\u003e"},{"line_number":56,"context_line":"  \u003c/perf\u003e"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Alternatives"},{"line_number":59,"context_line":"------------"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_ac08c72e","line":57,"in_reply_to":"bab6814e_a92440c6","updated":"2016-05-24 10:59:19.000000000","message":"To answer your question in irc, we adding perf event flag is just only for preparing to do perf event, not starting pulling event background.","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"10cba1a1269ba8a934a59dc7b449f8e86d947db6","unresolved":false,"context_lines":[{"line_number":54,"context_line":"  \u003cperf\u003e"},{"line_number":55,"context_line":"    \u003cevent enable\u003d\"yes\" name\u003d\"cmt\"/\u003e"},{"line_number":56,"context_line":"  \u003c/perf\u003e"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Alternatives"},{"line_number":59,"context_line":"------------"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_d8c7c862","line":57,"in_reply_to":"bab6814e_a92440c6","updated":"2016-05-24 10:15:20.000000000","message":"sure, as you can see from the use case, we don\u0027t consume perf event in nova at all, but this is the first step, enable nova to supporting perf first.","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"97aa86953904c8bd5dd6178ca6972e7f035a5c89","unresolved":false,"context_lines":[{"line_number":54,"context_line":"  \u003cperf\u003e"},{"line_number":55,"context_line":"    \u003cevent enable\u003d\"yes\" name\u003d\"cmt\"/\u003e"},{"line_number":56,"context_line":"  \u003c/perf\u003e"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Alternatives"},{"line_number":59,"context_line":"------------"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_6eaa211b","line":57,"in_reply_to":"bab6814e_ac08c72e","updated":"2016-05-25 07:33:15.000000000","message":"Sure I guess you mean the concern of whether there\u0027s a performance impact due to this event collection is not in the purview of nova. I agree to that part.\n\nTypically, a perf event would mean programming hardware counters and accumulating the data out of those counters whenever requested. My concern w.r.t performance is around that. The moment you describe the VM - there should be a mechanism to start the counting for that VM in the background - even though nova doesn\u0027t necessarily call that query API. Hence I was stressing on limiting the number of VMs you would want to monitor.","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"94a05999e971e1c32c6ef022db076f1501eee27c","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"And this spec will depend on the following libraries:"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* libvirt \u003e\u003d 1.3.3"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Testing"},{"line_number":133,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_29dcd017","line":130,"updated":"2016-05-24 08:57:03.000000000","message":"This seems like we have to restrict the feature based on a libvirt version. And then you will have MBM in 1.3.5 which would have MBM - and we will have to create another libvirt version flag for that. I would like to hear from the wider community on how we can better handle these kind of changes to the libvirt driver.","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"97aa86953904c8bd5dd6178ca6972e7f035a5c89","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"And this spec will depend on the following libraries:"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* libvirt \u003e\u003d 1.3.3"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Testing"},{"line_number":133,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_ae49a990","line":130,"in_reply_to":"bab6814e_18bb1077","updated":"2016-05-25 07:33:15.000000000","message":"That makes good sense to me. This way you would even be able to filter out hosts which are on libvirt version 1.3.X and but don\u0027t have support for this counter.","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"10cba1a1269ba8a934a59dc7b449f8e86d947db6","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"And this spec will depend on the following libraries:"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* libvirt \u003e\u003d 1.3.3"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Testing"},{"line_number":133,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_18bb1077","line":130,"in_reply_to":"bab6814e_29dcd017","updated":"2016-05-24 10:15:20.000000000","message":"We don\u0027t need to handle version, we can just add checking of libvirt flags\n\nfor perf support: it is VIR_DOMAIN_STATS_PERF\nfor cmt: it is VIR_PERF_PARAM_CMT\n\nfor example:\n\nif hasattr(libvirt, \u0027VIR_PERF_PARAM_CMT\u0027):\n   # support CMT event","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"97aa86953904c8bd5dd6178ca6972e7f035a5c89","unresolved":false,"context_lines":[{"line_number":137,"context_line":"Documentation Impact"},{"line_number":138,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"* Add explaination of new added libvirt configuration."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"References"},{"line_number":143,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_4e53dd39","line":140,"updated":"2016-05-25 07:33:15.000000000","message":"I guess we should be very clear and crisp about what this new feature is. To me, this is a libvirt feature - True. However, it is not meant to work for every platform that supports this libvirt version because eventually there\u0027s a processor/hardware dependency involved. Do you agree?","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"264da6490efbee7b10e5dd7a118e441afba8079d","unresolved":false,"context_lines":[{"line_number":137,"context_line":"Documentation Impact"},{"line_number":138,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"* Add explaination of new added libvirt configuration."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"References"},{"line_number":143,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bab6814e_c9118706","line":140,"in_reply_to":"bab6814e_4e53dd39","updated":"2016-05-25 08:02:23.000000000","message":"agree, there is libvirt dependency and also processor/platform dependency.","commit_id":"75c7b1812289be809cbba277f5c2498ec3a17ffa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"6bad8cbd61ca4b1e7e45ae56fe5ee8f92f23f196","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Add new libvirt driver list configure option `monitor_events_list`, which"},{"line_number":46,"context_line":"is a list to indicate the perf event type, default is `[]`."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bab6814e_e58bae66","line":45,"range":{"start_line":45,"start_character":46,"end_line":45,"end_character":65},"updated":"2016-05-25 15:42:54.000000000","message":"I assume this is a new option in the libvirt group?\n\nShould it be called enabled_perf_events? or something like that?\n\nWhat are the allowed items in that list? It feels like we should be specific. Or is this just passing the string through to libvirt?","commit_id":"9b5e85f00c79a9be9c0be6ac656229ca2354f817"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"68aece8c3cb54bd3f7c2f4a6062b34ba326ea0f1","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Add new libvirt driver list configure option `monitor_events_list`, which"},{"line_number":46,"context_line":"is a list to indicate the perf event type, default is `[]`."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bab6814e_f54fca31","line":45,"range":{"start_line":45,"start_character":46,"end_line":45,"end_character":65},"in_reply_to":"bab6814e_e58bae66","updated":"2016-05-25 22:56:32.000000000","message":"\u003e I assume this is a new option in the libvirt group?\n\nYes it it.\n\n\u003e Should it be called enabled_perf_events? or something like that?\n\nI am okay with the naming, but perf is a linux specific tool, will the operator know this well? I think naming it as the usage will be good to them, thought?\n\nI will update it per your comments and leave comment here for others opinion.\n\n\u003e What are the allowed items in that list? It feels like we should be specific. Or is this just passing the string through to libvirt?\n\n\nyes, it should be specify, before passing libivrt, we need do validation.","commit_id":"9b5e85f00c79a9be9c0be6ac656229ca2354f817"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"6bad8cbd61ca4b1e7e45ae56fe5ee8f92f23f196","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"In this spec, we don\u0027t propose nova to polling statistic data itself,"},{"line_number":63,"context_line":"Ceilometer can benefit from this configuration."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Alternatives"},{"line_number":66,"context_line":"------------"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"bab6814e_a5bfe6fa","line":64,"updated":"2016-05-25 15:42:54.000000000","message":"Possibly worth saying what happens if libvirt is too old, I guess we just don\u0027t add the events?","commit_id":"9b5e85f00c79a9be9c0be6ac656229ca2354f817"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"68aece8c3cb54bd3f7c2f4a6062b34ba326ea0f1","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"In this spec, we don\u0027t propose nova to polling statistic data itself,"},{"line_number":63,"context_line":"Ceilometer can benefit from this configuration."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Alternatives"},{"line_number":66,"context_line":"------------"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"bab6814e_3564b2b7","line":64,"in_reply_to":"bab6814e_a5bfe6fa","updated":"2016-05-25 22:56:32.000000000","message":"Sure.","commit_id":"9b5e85f00c79a9be9c0be6ac656229ca2354f817"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c504aa8a2629cb4640d0dee8c6ce6f91757d77e9","unresolved":false,"context_lines":[{"line_number":23,"context_line":"resources (like context-switches, cache misses, etc.) and gain statistic"},{"line_number":24,"context_line":"for each instance."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Perf has integrated to libvirt and it now supports to gain cpu cache and more"},{"line_number":27,"context_line":"event type will be added. We can enable perf support in Nova."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_a8d0f8c9","line":26,"range":{"start_line":26,"start_character":23,"end_line":26,"end_character":30},"updated":"2016-06-01 15:54:44.000000000","message":"Which version of libvirt?","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"13bc552069969c7e66ff2a03b1231daed1faea50","unresolved":false,"context_lines":[{"line_number":23,"context_line":"resources (like context-switches, cache misses, etc.) and gain statistic"},{"line_number":24,"context_line":"for each instance."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Perf has integrated to libvirt and it now supports to gain cpu cache and more"},{"line_number":27,"context_line":"event type will be added. We can enable perf support in Nova."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_0f2586ad","line":26,"range":{"start_line":26,"start_character":23,"end_line":26,"end_character":30},"in_reply_to":"9abb7d3a_596b05b7","updated":"2016-06-02 16:01:04.000000000","message":"Done","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"aeeaa1ddd8101295e3f4071c3c02b96f268145d8","unresolved":false,"context_lines":[{"line_number":23,"context_line":"resources (like context-switches, cache misses, etc.) and gain statistic"},{"line_number":24,"context_line":"for each instance."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Perf has integrated to libvirt and it now supports to gain cpu cache and more"},{"line_number":27,"context_line":"event type will be added. We can enable perf support in Nova."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_596b05b7","line":26,"range":{"start_line":26,"start_character":23,"end_line":26,"end_character":30},"in_reply_to":"9abb7d3a_a8d0f8c9","updated":"2016-06-02 02:53:05.000000000","message":"1.3.3","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c504aa8a2629cb4640d0dee8c6ce6f91757d77e9","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"----------"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"As a cloud operator, he/she wants to know if instances in a cloud occupy"},{"line_number":33,"context_line":"what kinds of resources, for example, cpu, memory, cpu cache, memory"},{"line_number":34,"context_line":"bandwidth etc., and also the amount of resource of the instance. These kinds"},{"line_number":35,"context_line":"of monitor data can be collected from Ceilometer. With these monitor data,"},{"line_number":36,"context_line":"the operatior can do some analysis to identify what is the most important"},{"line_number":37,"context_line":"resource for this instance and he/she can do further operations like"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_ebd4baec","line":34,"range":{"start_line":32,"start_character":0,"end_line":34,"end_character":64},"updated":"2016-06-01 15:54:44.000000000","message":"Why can\u0027t the instance diagnostics API in nova be used for gathering this information? I\u0027d have to look it up, but at one point there was a thread in the dev ML about adding a periodic task to the compute manager that gets the list of instance diagnostics on that compute host and sending it as an event that ceilometer would consume, so it wouldn\u0027t need to ping libvirt directly in the ceilometer compute agent.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7965f050c5ad525bb29a2d3b90fe2e9f2f65914b","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"----------"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"As a cloud operator, he/she wants to know if instances in a cloud occupy"},{"line_number":33,"context_line":"what kinds of resources, for example, cpu, memory, cpu cache, memory"},{"line_number":34,"context_line":"bandwidth etc., and also the amount of resource of the instance. These kinds"},{"line_number":35,"context_line":"of monitor data can be collected from Ceilometer. With these monitor data,"},{"line_number":36,"context_line":"the operatior can do some analysis to identify what is the most important"},{"line_number":37,"context_line":"resource for this instance and he/she can do further operations like"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_b4476f4a","line":34,"range":{"start_line":32,"start_character":0,"end_line":34,"end_character":64},"in_reply_to":"9abb7d3a_3449e831","updated":"2016-06-02 15:47:51.000000000","message":"Correct, there isn\u0027t a periodic task for this today. It was discussed but unfortunately I nor anyone else got a spec up for that change.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d3886edc739e826a4ace32bceebaabdc8a742682","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"----------"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"As a cloud operator, he/she wants to know if instances in a cloud occupy"},{"line_number":33,"context_line":"what kinds of resources, for example, cpu, memory, cpu cache, memory"},{"line_number":34,"context_line":"bandwidth etc., and also the amount of resource of the instance. These kinds"},{"line_number":35,"context_line":"of monitor data can be collected from Ceilometer. With these monitor data,"},{"line_number":36,"context_line":"the operatior can do some analysis to identify what is the most important"},{"line_number":37,"context_line":"resource for this instance and he/she can do further operations like"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_6bf1ea6a","line":34,"range":{"start_line":32,"start_character":0,"end_line":34,"end_character":64},"in_reply_to":"9abb7d3a_ebd4baec","updated":"2016-06-01 15:55:54.000000000","message":"This was the dev list thread on the idea above:\n\nhttp://lists.openstack.org/pipermail/openstack-dev/2015-June/067283.html","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"aeeaa1ddd8101295e3f4071c3c02b96f268145d8","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Use Cases"},{"line_number":30,"context_line":"----------"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"As a cloud operator, he/she wants to know if instances in a cloud occupy"},{"line_number":33,"context_line":"what kinds of resources, for example, cpu, memory, cpu cache, memory"},{"line_number":34,"context_line":"bandwidth etc., and also the amount of resource of the instance. These kinds"},{"line_number":35,"context_line":"of monitor data can be collected from Ceilometer. With these monitor data,"},{"line_number":36,"context_line":"the operatior can do some analysis to identify what is the most important"},{"line_number":37,"context_line":"resource for this instance and he/she can do further operations like"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_3449e831","line":34,"range":{"start_line":32,"start_character":0,"end_line":34,"end_character":64},"in_reply_to":"9abb7d3a_ebd4baec","updated":"2016-06-02 02:53:05.000000000","message":"hi Matt, from currently nova code, I don\u0027t see that we have enabled a periodic task to compute manager to get instance diagnostics and send it to message bus, I am okay to add these information to diagnostics API. do you what\u0027s the status of \"sending instance diagnostics \"?","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c504aa8a2629cb4640d0dee8c6ce6f91757d77e9","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Add new libvirt driver list configure option `enabled_perf_events`, which"},{"line_number":46,"context_line":"is a list to indicate the perf event type, default is `[]`."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `enabled_perf_events`. Only"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_e87a00bc","line":46,"range":{"start_line":45,"start_character":0,"end_line":46,"end_character":59},"updated":"2016-06-01 15:54:44.000000000","message":"Why can\u0027t we use get_instance_diagnostics from the virt driver which is a standard form across all of the drivers and then could be emitted from the compute manager in a periodic task? I\u0027d prefer to avoid a libvirt-driver specific change here.\n\nOr this is different because you have to specifically create the domain xml with the flags to get the events from libvirt and then send those on to ceilometer? Why can\u0027t ceilometer just get those directly from libvirt - the compute agent in ceilometer is already getting information directly from libvirt, or at least it used to, but maybe the telemetry team wanted to move away from that?","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"82ca62587d9bcaddea8fa44cdac60de551e8b44e","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Add new libvirt driver list configure option `enabled_perf_events`, which"},{"line_number":46,"context_line":"is a list to indicate the perf event type, default is `[]`."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `enabled_perf_events`. Only"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_9f4d4dc6","line":46,"range":{"start_line":45,"start_character":0,"end_line":46,"end_character":59},"in_reply_to":"9abb7d3a_1f82fdc7","updated":"2016-06-02 02:32:22.000000000","message":"Oops, just found v2.1 API called get_diagnostics, not the get_instance_diagnostics. \u0027get_instance_diagnostics\u0027 isn\u0027t called by any api now due to the v3 api removed.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"13b0c17c24ffcdfef93c06518e0cfd657ff3845b","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Add new libvirt driver list configure option `enabled_perf_events`, which"},{"line_number":46,"context_line":"is a list to indicate the perf event type, default is `[]`."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `enabled_perf_events`. Only"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_c0c0752d","line":46,"range":{"start_line":45,"start_character":0,"end_line":46,"end_character":59},"in_reply_to":"9abb7d3a_3040b407","updated":"2016-06-02 14:52:01.000000000","message":"I talked with Lianhao (celiometer core), he pointed out, \u0027get_instance_diagnostics\u0027 report all the data with single one periodic task. That means all the data only have one interval, but different metrics may need different interval. Sounds like there need more thinking on \u0027get_instance_diagnostics\u0027","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"e206710c7a62e8d1a7704afb30a32a568d9dd985","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Add new libvirt driver list configure option `enabled_perf_events`, which"},{"line_number":46,"context_line":"is a list to indicate the perf event type, default is `[]`."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `enabled_perf_events`. Only"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_3040b407","line":46,"range":{"start_line":45,"start_character":0,"end_line":46,"end_character":59},"in_reply_to":"9abb7d3a_949ed460","updated":"2016-06-02 13:43:31.000000000","message":"I\u0027m in two minds about the instance diagnostics API. In particular I\u0027d be pretty wary about its efficiency. It has to be called once for each VM you\u0027re monitoring and it will always return the full set of info about that VM, even if you only want 1 data item. These facts combined make it quite an inefficient and unscaleable API for high frequency performance monitoring of VMs. I view it more as an API for ad-hoc occasional use to diagnose problems with specific VMs. This scalability concern is really why the the nova.compute.monitors package \u0026 APIs was added to the code. \n\nThat said, I\u0027m not against adding the perf information to the instance diagnostics API. It is useful data to report. I just don\u0027t think it obsoletes the need for what Eli is proposing.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7965f050c5ad525bb29a2d3b90fe2e9f2f65914b","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Add new libvirt driver list configure option `enabled_perf_events`, which"},{"line_number":46,"context_line":"is a list to indicate the perf event type, default is `[]`."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `enabled_perf_events`. Only"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_14d2bb34","line":46,"range":{"start_line":45,"start_character":0,"end_line":46,"end_character":59},"in_reply_to":"9abb7d3a_9f4d4dc6","updated":"2016-06-02 15:47:51.000000000","message":"Alex, regarding the os-diagnostics API, yes, we need to add a microversion to use the standardized version of the compute API/virt driver method that we added for the old v3 API work (garyk worked on it). Someone from the hyper-v virt driver team was going to add a spec for that because the hyper-v driver wants to add the support for getting diagnostics, but I haven\u0027t seen that spec show up yet.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"ece46b350458e47af2699bbf362dc10e2d88a7d7","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Add new libvirt driver list configure option `enabled_perf_events`, which"},{"line_number":46,"context_line":"is a list to indicate the perf event type, default is `[]`."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `enabled_perf_events`. Only"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_1f82fdc7","line":46,"range":{"start_line":45,"start_character":0,"end_line":46,"end_character":59},"in_reply_to":"9abb7d3a_e87a00bc","updated":"2016-06-02 02:30:11.000000000","message":"Bad news is \u0027get_instance_diagnostics\u0027 isn\u0027t the a standard form across all of the drivers.\n\nThis propose is on v3 API http://specs.openstack.org/openstack/nova-specs/specs/juno/implemented/v3-diagnostics.html\n\nWe removed it from v2.1 to compatible with v2 API. So currently \u0027get_instance_diagnostics\u0027 still return different info based on hypervisor.\n\nThis sounds like a work can be introduced Microversion in the future.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"aeeaa1ddd8101295e3f4071c3c02b96f268145d8","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Add new libvirt driver list configure option `enabled_perf_events`, which"},{"line_number":46,"context_line":"is a list to indicate the perf event type, default is `[]`."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `enabled_perf_events`. Only"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_949ed460","line":46,"range":{"start_line":45,"start_character":0,"end_line":46,"end_character":59},"in_reply_to":"9abb7d3a_e87a00bc","updated":"2016-06-02 02:53:05.000000000","message":"There are 2 method for getting instance diagnostics\n(1) get_diagnostics (there is an API v2.1/servers/$instance_id/diagnostics )\n(2) get_instance_diagnostics (we don\u0027t have API call this)\nsee detail of https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/server_diagnostics.py#L41\n\nI can add these perf event information to get_diagnostics for now, maybe latter get_instance_diagnostics,\nbut first we need to enable it in libvirt domain xml.\n\nYes, it\u0027s different because we need to first enable the perf event in domain xml. then later we can call libvirt\u0027s domstats to get such information, without this flag, we won\u0027t get any related information  about that diagnostics data.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"60239e3083ce6c635a0a57c05529bde3ee4a72b8","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `enabled_perf_events`. Only"},{"line_number":50,"context_line":"supported event with proper Libvirt version, it will be ignored if the"},{"line_number":51,"context_line":"version of Libvirt is too old."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"For example we have enabled_perf_events\u003d[\u0027cmt\u0027], the XML element will be"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_03086390","line":50,"updated":"2016-05-31 09:11:54.000000000","message":"Do I understand correctly that currently libvirt supports only a few perf events? E.g. https://libvirt.org/html/libvirt-libvirt-domain.html#VIR_PERF_PARAM_CMT \n\nIn other words, you can\u0027t simply specify an arbitrary perf event (as in perf --list output) here, support for each particular event has to be added to libvirt first. Or I got this wrong?","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"77952d45f1551a48b76d242409bd1a685ce4fbf4","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Add missing elements when generating XML definition in libvirt driver to"},{"line_number":49,"context_line":"support perf event per the configuration of `enabled_perf_events`. Only"},{"line_number":50,"context_line":"supported event with proper Libvirt version, it will be ignored if the"},{"line_number":51,"context_line":"version of Libvirt is too old."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"For example we have enabled_perf_events\u003d[\u0027cmt\u0027], the XML element will be"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_b34a8024","line":50,"in_reply_to":"9abb7d3a_03086390","updated":"2016-05-31 10:22:46.000000000","message":"yes, you are right.\nCurrently libvirt support following events:\n\nVIR_PERF_PARAM_CMT\nVIR_PERF_PARAM_MBML\nVIR_PERF_PARAM_MBMT","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c504aa8a2629cb4640d0dee8c6ce6f91757d77e9","unresolved":false,"context_lines":[{"line_number":61,"context_line":"before we gain the statistic, the polling won\u0027t be started until we call"},{"line_number":62,"context_line":"Libvirt API."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In this spec, we don\u0027t propose nova to polling statistic data itself,"},{"line_number":65,"context_line":"Ceilometer can benefit from this configuration."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_cb38d6d5","line":65,"range":{"start_line":64,"start_character":0,"end_line":65,"end_character":47},"updated":"2016-06-01 15:54:44.000000000","message":"Related to my comment above, so Ceilometer\u0027s compute agent that already talks to libvirt will just continue doing that, not getting the event info from nova - but the change is needed in nova to set the flag in the domain xml, hence the nova change needed here.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"aeeaa1ddd8101295e3f4071c3c02b96f268145d8","unresolved":false,"context_lines":[{"line_number":61,"context_line":"before we gain the statistic, the polling won\u0027t be started until we call"},{"line_number":62,"context_line":"Libvirt API."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In this spec, we don\u0027t propose nova to polling statistic data itself,"},{"line_number":65,"context_line":"Ceilometer can benefit from this configuration."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_148144fb","line":65,"range":{"start_line":64,"start_character":0,"end_line":65,"end_character":47},"in_reply_to":"9abb7d3a_cb38d6d5","updated":"2016-06-02 02:53:05.000000000","message":"yes, we need set the flag then Ceilometer\u0027s agent can work.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c504aa8a2629cb4640d0dee8c6ce6f91757d77e9","unresolved":false,"context_lines":[{"line_number":71,"context_line":"extra_spec, like adding \u0027perf:event\u003dcmt,...\u0027, add aggregate to host."},{"line_number":72,"context_line":"It\u0027s complex to enable it from operators."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"The reason not using flavor\u0027s extra_spec is this is not a spec user"},{"line_number":75,"context_line":"should take care, it\u0027s not a feature of VM, but things the platform can"},{"line_number":76,"context_line":"provide us, so if platform can provide us such feature, we can benifit from"},{"line_number":77,"context_line":"it. It doesn\u0027t make sense that a user wants an instance schedule to a host"},{"line_number":78,"context_line":"which can have performance monitor."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Another use-case is that scheduler can use the output of perf event"},{"line_number":81,"context_line":"(monitoring data) of all instances on a host to wight the selected host."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_aba47207","line":78,"range":{"start_line":74,"start_character":0,"end_line":78,"end_character":35},"updated":"2016-06-01 15:54:44.000000000","message":"Yeah I was thinking of the case of exposing this to the user, but the user shouldn\u0027t really care, or know about this, it\u0027s up to the operator to configure it and use it, so a config option is probably best here.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"aeeaa1ddd8101295e3f4071c3c02b96f268145d8","unresolved":false,"context_lines":[{"line_number":71,"context_line":"extra_spec, like adding \u0027perf:event\u003dcmt,...\u0027, add aggregate to host."},{"line_number":72,"context_line":"It\u0027s complex to enable it from operators."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"The reason not using flavor\u0027s extra_spec is this is not a spec user"},{"line_number":75,"context_line":"should take care, it\u0027s not a feature of VM, but things the platform can"},{"line_number":76,"context_line":"provide us, so if platform can provide us such feature, we can benifit from"},{"line_number":77,"context_line":"it. It doesn\u0027t make sense that a user wants an instance schedule to a host"},{"line_number":78,"context_line":"which can have performance monitor."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Another use-case is that scheduler can use the output of perf event"},{"line_number":81,"context_line":"(monitoring data) of all instances on a host to wight the selected host."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_74709040","line":78,"range":{"start_line":74,"start_character":0,"end_line":78,"end_character":35},"in_reply_to":"9abb7d3a_aba47207","updated":"2016-06-02 02:53:05.000000000","message":"yep.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c504aa8a2629cb4640d0dee8c6ce6f91757d77e9","unresolved":false,"context_lines":[{"line_number":77,"context_line":"it. It doesn\u0027t make sense that a user wants an instance schedule to a host"},{"line_number":78,"context_line":"which can have performance monitor."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Another use-case is that scheduler can use the output of perf event"},{"line_number":81,"context_line":"(monitoring data) of all instances on a host to wight the selected host."},{"line_number":82,"context_line":"So if we want to made this monitor per instance, we can not make it."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_cbdbb67a","line":80,"updated":"2016-06-01 15:54:44.000000000","message":"This paragraph is confusing - this spec isn\u0027t about consuming this information in the nova scheduler, so it\u0027s probably just best to leave this out. It\u0027s also confusing because this change is per-instance, but this paragraph makes it sound like it\u0027s not - that it\u0027s more of an aggregate view on the host. Maybe it is and I\u0027m missing that part? I\u0027m assuming Intel will be using this in some out of tree scheduler filter though, which is probably part of the reason you mentioned it in here.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7965f050c5ad525bb29a2d3b90fe2e9f2f65914b","unresolved":false,"context_lines":[{"line_number":77,"context_line":"it. It doesn\u0027t make sense that a user wants an instance schedule to a host"},{"line_number":78,"context_line":"which can have performance monitor."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Another use-case is that scheduler can use the output of perf event"},{"line_number":81,"context_line":"(monitoring data) of all instances on a host to wight the selected host."},{"line_number":82,"context_line":"So if we want to made this monitor per instance, we can not make it."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_b4c00f2c","line":80,"in_reply_to":"9abb7d3a_b4095897","updated":"2016-06-02 15:47:51.000000000","message":"I don\u0027t think you probably want to confuse this spec by saying we\u0027re going to add new things to get_(instance_)diagnostics unless that\u0027s going to be used, but I\u0027m not hearing that diagnostics will be used as part of this. It could happen later if desired, but not necessary for this.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"13bc552069969c7e66ff2a03b1231daed1faea50","unresolved":false,"context_lines":[{"line_number":77,"context_line":"it. It doesn\u0027t make sense that a user wants an instance schedule to a host"},{"line_number":78,"context_line":"which can have performance monitor."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Another use-case is that scheduler can use the output of perf event"},{"line_number":81,"context_line":"(monitoring data) of all instances on a host to wight the selected host."},{"line_number":82,"context_line":"So if we want to made this monitor per instance, we can not make it."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_cfb89e2d","line":80,"in_reply_to":"9abb7d3a_b4c00f2c","updated":"2016-06-02 16:01:04.000000000","message":"Done","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"aeeaa1ddd8101295e3f4071c3c02b96f268145d8","unresolved":false,"context_lines":[{"line_number":77,"context_line":"it. It doesn\u0027t make sense that a user wants an instance schedule to a host"},{"line_number":78,"context_line":"which can have performance monitor."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Another use-case is that scheduler can use the output of perf event"},{"line_number":81,"context_line":"(monitoring data) of all instances on a host to wight the selected host."},{"line_number":82,"context_line":"So if we want to made this monitor per instance, we can not make it."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_b4095897","line":80,"in_reply_to":"9abb7d3a_cbdbb67a","updated":"2016-06-02 02:53:05.000000000","message":"In this patch , we just enable the flag, but nova don\u0027t consume it yet. but someone may ask what the flow looks like. I just write down my plan.\n\nAs your suggestion, I will remove this and will mention to add consume this event in get_diagnostics","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c504aa8a2629cb4640d0dee8c6ce6f91757d77e9","unresolved":false,"context_lines":[{"line_number":78,"context_line":"which can have performance monitor."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Another use-case is that scheduler can use the output of perf event"},{"line_number":81,"context_line":"(monitoring data) of all instances on a host to wight the selected host."},{"line_number":82,"context_line":"So if we want to made this monitor per instance, we can not make it."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_2bb9a22e","line":81,"range":{"start_line":81,"start_character":48,"end_line":81,"end_character":53},"updated":"2016-06-01 15:54:44.000000000","message":"weigh","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"aeeaa1ddd8101295e3f4071c3c02b96f268145d8","unresolved":false,"context_lines":[{"line_number":78,"context_line":"which can have performance monitor."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Another use-case is that scheduler can use the output of perf event"},{"line_number":81,"context_line":"(monitoring data) of all instances on a host to wight the selected host."},{"line_number":82,"context_line":"So if we want to made this monitor per instance, we can not make it."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_39944189","line":81,"range":{"start_line":81,"start_character":48,"end_line":81,"end_character":53},"in_reply_to":"9abb7d3a_2bb9a22e","updated":"2016-06-02 02:53:05.000000000","message":"Done","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c504aa8a2629cb4640d0dee8c6ce6f91757d77e9","unresolved":false,"context_lines":[{"line_number":109,"context_line":"Performance Impact"},{"line_number":110,"context_line":"------------------"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"There won\u0027t performance impact, when perf event is enabled,"},{"line_number":113,"context_line":"the operation is just to write the count into the memory,"},{"line_number":114,"context_line":"and the impact can be almost ignored, especially we just"},{"line_number":115,"context_line":"enable events for VMs (not for each processes)."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_8b436e12","line":112,"range":{"start_line":112,"start_character":0,"end_line":112,"end_character":30},"updated":"2016-06-01 15:54:44.000000000","message":"There won\u0027t be a performance impact. When perf...","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"13bc552069969c7e66ff2a03b1231daed1faea50","unresolved":false,"context_lines":[{"line_number":109,"context_line":"Performance Impact"},{"line_number":110,"context_line":"------------------"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"There won\u0027t performance impact, when perf event is enabled,"},{"line_number":113,"context_line":"the operation is just to write the count into the memory,"},{"line_number":114,"context_line":"and the impact can be almost ignored, especially we just"},{"line_number":115,"context_line":"enable events for VMs (not for each processes)."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_2ff7aaf6","line":112,"range":{"start_line":112,"start_character":0,"end_line":112,"end_character":30},"in_reply_to":"9abb7d3a_8b436e12","updated":"2016-06-02 16:01:04.000000000","message":"Done","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"aeeaa1ddd8101295e3f4071c3c02b96f268145d8","unresolved":false,"context_lines":[{"line_number":109,"context_line":"Performance Impact"},{"line_number":110,"context_line":"------------------"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"There won\u0027t performance impact, when perf event is enabled,"},{"line_number":113,"context_line":"the operation is just to write the count into the memory,"},{"line_number":114,"context_line":"and the impact can be almost ignored, especially we just"},{"line_number":115,"context_line":"enable events for VMs (not for each processes)."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_998f2d74","line":112,"range":{"start_line":112,"start_character":0,"end_line":112,"end_character":30},"in_reply_to":"9abb7d3a_8b436e12","updated":"2016-06-02 02:53:05.000000000","message":"Done","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c504aa8a2629cb4640d0dee8c6ce6f91757d77e9","unresolved":false,"context_lines":[{"line_number":145,"context_line":"The primary work items are:"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* Add new libvirt driver configuration option."},{"line_number":148,"context_line":"* Update the libvirt guest XML configuration when one or more perf events"},{"line_number":149,"context_line":"  are specified in libvirt driver configuration."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Dependencies"},{"line_number":152,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_eb75da63","line":149,"range":{"start_line":148,"start_character":2,"end_line":149,"end_character":48},"updated":"2016-06-01 15:54:44.000000000","message":"And the version of libvirt is new enough to support the flags in the xml.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"aeeaa1ddd8101295e3f4071c3c02b96f268145d8","unresolved":false,"context_lines":[{"line_number":145,"context_line":"The primary work items are:"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* Add new libvirt driver configuration option."},{"line_number":148,"context_line":"* Update the libvirt guest XML configuration when one or more perf events"},{"line_number":149,"context_line":"  are specified in libvirt driver configuration."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Dependencies"},{"line_number":152,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_14fdc46d","line":149,"range":{"start_line":148,"start_character":2,"end_line":149,"end_character":48},"in_reply_to":"9abb7d3a_eb75da63","updated":"2016-06-02 02:53:05.000000000","message":"Done","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"60239e3083ce6c635a0a57c05529bde3ee4a72b8","unresolved":false,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":"And this spec will depend on the following libraries:"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"* libvirt \u003e\u003d 1.3.3"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Testing"},{"line_number":159,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_833d73bd","line":156,"updated":"2016-05-31 09:11:54.000000000","message":"Don\u0027t you also need to have the perf tool installed? (e.g. linux-base package in Debian)","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"77952d45f1551a48b76d242409bd1a685ce4fbf4","unresolved":false,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":"And this spec will depend on the following libraries:"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"* libvirt \u003e\u003d 1.3.3"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Testing"},{"line_number":159,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_3396903f","line":156,"in_reply_to":"9abb7d3a_833d73bd","updated":"2016-05-31 10:22:46.000000000","message":"No, we don\u0027t need to install it. Libvirt calls kernel perf API directly. Beside, if any dependencies required, Libvirt package will cover that.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c504aa8a2629cb4640d0dee8c6ce6f91757d77e9","unresolved":false,"context_lines":[{"line_number":163,"context_line":"Documentation Impact"},{"line_number":164,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"* Add explaination of new added libvirt configuration."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"References"},{"line_number":169,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_0bec9ef1","line":166,"range":{"start_line":166,"start_character":6,"end_line":166,"end_character":18},"updated":"2016-06-01 15:54:44.000000000","message":"explanation","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c504aa8a2629cb4640d0dee8c6ce6f91757d77e9","unresolved":false,"context_lines":[{"line_number":168,"context_line":"References"},{"line_number":169,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":".. [1] `ceilometer l3-cache-meter spec \u003chttps://blueprints.launchpad.net/ceilometer/+spec/l3-cache-meter/\u003e`_"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"History"},{"line_number":174,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_abaab282","line":171,"updated":"2016-06-01 15:54:44.000000000","message":"What is the outlook on getting this approved?","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":9581,"name":"Ren Qiaowei","email":"qiaowei.ren@intel.com","username":"qiaowei"},"change_message_id":"804ee18c1a7764ff9eeb38fe5af7bda73a2c5bfa","unresolved":false,"context_lines":[{"line_number":168,"context_line":"References"},{"line_number":169,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":".. [1] `ceilometer l3-cache-meter spec \u003chttps://blueprints.launchpad.net/ceilometer/+spec/l3-cache-meter/\u003e`_"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"History"},{"line_number":174,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_b44f9890","line":171,"in_reply_to":"9abb7d3a_abaab282","updated":"2016-06-02 02:01:36.000000000","message":"Ceilometer said that we can directly upstream code \"feel free to just start contributing code\".","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7965f050c5ad525bb29a2d3b90fe2e9f2f65914b","unresolved":false,"context_lines":[{"line_number":168,"context_line":"References"},{"line_number":169,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":".. [1] `ceilometer l3-cache-meter spec \u003chttps://blueprints.launchpad.net/ceilometer/+spec/l3-cache-meter/\u003e`_"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"History"},{"line_number":174,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9abb7d3a_946ceb37","line":171,"in_reply_to":"9abb7d3a_b44f9890","updated":"2016-06-02 15:47:51.000000000","message":"OK, I\u0027m not really sure what that means, maybe they just don\u0027t have a strict process around specs and blueprints. POC code is always fine.\n\nAnyway, technically you could still consume this from libvirt without ceilometer, the key piece is getting the flag set in the libvirt domain xml that nova creates.","commit_id":"d77563a83b21949b2dd57ec7e2138a3a73233546"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e884e06a23d5cbd6ab4a7caa840e26d2de6f7a9a","unresolved":false,"context_lines":[{"line_number":160,"context_line":"Documentation Impact"},{"line_number":161,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"* Add explaination of new added libvirt configuration."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"References"},{"line_number":166,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"9abb7d3a_6b5b652f","line":163,"range":{"start_line":163,"start_character":6,"end_line":163,"end_character":18},"updated":"2016-06-02 16:07:25.000000000","message":"explanation","commit_id":"99e4ec65235eaa2cd9e93355e255e1d62e5373bf"}]}
