)]}'
{"doc/source/deploy/metrics.rst":[{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"d2c04c431a584a97bcbb17d2c6842f365e72072c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Emitting Software Metrics"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Overview"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":"Ironic supports emitting software metrics to statds. This allows operators\u0027"},{"line_number":10,"context_line":"to graph and understand performance bottlenecks in their system."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_f9e57bdc","line":7,"updated":"2016-08-18 18:56:13.000000000","message":"this header seems unnecessary - just leave this paragraph bare","commit_id":"2cc4c0b8669594c9a09c3542754e2333059b30e4"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"d2c04c431a584a97bcbb17d2c6842f365e72072c","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Ironic supports emitting software metrics to statds. This allows operators\u0027"},{"line_number":10,"context_line":"to graph and understand performance bottlenecks in their system."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Prerequisites"},{"line_number":13,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":14,"context_line":"This guide assumes you have a statsd server setup. For information on using"},{"line_number":15,"context_line":"and configuring statsd, please see the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_d9ea3fac","line":12,"updated":"2016-08-18 18:56:13.000000000","message":"this header and section also seem unnessesary once rendered, given the minimal content I would just combine these under the title.","commit_id":"2cc4c0b8669594c9a09c3542754e2333059b30e4"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"d2c04c431a584a97bcbb17d2c6842f365e72072c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"and configuring statsd, please see the"},{"line_number":16,"context_line":"`statsd \u003chttps://github.com/etsy/statsd\u003e`_ readme and documentation."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Configuration"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":"Metrics can be emitted from both ironic and ironic-python-agent. By default,"},{"line_number":21,"context_line":"neither project will emit metrics."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_39d0b3f7","line":18,"updated":"2016-08-18 18:56:13.000000000","message":"this is an L2 heading, but repeated at L4 twice below.","commit_id":"2cc4c0b8669594c9a09c3542754e2333059b30e4"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"10ab7193bbda7ce9ae7ff7829940a13f494d1cfc","unresolved":false,"context_lines":[{"line_number":66,"context_line":"  agent_backend \u003d statsd"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"In order to reliably emit metrics from the ironic-python-agent, you must"},{"line_number":69,"context_line":"provide a statsd server that is reachable from both the configure provisioning"},{"line_number":70,"context_line":"and cleaning networks. The agent statsd host and port are configured here::"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"  [metrics_statsd]"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_b9866314","line":69,"updated":"2016-08-18 18:55:43.000000000","message":"s/configure/configured/","commit_id":"2cc4c0b8669594c9a09c3542754e2333059b30e4"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"10ab7193bbda7ce9ae7ff7829940a13f494d1cfc","unresolved":false,"context_lines":[{"line_number":78,"context_line":"Ironic python agent currently emits timing metrics for every API method."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Deployers who use custom HardwareManagers can emit custom metrics for their"},{"line_number":81,"context_line":"hardware. For more information on custom HardwareManager, and emitting metrics"},{"line_number":82,"context_line":"from them, please see the"},{"line_number":83,"context_line":"`ironic-python-agent documentation \u003chttp://docs.openstack.org/developer/ironic-python-agent/\u003e`_."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_d99cff5f","line":81,"updated":"2016-08-18 18:55:43.000000000","message":"on building a custom HardwareManager","commit_id":"2cc4c0b8669594c9a09c3542754e2333059b30e4"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"a0c8ea26035fffe91490b93c309f379f796e3f85","unresolved":false,"context_lines":[{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Beginning with the Newton (6.1.0) release, the ironic services support emitting"},{"line_number":8,"context_line":"internal timing data to `statds \u003chttps://github.com/etsy/statsd\u003e`_.  This"},{"line_number":9,"context_line":"allows operators\u0027 to graph and understand performance bottlenecks in their"},{"line_number":10,"context_line":"system."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3ac371cc_c148858d","line":8,"updated":"2016-08-18 20:10:20.000000000","message":"s/statds/statsd/\n\nI also don\u0027t like limiting this to \"timing data\". Today that\u0027s all we emit by default, but we can emit gauges and counters as well (and likely should utilize that more, especially in drivers and periodic tasks). I go into detail about the different types of metrics in the ironic-lib document I proposed.","commit_id":"7150affed2c8875f118070790db92c274a3e999e"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"fb627fae75e1ceb504e0ec7cfaa0275e3d76b1cf","unresolved":false,"context_lines":[{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Beginning with the Newton (6.1.0) release, the ironic services support emitting"},{"line_number":8,"context_line":"internal timing data to `statds \u003chttps://github.com/etsy/statsd\u003e`_.  This"},{"line_number":9,"context_line":"allows operators\u0027 to graph and understand performance bottlenecks in their"},{"line_number":10,"context_line":"system."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3ac371cc_a41bd77f","line":8,"in_reply_to":"3ac371cc_c148858d","updated":"2016-08-18 20:33:35.000000000","message":"Done","commit_id":"7150affed2c8875f118070790db92c274a3e999e"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"a0c8ea26035fffe91490b93c309f379f796e3f85","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Beginning with the Newton (6.1.0) release, the ironic services support emitting"},{"line_number":8,"context_line":"internal timing data to `statds \u003chttps://github.com/etsy/statsd\u003e`_.  This"},{"line_number":9,"context_line":"allows operators\u0027 to graph and understand performance bottlenecks in their"},{"line_number":10,"context_line":"system."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This guide assumes you have a statsd server setup. For information on using and"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3ac371cc_e1478175","line":9,"updated":"2016-08-18 20:10:20.000000000","message":"s/\\\u0027//","commit_id":"7150affed2c8875f118070790db92c274a3e999e"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"fb627fae75e1ceb504e0ec7cfaa0275e3d76b1cf","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Beginning with the Newton (6.1.0) release, the ironic services support emitting"},{"line_number":8,"context_line":"internal timing data to `statds \u003chttps://github.com/etsy/statsd\u003e`_.  This"},{"line_number":9,"context_line":"allows operators\u0027 to graph and understand performance bottlenecks in their"},{"line_number":10,"context_line":"system."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This guide assumes you have a statsd server setup. For information on using and"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3ac371cc_c416d357","line":9,"in_reply_to":"3ac371cc_e1478175","updated":"2016-08-18 20:33:35.000000000","message":"Done","commit_id":"7150affed2c8875f118070790db92c274a3e999e"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"a0c8ea26035fffe91490b93c309f379f796e3f85","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Configuring ironic-python-agent"},{"line_number":43,"context_line":"-------------------------------"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The ironic-python-agent process receives its configuration when it connects to the ironic-api service."},{"line_number":46,"context_line":"To configure ironic-python-agent to emit metrics to statsd as well, enable the agent metrics backend by"},{"line_number":47,"context_line":"adding this to ``/etc/ironic/ironic.conf`` on all your ironic-conductor hosts::"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3ac371cc_a402b707","line":45,"updated":"2016-08-18 20:10:20.000000000","message":"nit: here and #46, lines should be wrapped at \u003c80char","commit_id":"7150affed2c8875f118070790db92c274a3e999e"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"fb627fae75e1ceb504e0ec7cfaa0275e3d76b1cf","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Configuring ironic-python-agent"},{"line_number":43,"context_line":"-------------------------------"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The ironic-python-agent process receives its configuration when it connects to the ironic-api service."},{"line_number":46,"context_line":"To configure ironic-python-agent to emit metrics to statsd as well, enable the agent metrics backend by"},{"line_number":47,"context_line":"adding this to ``/etc/ironic/ironic.conf`` on all your ironic-conductor hosts::"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3ac371cc_642b9f95","line":45,"in_reply_to":"3ac371cc_a402b707","updated":"2016-08-18 20:33:35.000000000","message":"Done","commit_id":"7150affed2c8875f118070790db92c274a3e999e"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"a0c8ea26035fffe91490b93c309f379f796e3f85","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"In order to reliably emit metrics from the ironic-python-agent, you must"},{"line_number":53,"context_line":"provide a statsd server that is reachable from both the configured provisioning"},{"line_number":54,"context_line":"and cleaning networks. The agent statsd host and port are configured here::"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  [metrics_statsd]"},{"line_number":57,"context_line":"  # Point this at a statsd host reachable from the provisioning and cleaning nets"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3ac371cc_6419df79","line":54,"updated":"2016-08-18 20:10:20.000000000","message":"s/host and port/connection information/","commit_id":"7150affed2c8875f118070790db92c274a3e999e"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"fb627fae75e1ceb504e0ec7cfaa0275e3d76b1cf","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"In order to reliably emit metrics from the ironic-python-agent, you must"},{"line_number":53,"context_line":"provide a statsd server that is reachable from both the configured provisioning"},{"line_number":54,"context_line":"and cleaning networks. The agent statsd host and port are configured here::"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  [metrics_statsd]"},{"line_number":57,"context_line":"  # Point this at a statsd host reachable from the provisioning and cleaning nets"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3ac371cc_842e9ba3","line":54,"in_reply_to":"3ac371cc_6419df79","updated":"2016-08-18 20:33:35.000000000","message":"Done","commit_id":"7150affed2c8875f118070790db92c274a3e999e"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"ff6646647126f1add2a1f0424592527d5398a2e4","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"To configure the ironic-api and ironic-conductor services to emit metrics to"},{"line_number":27,"context_line":"statsd, enable the metrics backend by adding this to"},{"line_number":28,"context_line":"``/etc/ironic/ironic.conf``::"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"  [metrics]"},{"line_number":31,"context_line":"  backend \u003d statsd"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa7ab95a_9280dd8c","line":28,"range":{"start_line":28,"start_character":2,"end_line":28,"end_character":25},"updated":"2016-08-30 17:56:09.000000000","message":"ironic.conf may not be on the default path. I\u0027d recommend to mention it as \"the ironic configuration file\".","commit_id":"f8276562d06569f154205d69322b421e911fc1f5"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"31e4f747f0a8644fe3248952de5d97795cd6fb9a","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"To configure the ironic-api and ironic-conductor services to emit metrics to"},{"line_number":27,"context_line":"statsd, enable the metrics backend by adding this to"},{"line_number":28,"context_line":"``/etc/ironic/ironic.conf``::"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"  [metrics]"},{"line_number":31,"context_line":"  backend \u003d statsd"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa7ab95a_c5a36ffe","line":28,"range":{"start_line":28,"start_character":2,"end_line":28,"end_character":25},"in_reply_to":"fa7ab95a_9280dd8c","updated":"2016-08-30 21:52:53.000000000","message":"Done","commit_id":"f8276562d06569f154205d69322b421e911fc1f5"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"ff6646647126f1add2a1f0424592527d5398a2e4","unresolved":false,"context_lines":[{"line_number":33,"context_line":"If a statsd daemon is installed and configured alongside every ironic service,"},{"line_number":34,"context_line":"listening on the default UDP port (8125), no further configuration is needed."},{"line_number":35,"context_line":"If you are using a remote statsd server, you must also supply connection"},{"line_number":36,"context_line":"information in ``/etc/ironic/ironic.conf``::"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"  [metrics_statsd]"},{"line_number":39,"context_line":"  # Point this at your environments\u0027 statsd host"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa7ab95a_b414ee9f","line":36,"range":{"start_line":36,"start_character":17,"end_line":36,"end_character":40},"updated":"2016-08-30 17:56:09.000000000","message":"ditto","commit_id":"f8276562d06569f154205d69322b421e911fc1f5"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"31e4f747f0a8644fe3248952de5d97795cd6fb9a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"If a statsd daemon is installed and configured alongside every ironic service,"},{"line_number":34,"context_line":"listening on the default UDP port (8125), no further configuration is needed."},{"line_number":35,"context_line":"If you are using a remote statsd server, you must also supply connection"},{"line_number":36,"context_line":"information in ``/etc/ironic/ironic.conf``::"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"  [metrics_statsd]"},{"line_number":39,"context_line":"  # Point this at your environments\u0027 statsd host"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa7ab95a_e5a6b30d","line":36,"range":{"start_line":36,"start_character":17,"end_line":36,"end_character":40},"in_reply_to":"fa7ab95a_b414ee9f","updated":"2016-08-30 21:52:53.000000000","message":"Done","commit_id":"f8276562d06569f154205d69322b421e911fc1f5"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"ff6646647126f1add2a1f0424592527d5398a2e4","unresolved":false,"context_lines":[{"line_number":47,"context_line":"The ironic-python-agent process receives its configuration when it connects to"},{"line_number":48,"context_line":"the ironic-api service. To configure ironic-python-agent to emit metrics to"},{"line_number":49,"context_line":"statsd as well, enable the agent metrics backend by adding this to"},{"line_number":50,"context_line":"``/etc/ironic/ironic.conf`` on all your ironic-conductor hosts::"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  [metrics]"},{"line_number":53,"context_line":"  agent_backend \u003d statsd"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa7ab95a_d417b2a0","line":50,"range":{"start_line":50,"start_character":2,"end_line":50,"end_character":25},"updated":"2016-08-30 17:56:09.000000000","message":"ditto","commit_id":"f8276562d06569f154205d69322b421e911fc1f5"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"ff6646647126f1add2a1f0424592527d5398a2e4","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"In order to reliably emit metrics from the ironic-python-agent, you must"},{"line_number":56,"context_line":"provide a statsd server that is reachable from both the configured provisioning"},{"line_number":57,"context_line":"and cleaning networks. The agent statsd connection information is configured"},{"line_number":58,"context_line":"here::"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  [metrics_statsd]"},{"line_number":61,"context_line":"  # Point this at a statsd host reachable from the provisioning and cleaning nets"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa7ab95a_32a1d146","line":58,"range":{"start_line":57,"start_character":23,"end_line":58,"end_character":6},"updated":"2016-08-30 17:56:09.000000000","message":"is this in the ironic.conf too?","commit_id":"f8276562d06569f154205d69322b421e911fc1f5"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"31e4f747f0a8644fe3248952de5d97795cd6fb9a","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"In order to reliably emit metrics from the ironic-python-agent, you must"},{"line_number":56,"context_line":"provide a statsd server that is reachable from both the configured provisioning"},{"line_number":57,"context_line":"and cleaning networks. The agent statsd connection information is configured"},{"line_number":58,"context_line":"here::"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  [metrics_statsd]"},{"line_number":61,"context_line":"  # Point this at a statsd host reachable from the provisioning and cleaning nets"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa7ab95a_05b2b74b","line":58,"range":{"start_line":57,"start_character":23,"end_line":58,"end_character":6},"in_reply_to":"fa7ab95a_32a1d146","updated":"2016-08-30 21:52:53.000000000","message":"Done","commit_id":"f8276562d06569f154205d69322b421e911fc1f5"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"ff6646647126f1add2a1f0424592527d5398a2e4","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Metrics Emitted"},{"line_number":67,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Ironic is currently emitting timing metrics for every API method, as well as"},{"line_number":70,"context_line":"for most driver methods. The typical environment should expect between 100 and"},{"line_number":71,"context_line":"500 distinct metrics from ironic, depending on how many drivers are in use."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa7ab95a_94f60a5b","line":69,"range":{"start_line":69,"start_character":29,"end_line":69,"end_character":43},"updated":"2016-08-30 17:56:09.000000000","message":"Like how much time each API method has taken to execute? Not very clear what I should expect...","commit_id":"f8276562d06569f154205d69322b421e911fc1f5"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"31e4f747f0a8644fe3248952de5d97795cd6fb9a","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Metrics Emitted"},{"line_number":67,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Ironic is currently emitting timing metrics for every API method, as well as"},{"line_number":70,"context_line":"for most driver methods. The typical environment should expect between 100 and"},{"line_number":71,"context_line":"500 distinct metrics from ironic, depending on how many drivers are in use."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa7ab95a_25941b89","line":69,"range":{"start_line":69,"start_character":29,"end_line":69,"end_character":43},"in_reply_to":"fa7ab95a_94f60a5b","updated":"2016-08-30 21:52:53.000000000","message":"Done","commit_id":"f8276562d06569f154205d69322b421e911fc1f5"},{"author":{"_account_id":10697,"name":"Thiago Paiva Brito","email":"thiagop@lsd.ufcg.edu.br","username":"thiagop","inactive":true},"change_message_id":"ff6646647126f1add2a1f0424592527d5398a2e4","unresolved":false,"context_lines":[{"line_number":92,"context_line":"the metrics library."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. TODO::"},{"line_number":95,"context_line":"  Link to ironic-lib developer documentation once it\u0027s published."}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa7ab95a_744d06c3","line":95,"range":{"start_line":95,"start_character":2,"end_line":95,"end_character":65},"updated":"2016-08-30 17:56:09.000000000","message":"yeah...","commit_id":"f8276562d06569f154205d69322b421e911fc1f5"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"31e4f747f0a8644fe3248952de5d97795cd6fb9a","unresolved":false,"context_lines":[{"line_number":92,"context_line":"the metrics library."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. TODO::"},{"line_number":95,"context_line":"  Link to ironic-lib developer documentation once it\u0027s published."}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa7ab95a_97b36c4c","line":95,"range":{"start_line":95,"start_character":2,"end_line":95,"end_character":65},"in_reply_to":"fa7ab95a_744d06c3","updated":"2016-08-30 21:52:53.000000000","message":"It hasn\u0027t merged yet. I\u0027m OK with this todo merging, and I\u0027ll add the link once the ironic-lib dev docs are publishing.","commit_id":"f8276562d06569f154205d69322b421e911fc1f5"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f15d458bb4b1d58364bab25dd5cefa50107dceca","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This guide assumes you have a statsd server setup. For information on using"},{"line_number":13,"context_line":"and configuring statsd, please see the"},{"line_number":14,"context_line":"`statsd \u003chttps://github.com/etsy/statsd\u003e`_ readme and documentation."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"These performance measurements, here referred to as \"metrics\", can be emitted"},{"line_number":17,"context_line":"from both ironic and ironic-python-agent. By default, neither project will"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_855bfd2d","line":14,"updated":"2016-08-31 13:48:19.000000000","message":"s/readme/README/","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"85bd492b7048afa6dcd5e9ca1507d5d97f654fd8","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This guide assumes you have a statsd server setup. For information on using"},{"line_number":13,"context_line":"and configuring statsd, please see the"},{"line_number":14,"context_line":"`statsd \u003chttps://github.com/etsy/statsd\u003e`_ readme and documentation."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"These performance measurements, here referred to as \"metrics\", can be emitted"},{"line_number":17,"context_line":"from both ironic and ironic-python-agent. By default, neither project will"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_0a76833d","line":14,"in_reply_to":"fa7ab95a_855bfd2d","updated":"2016-09-07 21:01:23.000000000","message":"Done","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f15d458bb4b1d58364bab25dd5cefa50107dceca","unresolved":false,"context_lines":[{"line_number":13,"context_line":"and configuring statsd, please see the"},{"line_number":14,"context_line":"`statsd \u003chttps://github.com/etsy/statsd\u003e`_ readme and documentation."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"These performance measurements, here referred to as \"metrics\", can be emitted"},{"line_number":17,"context_line":"from both ironic and ironic-python-agent. By default, neither project will"},{"line_number":18,"context_line":"emit metrics."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_a5956189","line":16,"updated":"2016-08-31 13:48:19.000000000","message":"maybe s/here/herein/","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"85bd492b7048afa6dcd5e9ca1507d5d97f654fd8","unresolved":false,"context_lines":[{"line_number":13,"context_line":"and configuring statsd, please see the"},{"line_number":14,"context_line":"`statsd \u003chttps://github.com/etsy/statsd\u003e`_ readme and documentation."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"These performance measurements, here referred to as \"metrics\", can be emitted"},{"line_number":17,"context_line":"from both ironic and ironic-python-agent. By default, neither project will"},{"line_number":18,"context_line":"emit metrics."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_ca7f3b13","line":16,"in_reply_to":"fa7ab95a_a5956189","updated":"2016-09-07 21:01:23.000000000","message":"Done","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"043307a3c6f56414c5efb3829cd619ff70bee0f3","unresolved":false,"context_lines":[{"line_number":14,"context_line":"`statsd \u003chttps://github.com/etsy/statsd\u003e`_ readme and documentation."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"These performance measurements, here referred to as \"metrics\", can be emitted"},{"line_number":17,"context_line":"from both ironic and ironic-python-agent. By default, neither project will"},{"line_number":18,"context_line":"emit metrics."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Configuration"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_c656e005","line":17,"updated":"2016-08-31 16:15:05.000000000","message":"In most of the docs, it is referred to as \"the Bare Metal service\" or just \"ironic\", but not the \"ironic service\"","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f15d458bb4b1d58364bab25dd5cefa50107dceca","unresolved":false,"context_lines":[{"line_number":14,"context_line":"`statsd \u003chttps://github.com/etsy/statsd\u003e`_ readme and documentation."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"These performance measurements, here referred to as \"metrics\", can be emitted"},{"line_number":17,"context_line":"from both ironic and ironic-python-agent. By default, neither project will"},{"line_number":18,"context_line":"emit metrics."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Configuration"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_c5d98585","line":17,"updated":"2016-08-31 13:48:19.000000000","message":"s/ironic/ironic services/\n\nmaybe s/ironic-python-agent/ironic-python-agent ramdisk/ ? IPA service?\n\ns/neither project/none of the services/","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f678eea2764154be9d8be22313601bfc05ef39bc","unresolved":false,"context_lines":[{"line_number":14,"context_line":"`statsd \u003chttps://github.com/etsy/statsd\u003e`_ readme and documentation."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"These performance measurements, here referred to as \"metrics\", can be emitted"},{"line_number":17,"context_line":"from both ironic and ironic-python-agent. By default, neither project will"},{"line_number":18,"context_line":"emit metrics."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Configuration"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_af2233a1","line":17,"in_reply_to":"fa7ab95a_c656e005","updated":"2016-09-02 01:01:26.000000000","message":"Yes, I was going to suggest the Bare Metal service but I think I am tired of doing so. There is reference to ironic-api and ironic-conductor services and IPA so I just left it as ironic services. But yeah, \u0027the Bare Metal service\u0027 is the official wording.","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"043307a3c6f56414c5efb3829cd619ff70bee0f3","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Configuration"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Configuring ironic"},{"line_number":24,"context_line":"------------------"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"To configure the ironic-api and ironic-conductor services to emit metrics to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_e65be42c","line":23,"updated":"2016-08-31 16:15:05.000000000","message":"ditto. \"Configuring the Bare Metal service\" or \"Configuration to Enable Metrics in the Bare Metal Service\"","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f15d458bb4b1d58364bab25dd5cefa50107dceca","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Configuration"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Configuring ironic"},{"line_number":24,"context_line":"------------------"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"To configure the ironic-api and ironic-conductor services to emit metrics to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_a5e64114","line":23,"updated":"2016-08-31 13:48:19.000000000","message":"s/ironic/ironic services/","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"85bd492b7048afa6dcd5e9ca1507d5d97f654fd8","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Configuration"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Configuring ironic"},{"line_number":24,"context_line":"------------------"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"To configure the ironic-api and ironic-conductor services to emit metrics to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_4a8b2b1f","line":23,"in_reply_to":"fa7ab95a_af7073a5","updated":"2016-09-07 21:01:23.000000000","message":"Done","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f678eea2764154be9d8be22313601bfc05ef39bc","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Configuration"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Configuring ironic"},{"line_number":24,"context_line":"------------------"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"To configure the ironic-api and ironic-conductor services to emit metrics to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_af7073a5","line":23,"in_reply_to":"fa7ab95a_e65be42c","updated":"2016-09-02 01:01:26.000000000","message":"Maybe line 20 could be s/Configuration/Configuration to Enable Metrics/\n\nand this could be \u0027Enabling Metrics in the Bare Metal Service\u0027. Or what Deva suggested.","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f15d458bb4b1d58364bab25dd5cefa50107dceca","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  [metrics]"},{"line_number":31,"context_line":"  backend \u003d statsd"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"If a statsd daemon is installed and configured alongside every ironic service,"},{"line_number":34,"context_line":"listening on the default UDP port (8125), no further configuration is needed."},{"line_number":35,"context_line":"If you are using a remote statsd server, you must also supply connection"},{"line_number":36,"context_line":"information in your ironic configuration file::"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_e59e8962","line":33,"updated":"2016-08-31 13:48:19.000000000","message":"does \u0027alongside\u0027 \u003d\u003d locally? (I think that\u0027s what you mean, right?)","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"043307a3c6f56414c5efb3829cd619ff70bee0f3","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  [metrics]"},{"line_number":31,"context_line":"  backend \u003d statsd"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"If a statsd daemon is installed and configured alongside every ironic service,"},{"line_number":34,"context_line":"listening on the default UDP port (8125), no further configuration is needed."},{"line_number":35,"context_line":"If you are using a remote statsd server, you must also supply connection"},{"line_number":36,"context_line":"information in your ironic configuration file::"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_0641a839","line":33,"updated":"2016-08-31 16:15:05.000000000","message":"s/alongside/on the same host as/  ?","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"085a9f076e7616bcef1eac14c831c97b653f7bdd","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  [metrics]"},{"line_number":31,"context_line":"  backend \u003d statsd"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"If a statsd daemon is installed and configured alongside every ironic service,"},{"line_number":34,"context_line":"listening on the default UDP port (8125), no further configuration is needed."},{"line_number":35,"context_line":"If you are using a remote statsd server, you must also supply connection"},{"line_number":36,"context_line":"information in your ironic configuration file::"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_5c006b66","line":33,"in_reply_to":"fa7ab95a_0641a839","updated":"2016-09-02 12:58:07.000000000","message":"+1 deva\u0027s suggestion here, it\u0027s clearer","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"85bd492b7048afa6dcd5e9ca1507d5d97f654fd8","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  [metrics]"},{"line_number":31,"context_line":"  backend \u003d statsd"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"If a statsd daemon is installed and configured alongside every ironic service,"},{"line_number":34,"context_line":"listening on the default UDP port (8125), no further configuration is needed."},{"line_number":35,"context_line":"If you are using a remote statsd server, you must also supply connection"},{"line_number":36,"context_line":"information in your ironic configuration file::"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_eaccff8a","line":33,"in_reply_to":"fa7ab95a_5c006b66","updated":"2016-09-07 21:01:23.000000000","message":"Done","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f15d458bb4b1d58364bab25dd5cefa50107dceca","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The ironic-python-agent process receives its configuration when it connects to"},{"line_number":48,"context_line":"the ironic-api service. To configure ironic-python-agent to emit metrics to"},{"line_number":49,"context_line":"statsd as well, enable the agent metrics backend by adding this to your ironic"},{"line_number":50,"context_line":"configuration file on all your ironic-conductor hosts::"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  [metrics]"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_05c1ad2e","line":49,"updated":"2016-08-31 13:48:19.000000000","message":"s/as well//\n\nCan you configure IPA to emit, and not have ironic emit?\n\nI think you can skip s/enable the agent metrics backend by adding/add/","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"043307a3c6f56414c5efb3829cd619ff70bee0f3","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The ironic-python-agent process receives its configuration when it connects to"},{"line_number":48,"context_line":"the ironic-api service. To configure ironic-python-agent to emit metrics to"},{"line_number":49,"context_line":"statsd as well, enable the agent metrics backend by adding this to your ironic"},{"line_number":50,"context_line":"configuration file on all your ironic-conductor hosts::"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  [metrics]"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_263eacb8","line":49,"updated":"2016-08-31 16:15:05.000000000","message":"yes","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f15d458bb4b1d58364bab25dd5cefa50107dceca","unresolved":false,"context_lines":[{"line_number":47,"context_line":"The ironic-python-agent process receives its configuration when it connects to"},{"line_number":48,"context_line":"the ironic-api service. To configure ironic-python-agent to emit metrics to"},{"line_number":49,"context_line":"statsd as well, enable the agent metrics backend by adding this to your ironic"},{"line_number":50,"context_line":"configuration file on all your ironic-conductor hosts::"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  [metrics]"},{"line_number":53,"context_line":"  agent_backend \u003d statsd"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_a56c8137","line":50,"updated":"2016-08-31 13:48:19.000000000","message":"If IPA gets it config stuff via ironic-ipa, why does the config stuff have to be in ironic-conductor configs? (Which also means it depends on that particular conductor\u0027s configs).","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"043307a3c6f56414c5efb3829cd619ff70bee0f3","unresolved":false,"context_lines":[{"line_number":47,"context_line":"The ironic-python-agent process receives its configuration when it connects to"},{"line_number":48,"context_line":"the ironic-api service. To configure ironic-python-agent to emit metrics to"},{"line_number":49,"context_line":"statsd as well, enable the agent metrics backend by adding this to your ironic"},{"line_number":50,"context_line":"configuration file on all your ironic-conductor hosts::"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  [metrics]"},{"line_number":53,"context_line":"  agent_backend \u003d statsd"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_464bb059","line":50,"updated":"2016-08-31 16:15:05.000000000","message":"it is passed back from the conductor. and yes, it depends on conductor configs, and if they\u0027re not the same on all conductors ... recipe for bad. but that\u0027s how many things are. it\u0027s up to operator to manage the configs properly.","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"85bd492b7048afa6dcd5e9ca1507d5d97f654fd8","unresolved":false,"context_lines":[{"line_number":47,"context_line":"The ironic-python-agent process receives its configuration when it connects to"},{"line_number":48,"context_line":"the ironic-api service. To configure ironic-python-agent to emit metrics to"},{"line_number":49,"context_line":"statsd as well, enable the agent metrics backend by adding this to your ironic"},{"line_number":50,"context_line":"configuration file on all your ironic-conductor hosts::"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"  [metrics]"},{"line_number":53,"context_line":"  agent_backend \u003d statsd"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_4a3a4b9a","line":50,"in_reply_to":"fa7ab95a_464bb059","updated":"2016-09-07 21:01:23.000000000","message":"I think I cleaned up the language around this, lmk what you think.","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"043307a3c6f56414c5efb3829cd619ff70bee0f3","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Metrics Emitted"},{"line_number":67,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Ironic is currently emitting timing metrics for every API method, as well as"},{"line_number":70,"context_line":"for most driver methods. These metrics measure how long a given method takes"},{"line_number":71,"context_line":"to execute. The typical environment should expect between 100 and 500 distinct"},{"line_number":72,"context_line":"metrics from ironic, depending on how many drivers are in use."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_6648b45c","line":69,"updated":"2016-08-31 16:15:05.000000000","message":"@ruby - again, we should refer to \"ironic\" (lower case) or \"the Bare Metal service\" or \"the ironic-api / ironic-conductor service\" but not \"Ironic services\"","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f15d458bb4b1d58364bab25dd5cefa50107dceca","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Metrics Emitted"},{"line_number":67,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Ironic is currently emitting timing metrics for every API method, as well as"},{"line_number":70,"context_line":"for most driver methods. These metrics measure how long a given method takes"},{"line_number":71,"context_line":"to execute. The typical environment should expect between 100 and 500 distinct"},{"line_number":72,"context_line":"metrics from ironic, depending on how many drivers are in use."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_a8dc5875","line":69,"updated":"2016-08-31 13:48:19.000000000","message":"s/Ironic is currently/The ironic services are/","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f678eea2764154be9d8be22313601bfc05ef39bc","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Metrics Emitted"},{"line_number":67,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Ironic is currently emitting timing metrics for every API method, as well as"},{"line_number":70,"context_line":"for most driver methods. These metrics measure how long a given method takes"},{"line_number":71,"context_line":"to execute. The typical environment should expect between 100 and 500 distinct"},{"line_number":72,"context_line":"metrics from ironic, depending on how many drivers are in use."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_cfb05746","line":69,"in_reply_to":"fa7ab95a_6648b45c","updated":"2016-09-02 01:01:26.000000000","message":"@Deva. Yup!","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f15d458bb4b1d58364bab25dd5cefa50107dceca","unresolved":false,"context_lines":[{"line_number":69,"context_line":"Ironic is currently emitting timing metrics for every API method, as well as"},{"line_number":70,"context_line":"for most driver methods. These metrics measure how long a given method takes"},{"line_number":71,"context_line":"to execute. The typical environment should expect between 100 and 500 distinct"},{"line_number":72,"context_line":"metrics from ironic, depending on how many drivers are in use."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":".. note::"},{"line_number":75,"context_line":"  With the default statsd configuration, each timing metric may create"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_483bcc9c","line":72,"updated":"2016-08-31 13:48:19.000000000","message":"what is a \u0027distinct\u0027 metric?","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"85bd492b7048afa6dcd5e9ca1507d5d97f654fd8","unresolved":false,"context_lines":[{"line_number":69,"context_line":"Ironic is currently emitting timing metrics for every API method, as well as"},{"line_number":70,"context_line":"for most driver methods. These metrics measure how long a given method takes"},{"line_number":71,"context_line":"to execute. The typical environment should expect between 100 and 500 distinct"},{"line_number":72,"context_line":"metrics from ironic, depending on how many drivers are in use."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":".. note::"},{"line_number":75,"context_line":"  With the default statsd configuration, each timing metric may create"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_0abe83fe","line":72,"in_reply_to":"fa7ab95a_483bcc9c","updated":"2016-09-07 21:01:23.000000000","message":"I think I cleaned up the language around this.","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f15d458bb4b1d58364bab25dd5cefa50107dceca","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  information, see statds documentation on"},{"line_number":78,"context_line":"  `metric types \u003chttps://github.com/etsy/statsd/blob/master/docs/metric_types.md#timing\u003e`_."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Ironic python agent currently emits timing metrics for every API method."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Deployers who use custom HardwareManagers can emit custom metrics for their"},{"line_number":83,"context_line":"hardware. For more information on custom HardwareManager, and emitting metrics"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_88af9493","line":80,"updated":"2016-08-31 13:48:19.000000000","message":"s/currently/ramdisk/","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"85bd492b7048afa6dcd5e9ca1507d5d97f654fd8","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  information, see statds documentation on"},{"line_number":78,"context_line":"  `metric types \u003chttps://github.com/etsy/statsd/blob/master/docs/metric_types.md#timing\u003e`_."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Ironic python agent currently emits timing metrics for every API method."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Deployers who use custom HardwareManagers can emit custom metrics for their"},{"line_number":83,"context_line":"hardware. For more information on custom HardwareManager, and emitting metrics"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_eadb1f7a","line":80,"in_reply_to":"fa7ab95a_88af9493","updated":"2016-09-07 21:01:23.000000000","message":"Done","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f15d458bb4b1d58364bab25dd5cefa50107dceca","unresolved":false,"context_lines":[{"line_number":80,"context_line":"Ironic python agent currently emits timing metrics for every API method."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Deployers who use custom HardwareManagers can emit custom metrics for their"},{"line_number":83,"context_line":"hardware. For more information on custom HardwareManager, and emitting metrics"},{"line_number":84,"context_line":"from them, please see the"},{"line_number":85,"context_line":"`ironic-python-agent documentation \u003chttp://docs.openstack.org/developer/ironic-python-agent/\u003e`_."},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_48082c92","line":83,"updated":"2016-08-31 13:48:19.000000000","message":"s/HardwareManager,/HardwareManagers/","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"85bd492b7048afa6dcd5e9ca1507d5d97f654fd8","unresolved":false,"context_lines":[{"line_number":80,"context_line":"Ironic python agent currently emits timing metrics for every API method."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Deployers who use custom HardwareManagers can emit custom metrics for their"},{"line_number":83,"context_line":"hardware. For more information on custom HardwareManager, and emitting metrics"},{"line_number":84,"context_line":"from them, please see the"},{"line_number":85,"context_line":"`ironic-python-agent documentation \u003chttp://docs.openstack.org/developer/ironic-python-agent/\u003e`_."},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_cae01b2c","line":83,"in_reply_to":"fa7ab95a_48082c92","updated":"2016-09-07 21:01:23.000000000","message":"Done","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f15d458bb4b1d58364bab25dd5cefa50107dceca","unresolved":false,"context_lines":[{"line_number":85,"context_line":"`ironic-python-agent documentation \u003chttp://docs.openstack.org/developer/ironic-python-agent/\u003e`_."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Adding New Netrics"},{"line_number":89,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"If you\u0027re a developer, and would like to add additional metrics to ironic,"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_680b307e","line":88,"updated":"2016-08-31 13:48:19.000000000","message":"s/Netrics/Metrics/","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"85bd492b7048afa6dcd5e9ca1507d5d97f654fd8","unresolved":false,"context_lines":[{"line_number":85,"context_line":"`ironic-python-agent documentation \u003chttp://docs.openstack.org/developer/ironic-python-agent/\u003e`_."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Adding New Netrics"},{"line_number":89,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"If you\u0027re a developer, and would like to add additional metrics to ironic,"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_aaf597ed","line":88,"in_reply_to":"fa7ab95a_680b307e","updated":"2016-09-07 21:01:23.000000000","message":"Done","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f15d458bb4b1d58364bab25dd5cefa50107dceca","unresolved":false,"context_lines":[{"line_number":89,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"If you\u0027re a developer, and would like to add additional metrics to ironic,"},{"line_number":92,"context_line":"please see the ironic-lib developer documentation for details on how to use"},{"line_number":93,"context_line":"the metrics library."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":".. TODO::"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_c8d7dcbd","line":92,"updated":"2016-08-31 13:48:19.000000000","message":"is there a link to this?\n\nI\u0027m not sure this belongs here, since it is about deploying/for operators,  but I guess it is fine for now.","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"043307a3c6f56414c5efb3829cd619ff70bee0f3","unresolved":false,"context_lines":[{"line_number":89,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"If you\u0027re a developer, and would like to add additional metrics to ironic,"},{"line_number":92,"context_line":"please see the ironic-lib developer documentation for details on how to use"},{"line_number":93,"context_line":"the metrics library."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":".. TODO::"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_8673f8b3","line":92,"updated":"2016-08-31 16:15:05.000000000","message":"this is the deploy guide, so I think it belongs here.","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"85bd492b7048afa6dcd5e9ca1507d5d97f654fd8","unresolved":false,"context_lines":[{"line_number":89,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"If you\u0027re a developer, and would like to add additional metrics to ironic,"},{"line_number":92,"context_line":"please see the ironic-lib developer documentation for details on how to use"},{"line_number":93,"context_line":"the metrics library."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":".. TODO::"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa7ab95a_537e11af","line":92,"in_reply_to":"fa7ab95a_8673f8b3","updated":"2016-09-07 21:01:23.000000000","message":"The ironic-lib docs aren\u0027t publishing yet. I\u0027ll link it here in a later patch once they\u0027ve published.","commit_id":"d61af2d5e35e87eed48a0c1c26a4f8c4c6e55e33"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"239220874ff5ddd0f96fdcd648ecc8b4ec0a1232","unresolved":false,"context_lines":[{"line_number":14,"context_line":"`statsd \u003chttps://github.com/etsy/statsd\u003e`_ README and documentation."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"These performance measurements, herein referred to as \"metrics\", can be"},{"line_number":17,"context_line":"emitted from the Bare Metal service, including ironic and ironic-python-agent."},{"line_number":18,"context_line":"By default, none of the services will emit metrics."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Configuring the Bare Metal Service to Enable Metrics"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_22125059","line":17,"updated":"2016-09-08 20:48:34.000000000","message":"I\u0027m just not sure about the wording. We tend to mention \u0027ironic\u0027 as \u0027ironic-api and ironic-conductor services\u0027. I don\u0027t know how we refer to ipa :)\n\nI suppose it is fine for now until someone can think of a better way to describe it. (Or just not mention the \u0027, including...\u0027 part.","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6c5548ddd61891fcb801a2f1c69983a28803787e","unresolved":false,"context_lines":[{"line_number":14,"context_line":"`statsd \u003chttps://github.com/etsy/statsd\u003e`_ README and documentation."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"These performance measurements, herein referred to as \"metrics\", can be"},{"line_number":17,"context_line":"emitted from the Bare Metal service, including ironic and ironic-python-agent."},{"line_number":18,"context_line":"By default, none of the services will emit metrics."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Configuring the Bare Metal Service to Enable Metrics"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_c577ee9d","line":17,"in_reply_to":"9a89bdaa_22125059","updated":"2016-09-08 21:09:23.000000000","message":"I want to specify so folks know, for instance, that bifrost and ironic-inspector do *not* emit metrics today. I think I made this better.","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"239220874ff5ddd0f96fdcd648ecc8b4ec0a1232","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Configuring the Bare Metal Service to Enable Metrics"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Enabling metrics in ironic"},{"line_number":24,"context_line":"--------------------------"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"To configure the ironic-api and ironic-conductor services to emit metrics to"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_223970d9","line":23,"updated":"2016-09-08 20:48:34.000000000","message":"s/ironic/ironic-api and ironic-conductor/","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6c5548ddd61891fcb801a2f1c69983a28803787e","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Configuring the Bare Metal Service to Enable Metrics"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Enabling metrics in ironic"},{"line_number":24,"context_line":"--------------------------"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"To configure the ironic-api and ironic-conductor services to emit metrics to"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_0572b6ad","line":23,"in_reply_to":"9a89bdaa_223970d9","updated":"2016-09-08 21:09:23.000000000","message":"Done","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"239220874ff5ddd0f96fdcd648ecc8b4ec0a1232","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"To configure the ironic-api and ironic-conductor services to emit metrics to"},{"line_number":27,"context_line":"statsd, enable the metrics backend by adding this to your ironic configuration"},{"line_number":28,"context_line":"file, usually located at ``/etc/ironic/ironic.conf``::"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"  [metrics]"},{"line_number":31,"context_line":"  backend \u003d statsd"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_62e61846","line":28,"updated":"2016-09-08 20:48:34.000000000","message":"This is awkwardly worded. How about\n\nThe ironic-api and ironic-conductor services can be configured to emit metrics to statsd, by adding the following to the configuration file (typically located at ``/etc/ironic/ironic.conf``)::","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6c5548ddd61891fcb801a2f1c69983a28803787e","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"To configure the ironic-api and ironic-conductor services to emit metrics to"},{"line_number":27,"context_line":"statsd, enable the metrics backend by adding this to your ironic configuration"},{"line_number":28,"context_line":"file, usually located at ``/etc/ironic/ironic.conf``::"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"  [metrics]"},{"line_number":31,"context_line":"  backend \u003d statsd"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_8516c6ef","line":28,"in_reply_to":"9a89bdaa_62e61846","updated":"2016-09-08 21:09:23.000000000","message":"Done","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"239220874ff5ddd0f96fdcd648ecc8b4ec0a1232","unresolved":false,"context_lines":[{"line_number":33,"context_line":"If a statsd daemon is installed and configured on every host running an ironic"},{"line_number":34,"context_line":"service, listening on the default UDP port (8125), no further configuration is"},{"line_number":35,"context_line":"needed. If you are using a remote statsd server, you must also supply"},{"line_number":36,"context_line":"connection information in your ironic configuration file::"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"  [metrics_statsd]"},{"line_number":39,"context_line":"  # Point this at your environments\u0027 statsd host"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_626b7886","line":36,"updated":"2016-09-08 20:48:34.000000000","message":"s/your ironic/the/\n\nthat\u0027s just a nit","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6c5548ddd61891fcb801a2f1c69983a28803787e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"If a statsd daemon is installed and configured on every host running an ironic"},{"line_number":34,"context_line":"service, listening on the default UDP port (8125), no further configuration is"},{"line_number":35,"context_line":"needed. If you are using a remote statsd server, you must also supply"},{"line_number":36,"context_line":"connection information in your ironic configuration file::"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"  [metrics_statsd]"},{"line_number":39,"context_line":"  # Point this at your environments\u0027 statsd host"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_05e1d6fe","line":36,"in_reply_to":"9a89bdaa_626b7886","updated":"2016-09-08 21:09:23.000000000","message":"I never know what person to write these documents in. :)","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"239220874ff5ddd0f96fdcd648ecc8b4ec0a1232","unresolved":false,"context_lines":[{"line_number":45,"context_line":"---------------------------------------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The ironic-python-agent process receives its configuration when it makes the"},{"line_number":48,"context_line":"lookup api call the ironic-api service. This means to configure"},{"line_number":49,"context_line":"ironic-python-agent to emit metrics, you must enable the agent metrics backend"},{"line_number":50,"context_line":"in your ironic configuration file on all your ironic-conductor hosts::"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_022aac2c","line":48,"updated":"2016-09-08 20:48:34.000000000","message":"s/api/API/\n\ns/call/call to/ ? Or maybe s/call/request to/\n\nOR\n\ns/when it makes the lookup api call/in the response from the lookup API request to/","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6c5548ddd61891fcb801a2f1c69983a28803787e","unresolved":false,"context_lines":[{"line_number":45,"context_line":"---------------------------------------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The ironic-python-agent process receives its configuration when it makes the"},{"line_number":48,"context_line":"lookup api call the ironic-api service. This means to configure"},{"line_number":49,"context_line":"ironic-python-agent to emit metrics, you must enable the agent metrics backend"},{"line_number":50,"context_line":"in your ironic configuration file on all your ironic-conductor hosts::"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_a59f4a64","line":48,"in_reply_to":"9a89bdaa_022aac2c","updated":"2016-09-08 21:09:23.000000000","message":"Done","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"239220874ff5ddd0f96fdcd648ecc8b4ec0a1232","unresolved":false,"context_lines":[{"line_number":55,"context_line":"In order to reliably emit metrics from the ironic-python-agent, you must"},{"line_number":56,"context_line":"provide a statsd server that is reachable from both the configured provisioning"},{"line_number":57,"context_line":"and cleaning networks. The agent statsd connection information is configured"},{"line_number":58,"context_line":"in your ironic configuration file as well, and will be sent to ironic-python-agent.::"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  [metrics_statsd]"},{"line_number":61,"context_line":"  # Point this at a statsd host reachable from the provisioning and cleaning nets"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_22d090f7","line":58,"updated":"2016-09-08 20:48:34.000000000","message":"I don\u0027t think the \u0027and will be sent to ipa\u0027 part is necessary. it is part of the response from the lookup request, right? Which is what you mentioned above.","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6c5548ddd61891fcb801a2f1c69983a28803787e","unresolved":false,"context_lines":[{"line_number":55,"context_line":"In order to reliably emit metrics from the ironic-python-agent, you must"},{"line_number":56,"context_line":"provide a statsd server that is reachable from both the configured provisioning"},{"line_number":57,"context_line":"and cleaning networks. The agent statsd connection information is configured"},{"line_number":58,"context_line":"in your ironic configuration file as well, and will be sent to ironic-python-agent.::"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  [metrics_statsd]"},{"line_number":61,"context_line":"  # Point this at a statsd host reachable from the provisioning and cleaning nets"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_e5979238","line":58,"in_reply_to":"9a89bdaa_22d090f7","updated":"2016-09-08 21:09:23.000000000","message":"Done","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"239220874ff5ddd0f96fdcd648ecc8b4ec0a1232","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Types of Metrics Emitted"},{"line_number":67,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"The Bare Metal service is currently emitting timing metrics for every API"},{"line_number":70,"context_line":"method, as well as for most driver methods. These metrics measure how long a"},{"line_number":71,"context_line":"given method takes to execute. The typical environment should expect between"},{"line_number":72,"context_line":"100 and 500 different metric data points from ironic, depending on how many"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_8245dcb4","line":69,"updated":"2016-09-08 20:48:34.000000000","message":"s/is currently emitting/emits/","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6c5548ddd61891fcb801a2f1c69983a28803787e","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Types of Metrics Emitted"},{"line_number":67,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"The Bare Metal service is currently emitting timing metrics for every API"},{"line_number":70,"context_line":"method, as well as for most driver methods. These metrics measure how long a"},{"line_number":71,"context_line":"given method takes to execute. The typical environment should expect between"},{"line_number":72,"context_line":"100 and 500 different metric data points from ironic, depending on how many"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_255dfa48","line":69,"in_reply_to":"9a89bdaa_8245dcb4","updated":"2016-09-08 21:09:23.000000000","message":"Done","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"239220874ff5ddd0f96fdcd648ecc8b4ec0a1232","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"The Bare Metal service is currently emitting timing metrics for every API"},{"line_number":70,"context_line":"method, as well as for most driver methods. These metrics measure how long a"},{"line_number":71,"context_line":"given method takes to execute. The typical environment should expect between"},{"line_number":72,"context_line":"100 and 500 different metric data points from ironic, depending on how many"},{"line_number":73,"context_line":"drivers are in use."},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_0210eca7","line":71,"updated":"2016-09-08 20:48:34.000000000","message":"s/The/A/","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6c5548ddd61891fcb801a2f1c69983a28803787e","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"The Bare Metal service is currently emitting timing metrics for every API"},{"line_number":70,"context_line":"method, as well as for most driver methods. These metrics measure how long a"},{"line_number":71,"context_line":"given method takes to execute. The typical environment should expect between"},{"line_number":72,"context_line":"100 and 500 different metric data points from ironic, depending on how many"},{"line_number":73,"context_line":"drivers are in use."},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_0548f686","line":71,"in_reply_to":"9a89bdaa_0210eca7","updated":"2016-09-08 21:09:23.000000000","message":"reworked so this is gone","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"239220874ff5ddd0f96fdcd648ecc8b4ec0a1232","unresolved":false,"context_lines":[{"line_number":69,"context_line":"The Bare Metal service is currently emitting timing metrics for every API"},{"line_number":70,"context_line":"method, as well as for most driver methods. These metrics measure how long a"},{"line_number":71,"context_line":"given method takes to execute. The typical environment should expect between"},{"line_number":72,"context_line":"100 and 500 different metric data points from ironic, depending on how many"},{"line_number":73,"context_line":"drivers are in use."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_c215249c","line":72,"updated":"2016-09-08 20:48:34.000000000","message":"s/ironic/the Bare Metal service/","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6c5548ddd61891fcb801a2f1c69983a28803787e","unresolved":false,"context_lines":[{"line_number":69,"context_line":"The Bare Metal service is currently emitting timing metrics for every API"},{"line_number":70,"context_line":"method, as well as for most driver methods. These metrics measure how long a"},{"line_number":71,"context_line":"given method takes to execute. The typical environment should expect between"},{"line_number":72,"context_line":"100 and 500 different metric data points from ironic, depending on how many"},{"line_number":73,"context_line":"drivers are in use."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_857de6b3","line":72,"in_reply_to":"9a89bdaa_c215249c","updated":"2016-09-08 21:09:23.000000000","message":"Done","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"239220874ff5ddd0f96fdcd648ecc8b4ec0a1232","unresolved":false,"context_lines":[{"line_number":70,"context_line":"method, as well as for most driver methods. These metrics measure how long a"},{"line_number":71,"context_line":"given method takes to execute. The typical environment should expect between"},{"line_number":72,"context_line":"100 and 500 different metric data points from ironic, depending on how many"},{"line_number":73,"context_line":"drivers are in use."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":".. note::"},{"line_number":76,"context_line":"  With the default statsd configuration, each timing metric may create"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_e2e6a8af","line":73,"updated":"2016-09-08 20:48:34.000000000","message":"by \u0027different metric points\u0027, you mean timing metrics from 100-500 different methods?","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6c5548ddd61891fcb801a2f1c69983a28803787e","unresolved":false,"context_lines":[{"line_number":70,"context_line":"method, as well as for most driver methods. These metrics measure how long a"},{"line_number":71,"context_line":"given method takes to execute. The typical environment should expect between"},{"line_number":72,"context_line":"100 and 500 different metric data points from ironic, depending on how many"},{"line_number":73,"context_line":"drivers are in use."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":".. note::"},{"line_number":76,"context_line":"  With the default statsd configuration, each timing metric may create"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_c52e0efa","line":73,"in_reply_to":"9a89bdaa_e2e6a8af","updated":"2016-09-08 21:09:23.000000000","message":"I\u0027m trying to indicate to an operator, who is trying to scale his backend cluster, that he can expect Ironic to add 100-500 metrics points to their backend. It\u0027s just a scaling indicator, but seems to be causing confusion. Lets see if this patch cleans it up.","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"239220874ff5ddd0f96fdcd648ecc8b4ec0a1232","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":".. note::"},{"line_number":76,"context_line":"  With the default statsd configuration, each timing metric may create"},{"line_number":77,"context_line":"  additional metrics due to how it handles timing metrics. For more"},{"line_number":78,"context_line":"  information, see statds documentation on"},{"line_number":79,"context_line":"  `metric types \u003chttps://github.com/etsy/statsd/blob/master/docs/metric_types.md#timing\u003e`_."},{"line_number":80,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_02a38c50","line":77,"updated":"2016-09-08 20:48:34.000000000","message":"what is the \u0027it\u0027 in \u0027how it handles\u0027. Is it \u003d\u003d statsd? or the timing metric itself?","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6c5548ddd61891fcb801a2f1c69983a28803787e","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":".. note::"},{"line_number":76,"context_line":"  With the default statsd configuration, each timing metric may create"},{"line_number":77,"context_line":"  additional metrics due to how it handles timing metrics. For more"},{"line_number":78,"context_line":"  information, see statds documentation on"},{"line_number":79,"context_line":"  `metric types \u003chttps://github.com/etsy/statsd/blob/master/docs/metric_types.md#timing\u003e`_."},{"line_number":80,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a89bdaa_851c06c3","line":77,"in_reply_to":"9a89bdaa_02a38c50","updated":"2016-09-08 21:09:23.000000000","message":"Done","commit_id":"b4dfcc2c1eab2bc59d753d96b8351c8a9c5db809"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"0a20efce9719fe62905d09d210c3ada0d9903def","unresolved":false,"context_lines":[{"line_number":44,"context_line":"Enabling metrics in ironic-python-agent"},{"line_number":45,"context_line":"---------------------------------------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The ironic-python-agent process receives its configuration in the response to"},{"line_number":48,"context_line":"the inital lookup request to the ironic-api service. This means to configure"},{"line_number":49,"context_line":"ironic-python-agent to emit metrics, you must enable the agent metrics backend"},{"line_number":50,"context_line":"in your ironic configuration file on all ironic-conductor hosts::"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a89bdaa_d3633440","line":47,"updated":"2016-09-08 22:00:41.000000000","message":"it is \u0027response from\u0027 i think but folks will understand.","commit_id":"3a5c3ad80ba3cefa4dd7df0cf4c1386fc8206e19"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"7b6e7f886326fbec6e1079f37c15707291924428","unresolved":false,"context_lines":[{"line_number":44,"context_line":"Enabling metrics in ironic-python-agent"},{"line_number":45,"context_line":"---------------------------------------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The ironic-python-agent process receives its configuration in the response to"},{"line_number":48,"context_line":"the inital lookup request to the ironic-api service. This means to configure"},{"line_number":49,"context_line":"ironic-python-agent to emit metrics, you must enable the agent metrics backend"},{"line_number":50,"context_line":"in your ironic configuration file on all ironic-conductor hosts::"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a89bdaa_4e785b2c","line":47,"in_reply_to":"9a89bdaa_d3633440","updated":"2016-09-08 22:05:29.000000000","message":"Done","commit_id":"3a5c3ad80ba3cefa4dd7df0cf4c1386fc8206e19"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"0a20efce9719fe62905d09d210c3ada0d9903def","unresolved":false,"context_lines":[{"line_number":70,"context_line":"for most driver methods. These metrics measure how long a given method takes"},{"line_number":71,"context_line":"to execute."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"A deployer with metrics enabled should expect between 100 and 500 data points"},{"line_number":74,"context_line":"to be emitted from the Bare Metal service. This will increase if the"},{"line_number":75,"context_line":"metrics.preserve_host option is set to true or if multiple drivers are used in"},{"line_number":76,"context_line":"the Bare Metal deployment. A deployer may want to ensure their metrics"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a89bdaa_ae5c87f1","line":73,"updated":"2016-09-08 22:00:41.000000000","message":"s/data points/ different kinds of timing metrics (each with a metric name  corresponding to the API, driver, and other methods of interest)/ ?? \n\nor maybe it is too long. End of the day for me. You probably don\u0027t need to mention timing, but that\u0027s all that is emitted now.","commit_id":"3a5c3ad80ba3cefa4dd7df0cf4c1386fc8206e19"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"7b6e7f886326fbec6e1079f37c15707291924428","unresolved":false,"context_lines":[{"line_number":70,"context_line":"for most driver methods. These metrics measure how long a given method takes"},{"line_number":71,"context_line":"to execute."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"A deployer with metrics enabled should expect between 100 and 500 data points"},{"line_number":74,"context_line":"to be emitted from the Bare Metal service. This will increase if the"},{"line_number":75,"context_line":"metrics.preserve_host option is set to true or if multiple drivers are used in"},{"line_number":76,"context_line":"the Bare Metal deployment. A deployer may want to ensure their metrics"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9a89bdaa_0eebb3b1","line":73,"in_reply_to":"9a89bdaa_ae5c87f1","updated":"2016-09-08 22:05:29.000000000","message":"Done","commit_id":"3a5c3ad80ba3cefa4dd7df0cf4c1386fc8206e19"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"60a1f0c119259642ccdb594b6411cd4117125827","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Types of Metrics Emitted"},{"line_number":67,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"The Bare Metal service emits timing metrics for every API method, as well as"},{"line_number":70,"context_line":"for most driver methods. These metrics measure how long a given method takes"},{"line_number":71,"context_line":"to execute."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a89bdaa_59690325","line":69,"updated":"2016-09-08 22:34:01.000000000","message":"I wonder if there should be a section on Ironic and one for IPA? Like above.","commit_id":"72a212e29ae6a59b891e6bcb9a7d7bfb0b274ca8"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"60a1f0c119259642ccdb594b6411cd4117125827","unresolved":false,"context_lines":[{"line_number":70,"context_line":"for most driver methods. These metrics measure how long a given method takes"},{"line_number":71,"context_line":"to execute."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"A deployer with metrics enabled should expect between 100 and 500 distinctly"},{"line_number":74,"context_line":"named data points to be emitted from the Bare Metal service. This will"},{"line_number":75,"context_line":"increase if the metrics.preserve_host option is set to true or if multiple"},{"line_number":76,"context_line":"drivers are used in the Bare Metal deployment. This estimate may be used to"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a89bdaa_39251f0a","line":73,"range":{"start_line":73,"start_character":46,"end_line":73,"end_character":65},"updated":"2016-09-08 22:34:01.000000000","message":"between 100 to 500\n\nfrom 100 to 500","commit_id":"72a212e29ae6a59b891e6bcb9a7d7bfb0b274ca8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fcc753b487c26aa6e0b8125ba14542d5aae1f219","unresolved":false,"context_lines":[{"line_number":71,"context_line":"to execute."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"A deployer with metrics enabled should expect between 100 and 500 distinctly"},{"line_number":74,"context_line":"named data points to be emitted from the Bare Metal service. This will"},{"line_number":75,"context_line":"increase if the metrics.preserve_host option is set to true or if multiple"},{"line_number":76,"context_line":"drivers are used in the Bare Metal deployment. This estimate may be used to"},{"line_number":77,"context_line":"determine if a deployer needs to scale their metrics backend to handle the"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9a89bdaa_9e8c4c81","line":74,"updated":"2016-09-09 00:39:37.000000000","message":"I\u0027m not sure that \u0027data points\u0027 is correct. Would \u0027distinctly named metrics\u0027 be better? Regardless, this is better than before :)","commit_id":"72a212e29ae6a59b891e6bcb9a7d7bfb0b274ca8"}]}
