)]}'
{"conf.d/kibana.yaml.example":[{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"22ea06f31dd42a6cbe4088249f5401ae39a2eda8","unresolved":false,"context_lines":[{"line_number":9,"context_line":"  # You can disable collecting of some metrics"},{"line_number":10,"context_line":"  # by settings value to false"},{"line_number":11,"context_line":"  # for example:  load: false"},{"line_number":12,"context_line":"  metrics:"},{"line_number":13,"context_line":"    heap_total: true"},{"line_number":14,"context_line":"    heap_used: true"},{"line_number":15,"context_line":"    load: true"},{"line_number":16,"context_line":"    requests_per_second: true"},{"line_number":17,"context_line":"    response_time_avg: true"},{"line_number":18,"context_line":"    response_time_max: true"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"3aaa91ec_a3123e60","line":18,"range":{"start_line":12,"start_character":2,"end_line":18,"end_character":27},"updated":"2016-06-29 08:50:15.000000000","message":"I would prefer to just specify a list here with the metrics I want to collect. If something is not there, then it is treated as false. So this part might look something like:\n\n  metrics:\n    - heap_total\n    - heap_used\n    - load\n    - requests_per_second\n    - response_time_avg\n    - response_time_max\n\nI don\u0027t know if it\u0027s the best way, but it may be less verbose.\n\nThis could make process_metrics shorter too, since we would not have to remove metrics that are disabled here. The check would only care about what is specified here.","commit_id":"5c542e8fa01ce7e5aa7d92c29b0394bff3ccc6aa"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"8282dcd63a3d0d1bbc3106457247a5e0ab191658","unresolved":false,"context_lines":[{"line_number":9,"context_line":"  # You can disable collecting of some metrics"},{"line_number":10,"context_line":"  # by settings value to false"},{"line_number":11,"context_line":"  # for example:  load: false"},{"line_number":12,"context_line":"  metrics:"},{"line_number":13,"context_line":"    heap_total: true"},{"line_number":14,"context_line":"    heap_used: true"},{"line_number":15,"context_line":"    load: true"},{"line_number":16,"context_line":"    requests_per_second: true"},{"line_number":17,"context_line":"    response_time_avg: true"},{"line_number":18,"context_line":"    response_time_max: true"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"3aaa91ec_505a332b","line":18,"range":{"start_line":12,"start_character":2,"end_line":18,"end_character":27},"in_reply_to":"3aaa91ec_a3123e60","updated":"2016-06-29 11:14:43.000000000","message":"Done","commit_id":"5c542e8fa01ce7e5aa7d92c29b0394bff3ccc6aa"}],"docs/Plugins.md":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d816fabc771cc197371af047f0e9f48a026658b9","unresolved":false,"context_lines":[{"line_number":1519,"context_line":""},{"line_number":1520,"context_line":"| Metric Name | Dimensions | Semantics |"},{"line_number":1521,"context_line":"| ----------- | ---------- | --------- |"},{"line_number":1522,"context_line":"| kibana.load.1m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 1 minute period |"},{"line_number":1523,"context_line":"| kibana.load.5m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 5 minutes period |"},{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"3aaa91ec_5ab0c2dd","line":1522,"range":{"start_line":1522,"start_character":68,"end_line":1522,"end_character":87},"updated":"2016-06-28 15:30:09.000000000","message":"Load is computed as what? Number of requests? CPU load?","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d66266172b0c9053490a7747c1b08715e0c02e0c","unresolved":false,"context_lines":[{"line_number":1519,"context_line":""},{"line_number":1520,"context_line":"| Metric Name | Dimensions | Semantics |"},{"line_number":1521,"context_line":"| ----------- | ---------- | --------- |"},{"line_number":1522,"context_line":"| kibana.load.1m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 1 minute period |"},{"line_number":1523,"context_line":"| kibana.load.5m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 5 minutes period |"},{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"3aaa91ec_74d90e57","line":1522,"range":{"start_line":1522,"start_character":68,"end_line":1522,"end_character":87},"in_reply_to":"3aaa91ec_0355194f","updated":"2016-06-29 16:43:48.000000000","message":"Good. Can you update the doc to say some of that?","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"375cb9d0ba42af550648934dd0796605326a535b","unresolved":false,"context_lines":[{"line_number":1519,"context_line":""},{"line_number":1520,"context_line":"| Metric Name | Dimensions | Semantics |"},{"line_number":1521,"context_line":"| ----------- | ---------- | --------- |"},{"line_number":1522,"context_line":"| kibana.load.1m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 1 minute period |"},{"line_number":1523,"context_line":"| kibana.load.5m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 5 minutes period |"},{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"3aaa91ec_0355194f","line":1522,"range":{"start_line":1522,"start_character":68,"end_line":1522,"end_character":87},"in_reply_to":"3aaa91ec_5ab0c2dd","updated":"2016-06-29 06:14:39.000000000","message":"Load here is actually a load as understood by NodeJs - overall system activity and it actually similar to what load metrics present. \n\nWhat Kibana returns is actually returned from following method: https://nodejs.org/api/os.html#os_os_loadavg","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"57b56123f48f8f8a43a49d78b5ab44c344019565","unresolved":false,"context_lines":[{"line_number":1502,"context_line":"Sample config:"},{"line_number":1503,"context_line":""},{"line_number":1504,"context_line":"```yaml"},{"line_number":1505,"context_line":"init_config: "},{"line_number":1506,"context_line":"  url: http://localhost:5601/api/status"},{"line_number":1507,"context_line":"instances:"},{"line_number":1508,"context_line":"- built_by: Kibana"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"3aaa91ec_dcc2bd52","line":1505,"updated":"2016-06-29 12:21:24.000000000","message":"Please remove whitespace.","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"160d6f762fdeb93fc459a93843ead2f8a33ad92b","unresolved":false,"context_lines":[{"line_number":1502,"context_line":"Sample config:"},{"line_number":1503,"context_line":""},{"line_number":1504,"context_line":"```yaml"},{"line_number":1505,"context_line":"init_config: "},{"line_number":1506,"context_line":"  url: http://localhost:5601/api/status"},{"line_number":1507,"context_line":"instances:"},{"line_number":1508,"context_line":"- built_by: Kibana"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"3aaa91ec_ffde240f","line":1505,"in_reply_to":"3aaa91ec_dcc2bd52","updated":"2016-07-01 05:24:07.000000000","message":"Done","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"92d31e339c6c70c609807ec54a729fbaeea81aa2","unresolved":false,"context_lines":[{"line_number":167,"context_line":"| win32_event_log |  |  |"},{"line_number":168,"context_line":"| wmi_check |  |  |"},{"line_number":169,"context_line":"| zk |  | Apache Zookeeper |"},{"line_number":170,"context_line":"| kibana | **kibana_install_dir**/kibana.yml | Integration to Kibana |"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"## Dot File Configuration"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_e1b9d216","line":170,"range":{"start_line":170,"start_character":0,"end_line":170,"end_character":70},"updated":"2016-07-05 23:15:58.000000000","message":"I think this should move to line 140 following the alphabetical order","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"0cab16c0e522a5fd412d236568819946ad19e3b6","unresolved":false,"context_lines":[{"line_number":167,"context_line":"| win32_event_log |  |  |"},{"line_number":168,"context_line":"| wmi_check |  |  |"},{"line_number":169,"context_line":"| zk |  | Apache Zookeeper |"},{"line_number":170,"context_line":"| kibana | **kibana_install_dir**/kibana.yml | Integration to Kibana |"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"## Dot File Configuration"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_fa5050d6","line":170,"range":{"start_line":170,"start_character":0,"end_line":170,"end_character":70},"in_reply_to":"1aa78d24_e1b9d216","updated":"2016-07-06 04:55:17.000000000","message":"Wow, they are really in that order.\nDone","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"8ae62bf6d370bffdbed10f10cf0996599ad55cca","unresolved":false,"context_lines":[{"line_number":1521,"context_line":"| ----------- | ---------- | --------- |"},{"line_number":1522,"context_line":"| kibana.load.1m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 1 minute period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1523,"context_line":"| kibana.load.5m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 5 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_6c6e7c02","line":1524,"range":{"start_line":1524,"start_character":9,"end_line":1524,"end_character":13},"updated":"2016-07-05 21:34:56.000000000","message":"Is it necessary to supply separate load metrics for 1, 5 and 15 or can the avg function be used when querying or in alarm sub-expressions?","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"8f1f0bd8e01d1a67dcec9f2922abeaece0cb620a","unresolved":false,"context_lines":[{"line_number":1521,"context_line":"| ----------- | ---------- | --------- |"},{"line_number":1522,"context_line":"| kibana.load.1m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 1 minute period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1523,"context_line":"| kibana.load.5m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 5 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_86c9ce5b","line":1524,"range":{"start_line":1524,"start_character":9,"end_line":1524,"end_character":13},"in_reply_to":"1aa78d24_20d2825c","updated":"2016-07-06 18:48:09.000000000","message":"Names are already changed in PS#14. If you could review that, it\u0027d be great.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"d93598da5b91919f220bf73ed830b194482bbdec","unresolved":false,"context_lines":[{"line_number":1521,"context_line":"| ----------- | ---------- | --------- |"},{"line_number":1522,"context_line":"| kibana.load.1m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 1 minute period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1523,"context_line":"| kibana.load.5m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 5 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_9a394cf5","line":1524,"range":{"start_line":1524,"start_character":9,"end_line":1524,"end_character":13},"in_reply_to":"1aa78d24_6c6e7c02","updated":"2016-07-06 06:07:27.000000000","message":"Well load metric also comes in such form.\nYou have 3 distinct series of load and each presented as separate metric. This Kibana metric\u0027s acts similar to load metric, so I would assume that\u0027s why folks in Kibana report it like this. If you would enter Kibana status page that what you\u0027d see\n\n XXX YYY ZZZ\n\nrespectively loads at\n \n 1m  5m  15m\n\nSo these are actually 3 seperate metrics IMHO.\n\nBTW, I am not sure if I understand \u0027avg function be used when querying\u0027. Do you mean passing time frame as dimension ? Or combining all time series into single metric ?","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"8f6d054a0b3c082ef70f891f05358ab022b1a7f0","unresolved":false,"context_lines":[{"line_number":1521,"context_line":"| ----------- | ---------- | --------- |"},{"line_number":1522,"context_line":"| kibana.load.1m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 1 minute period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1523,"context_line":"| kibana.load.5m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 5 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_20d2825c","line":1524,"range":{"start_line":1524,"start_character":9,"end_line":1524,"end_character":13},"in_reply_to":"1aa78d24_9a394cf5","updated":"2016-07-06 18:24:57.000000000","message":"The load avg that we report in the Monasca Agent is in this form: \"load.avg_15_min\". I think it is OK keeping the three different metrics, as it probably isn\u0027t the same as usign the \"avg\" function in Monasca, but would like to change the metric name to match the existing conventions if possible.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"8ae62bf6d370bffdbed10f10cf0996599ad55cca","unresolved":false,"context_lines":[{"line_number":1522,"context_line":"| kibana.load.1m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 1 minute period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1523,"context_line":"| kibana.load.5m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 5 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"},{"line_number":1528,"context_line":"| kibana.response_time_avg.ms | hostname, url, version, service\u003dmonitoring | The average response time of Kibana server in ms|"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_8c5ac84e","line":1525,"range":{"start_line":1525,"start_character":2,"end_line":1525,"end_character":8},"updated":"2016-07-05 21:34:56.000000000","message":"Should be \"heap_total_mb\" and I was wondering if \"heap_size_mb\" was a better name. People tend to use the work heap size, but I haven\u0027t heard them use heap total.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"d93598da5b91919f220bf73ed830b194482bbdec","unresolved":false,"context_lines":[{"line_number":1522,"context_line":"| kibana.load.1m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 1 minute period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1523,"context_line":"| kibana.load.5m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 5 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"},{"line_number":1528,"context_line":"| kibana.response_time_avg.ms | hostname, url, version, service\u003dmonitoring | The average response time of Kibana server in ms|"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_3d33f2ac","line":1525,"range":{"start_line":1525,"start_character":2,"end_line":1525,"end_character":8},"in_reply_to":"1aa78d24_8c5ac84e","updated":"2016-07-06 06:07:27.000000000","message":"I will update the name to heap_size. Seems better.\nAs for the dot in the name, please see below.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"8ae62bf6d370bffdbed10f10cf0996599ad55cca","unresolved":false,"context_lines":[{"line_number":1523,"context_line":"| kibana.load.5m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 5 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"},{"line_number":1528,"context_line":"| kibana.response_time_avg.ms | hostname, url, version, service\u003dmonitoring | The average response time of Kibana server in ms|"},{"line_number":1529,"context_line":"| kibana.response_time_max.ms | hostname, url, version, service\u003dmonitoring | The maximum response time of Kibana server in ms |"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_6c3cbce2","line":1526,"range":{"start_line":1526,"start_character":9,"end_line":1526,"end_character":18},"updated":"2016-07-05 21:34:56.000000000","message":"heap_used_mb","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"ddf69fa84a43c5b9f6d4b64ebaa647caee897d04","unresolved":false,"context_lines":[{"line_number":1523,"context_line":"| kibana.load.5m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 5 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"},{"line_number":1528,"context_line":"| kibana.response_time_avg.ms | hostname, url, version, service\u003dmonitoring | The average response time of Kibana server in ms|"},{"line_number":1529,"context_line":"| kibana.response_time_max.ms | hostname, url, version, service\u003dmonitoring | The maximum response time of Kibana server in ms |"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_3b902c43","line":1526,"range":{"start_line":1526,"start_character":69,"end_line":1526,"end_character":76},"updated":"2016-07-05 20:22:46.000000000","message":"s/Current/Used/","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"d93598da5b91919f220bf73ed830b194482bbdec","unresolved":false,"context_lines":[{"line_number":1523,"context_line":"| kibana.load.5m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 5 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"},{"line_number":1528,"context_line":"| kibana.response_time_avg.ms | hostname, url, version, service\u003dmonitoring | The average response time of Kibana server in ms|"},{"line_number":1529,"context_line":"| kibana.response_time_max.ms | hostname, url, version, service\u003dmonitoring | The maximum response time of Kibana server in ms |"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_faf7b056","line":1526,"range":{"start_line":1526,"start_character":9,"end_line":1526,"end_character":18},"in_reply_to":"1aa78d24_6c3cbce2","updated":"2016-07-06 06:07:27.000000000","message":"As it goes for the naming here and the fact that it is\n\n kibana.heap_used.mb\n\ninstead\n\n kibana.heap_used_mb\n\nwell, builtin agent name normalizations works like that (monasca_agent.collector.checks.check.AgentCheck#normalize). I have a prefix kibana.heap_used and after converting value to mb I change the name using this method. The result is above.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"8f1f0bd8e01d1a67dcec9f2922abeaece0cb620a","unresolved":false,"context_lines":[{"line_number":1523,"context_line":"| kibana.load.5m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 5 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"},{"line_number":1528,"context_line":"| kibana.response_time_avg.ms | hostname, url, version, service\u003dmonitoring | The average response time of Kibana server in ms|"},{"line_number":1529,"context_line":"| kibana.response_time_max.ms | hostname, url, version, service\u003dmonitoring | The maximum response time of Kibana server in ms |"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_e6d9b223","line":1526,"range":{"start_line":1526,"start_character":9,"end_line":1526,"end_character":18},"in_reply_to":"1aa78d24_e0919af2","updated":"2016-07-06 18:48:09.000000000","message":"Already changed in PS#14. Check there, please.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"8f6d054a0b3c082ef70f891f05358ab022b1a7f0","unresolved":false,"context_lines":[{"line_number":1523,"context_line":"| kibana.load.5m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 5 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"},{"line_number":1528,"context_line":"| kibana.response_time_avg.ms | hostname, url, version, service\u003dmonitoring | The average response time of Kibana server in ms|"},{"line_number":1529,"context_line":"| kibana.response_time_max.ms | hostname, url, version, service\u003dmonitoring | The maximum response time of Kibana server in ms |"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_e0919af2","line":1526,"range":{"start_line":1526,"start_character":9,"end_line":1526,"end_character":18},"in_reply_to":"1aa78d24_faf7b056","updated":"2016-07-06 18:24:57.000000000","message":"The convention we\u0027ve been trying to follow in Monasca is to not add a \".\" for the units. Tools like Graphite use the \".\" for grouping things, but \"mb\" is not really a group. There aren\u0027t going to be multiple metrics returned with different units in them.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"8ae62bf6d370bffdbed10f10cf0996599ad55cca","unresolved":false,"context_lines":[{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"},{"line_number":1528,"context_line":"| kibana.response_time_avg.ms | hostname, url, version, service\u003dmonitoring | The average response time of Kibana server in ms|"},{"line_number":1529,"context_line":"| kibana.response_time_max.ms | hostname, url, version, service\u003dmonitoring | The maximum response time of Kibana server in ms |"},{"line_number":1530,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_e763a7da","line":1527,"range":{"start_line":1527,"start_character":2,"end_line":1527,"end_character":8},"updated":"2016-07-05 21:34:56.000000000","message":"Looking at, https://github.com/openstack/monasca-agent/blob/master/docs/Plugins.md, it looks like kibana.requests_sec, or kibana.req_sec, which is used for apache, would work better.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"d93598da5b91919f220bf73ed830b194482bbdec","unresolved":false,"context_lines":[{"line_number":1524,"context_line":"| kibana.load.15m | hostname, url, version, service\u003dmonitoring | The average kibana load over a 15 minutes period, for more details see [here](https://nodejs.org/api/os.html#os_os_loadavg) |"},{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"},{"line_number":1528,"context_line":"| kibana.response_time_avg.ms | hostname, url, version, service\u003dmonitoring | The average response time of Kibana server in ms|"},{"line_number":1529,"context_line":"| kibana.response_time_max.ms | hostname, url, version, service\u003dmonitoring | The maximum response time of Kibana server in ms |"},{"line_number":1530,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_bd1fe206","line":1527,"range":{"start_line":1527,"start_character":2,"end_line":1527,"end_character":8},"in_reply_to":"1aa78d24_e763a7da","updated":"2016-07-06 06:07:27.000000000","message":"Fair enough","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"8ae62bf6d370bffdbed10f10cf0996599ad55cca","unresolved":false,"context_lines":[{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"},{"line_number":1528,"context_line":"| kibana.response_time_avg.ms | hostname, url, version, service\u003dmonitoring | The average response time of Kibana server in ms|"},{"line_number":1529,"context_line":"| kibana.response_time_max.ms | hostname, url, version, service\u003dmonitoring | The maximum response time of Kibana server in ms |"},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"## OpenStack Monitoring"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_475b9b2e","line":1528,"range":{"start_line":1528,"start_character":2,"end_line":1528,"end_character":8},"updated":"2016-07-05 21:34:56.000000000","message":"Similar to the comment above, but would reporting the response_time_ms, be sufficient, and then using the avg function to get the avg.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"d93598da5b91919f220bf73ed830b194482bbdec","unresolved":false,"context_lines":[{"line_number":1525,"context_line":"| kibana.heap_total.mb | hostname, url, version, service\u003dmonitoring | Total heap size in MB |"},{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"},{"line_number":1528,"context_line":"| kibana.response_time_avg.ms | hostname, url, version, service\u003dmonitoring | The average response time of Kibana server in ms|"},{"line_number":1529,"context_line":"| kibana.response_time_max.ms | hostname, url, version, service\u003dmonitoring | The maximum response time of Kibana server in ms |"},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"## OpenStack Monitoring"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_ddd0ee21","line":1528,"range":{"start_line":1528,"start_character":2,"end_line":1528,"end_character":8},"in_reply_to":"1aa78d24_475b9b2e","updated":"2016-07-06 06:07:27.000000000","message":"It is not possible. Kibana returns metrics already in that form.\n\nIf you are interested, you can check: https://github.com/elastic/kibana/blob/master/src/server/status/metrics.js#L21 . That little devil is responsible for collecting those values.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"8ae62bf6d370bffdbed10f10cf0996599ad55cca","unresolved":false,"context_lines":[{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"},{"line_number":1528,"context_line":"| kibana.response_time_avg.ms | hostname, url, version, service\u003dmonitoring | The average response time of Kibana server in ms|"},{"line_number":1529,"context_line":"| kibana.response_time_max.ms | hostname, url, version, service\u003dmonitoring | The maximum response time of Kibana server in ms |"},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"## OpenStack Monitoring"},{"line_number":1532,"context_line":"The `monasca-setup` script when run on a system that is running OpenStack services, configures the Agent to send the following list of metrics:"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_876463e5","line":1529,"range":{"start_line":1529,"start_character":2,"end_line":1529,"end_character":8},"updated":"2016-07-05 21:34:56.000000000","message":"Similar to the comment above, but woudl reporting just the response_time_ms, be sufficient, and then using the max function to get the max.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"d93598da5b91919f220bf73ed830b194482bbdec","unresolved":false,"context_lines":[{"line_number":1526,"context_line":"| kibana.heap_used.mb | hostname, url, version, service\u003dmonitoring | Current heap size in MB |"},{"line_number":1527,"context_line":"| kibana.requests_per_second | hostname, url, version, service\u003dmonitoring | The average amount of requests Kibana receives |"},{"line_number":1528,"context_line":"| kibana.response_time_avg.ms | hostname, url, version, service\u003dmonitoring | The average response time of Kibana server in ms|"},{"line_number":1529,"context_line":"| kibana.response_time_max.ms | hostname, url, version, service\u003dmonitoring | The maximum response time of Kibana server in ms |"},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"## OpenStack Monitoring"},{"line_number":1532,"context_line":"The `monasca-setup` script when run on a system that is running OpenStack services, configures the Agent to send the following list of metrics:"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"1aa78d24_bdcd2287","line":1529,"range":{"start_line":1529,"start_character":2,"end_line":1529,"end_character":8},"in_reply_to":"1aa78d24_876463e5","updated":"2016-07-06 06:07:27.000000000","message":"See above.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"}],"monasca_agent/collector/checks_d/kibana.py":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d816fabc771cc197371af047f0e9f48a026658b9","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                         % (config_url, str(ex)))"},{"line_number":84,"context_line":"            LOG.error(error_str)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        if stats is None:"},{"line_number":87,"context_line":"            LOG.warn(\u0027No stats data was collected from kibana\u0027)"},{"line_number":88,"context_line":"        else:"},{"line_number":89,"context_line":"            self._process_metrics(stats, dimensions, instance)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_75f30fa0","line":86,"range":{"start_line":86,"start_character":8,"end_line":86,"end_character":25},"updated":"2016-06-28 15:30:09.000000000","message":"If this was written as below, then it would also handle the case where stats is empty\nif not stats:","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"375cb9d0ba42af550648934dd0796605326a535b","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                         % (config_url, str(ex)))"},{"line_number":84,"context_line":"            LOG.error(error_str)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        if stats is None:"},{"line_number":87,"context_line":"            LOG.warn(\u0027No stats data was collected from kibana\u0027)"},{"line_number":88,"context_line":"        else:"},{"line_number":89,"context_line":"            self._process_metrics(stats, dimensions, instance)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_c22af9e6","line":86,"range":{"start_line":86,"start_character":8,"end_line":86,"end_character":25},"in_reply_to":"3aaa91ec_75f30fa0","updated":"2016-06-29 06:14:39.000000000","message":"I don\u0027t think that is possible that endpoint returns empty response, but it is safer to assume that.\n\nDone.","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d816fabc771cc197371af047f0e9f48a026658b9","unresolved":false,"context_lines":[{"line_number":168,"context_line":"            flatten \u003d vector[1]  # discard timestamp"},{"line_number":169,"context_line":"            if type(flatten) !\u003d list:"},{"line_number":170,"context_line":"                flatten \u003d [flatten]"},{"line_number":171,"context_line":"            for it in xrange(len(flatten)):"},{"line_number":172,"context_line":"                y \u003d flatten[it]"},{"line_number":173,"context_line":"                try:"},{"line_number":174,"context_line":"                    metrics[it]"},{"line_number":175,"context_line":"                except IndexError:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_50b0a1dd","line":172,"range":{"start_line":171,"start_character":0,"end_line":172,"end_character":31},"updated":"2016-06-28 15:30:09.000000000","message":"This should be:\nfor y in flatten:","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"375cb9d0ba42af550648934dd0796605326a535b","unresolved":false,"context_lines":[{"line_number":168,"context_line":"            flatten \u003d vector[1]  # discard timestamp"},{"line_number":169,"context_line":"            if type(flatten) !\u003d list:"},{"line_number":170,"context_line":"                flatten \u003d [flatten]"},{"line_number":171,"context_line":"            for it in xrange(len(flatten)):"},{"line_number":172,"context_line":"                y \u003d flatten[it]"},{"line_number":173,"context_line":"                try:"},{"line_number":174,"context_line":"                    metrics[it]"},{"line_number":175,"context_line":"                except IndexError:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_a2f08d67","line":172,"range":{"start_line":171,"start_character":0,"end_line":172,"end_character":31},"in_reply_to":"3aaa91ec_50b0a1dd","updated":"2016-06-29 06:14:39.000000000","message":"I am interested in having the index here instead value","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d66266172b0c9053490a7747c1b08715e0c02e0c","unresolved":false,"context_lines":[{"line_number":168,"context_line":"            flatten \u003d vector[1]  # discard timestamp"},{"line_number":169,"context_line":"            if type(flatten) !\u003d list:"},{"line_number":170,"context_line":"                flatten \u003d [flatten]"},{"line_number":171,"context_line":"            for it in xrange(len(flatten)):"},{"line_number":172,"context_line":"                y \u003d flatten[it]"},{"line_number":173,"context_line":"                try:"},{"line_number":174,"context_line":"                    metrics[it]"},{"line_number":175,"context_line":"                except IndexError:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_54c69268","line":172,"range":{"start_line":171,"start_character":0,"end_line":172,"end_character":31},"in_reply_to":"3aaa91ec_a2f08d67","updated":"2016-06-29 16:43:48.000000000","message":"Yes, I see that now","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d816fabc771cc197371af047f0e9f48a026658b9","unresolved":false,"context_lines":[{"line_number":170,"context_line":"                flatten \u003d [flatten]"},{"line_number":171,"context_line":"            for it in xrange(len(flatten)):"},{"line_number":172,"context_line":"                y \u003d flatten[it]"},{"line_number":173,"context_line":"                try:"},{"line_number":174,"context_line":"                    metrics[it]"},{"line_number":175,"context_line":"                except IndexError:"},{"line_number":176,"context_line":"                    metrics.insert(it, [])"},{"line_number":177,"context_line":"                metrics[it].insert(0, y)"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_55a53302","line":175,"range":{"start_line":173,"start_character":0,"end_line":175,"end_character":34},"updated":"2016-06-28 15:30:09.000000000","message":"This would be much clearer as\n\nif it not in metrics:","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"375cb9d0ba42af550648934dd0796605326a535b","unresolved":false,"context_lines":[{"line_number":170,"context_line":"                flatten \u003d [flatten]"},{"line_number":171,"context_line":"            for it in xrange(len(flatten)):"},{"line_number":172,"context_line":"                y \u003d flatten[it]"},{"line_number":173,"context_line":"                try:"},{"line_number":174,"context_line":"                    metrics[it]"},{"line_number":175,"context_line":"                except IndexError:"},{"line_number":176,"context_line":"                    metrics.insert(it, [])"},{"line_number":177,"context_line":"                metrics[it].insert(0, y)"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_82fc713f","line":175,"range":{"start_line":173,"start_character":0,"end_line":175,"end_character":34},"in_reply_to":"3aaa91ec_55a53302","updated":"2016-06-29 06:14:39.000000000","message":"As far as I know, accessing index and catching exception supposed to be python-inc.","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d66266172b0c9053490a7747c1b08715e0c02e0c","unresolved":false,"context_lines":[{"line_number":170,"context_line":"                flatten \u003d [flatten]"},{"line_number":171,"context_line":"            for it in xrange(len(flatten)):"},{"line_number":172,"context_line":"                y \u003d flatten[it]"},{"line_number":173,"context_line":"                try:"},{"line_number":174,"context_line":"                    metrics[it]"},{"line_number":175,"context_line":"                except IndexError:"},{"line_number":176,"context_line":"                    metrics.insert(it, [])"},{"line_number":177,"context_line":"                metrics[it].insert(0, y)"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_549df264","line":175,"range":{"start_line":173,"start_character":0,"end_line":175,"end_character":34},"in_reply_to":"3aaa91ec_82fc713f","updated":"2016-06-29 16:43:48.000000000","message":"No, this construct is not pythonic. Please fix it.","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d816fabc771cc197371af047f0e9f48a026658b9","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                try:"},{"line_number":174,"context_line":"                    metrics[it]"},{"line_number":175,"context_line":"                except IndexError:"},{"line_number":176,"context_line":"                    metrics.insert(it, [])"},{"line_number":177,"context_line":"                metrics[it].insert(0, y)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        return metrics"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_d5f123cf","line":176,"range":{"start_line":176,"start_character":20,"end_line":176,"end_character":42},"updated":"2016-06-28 15:30:09.000000000","message":"This should be:\nmetrics[it] \u003d []","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d66266172b0c9053490a7747c1b08715e0c02e0c","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                try:"},{"line_number":174,"context_line":"                    metrics[it]"},{"line_number":175,"context_line":"                except IndexError:"},{"line_number":176,"context_line":"                    metrics.insert(it, [])"},{"line_number":177,"context_line":"                metrics[it].insert(0, y)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        return metrics"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_54ab3275","line":176,"range":{"start_line":176,"start_character":20,"end_line":176,"end_character":42},"in_reply_to":"3aaa91ec_22fdbd3b","updated":"2016-06-29 16:43:48.000000000","message":"Right, I was thinking of a dict. Sorry","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"375cb9d0ba42af550648934dd0796605326a535b","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                try:"},{"line_number":174,"context_line":"                    metrics[it]"},{"line_number":175,"context_line":"                except IndexError:"},{"line_number":176,"context_line":"                    metrics.insert(it, [])"},{"line_number":177,"context_line":"                metrics[it].insert(0, y)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        return metrics"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_22fdbd3b","line":176,"range":{"start_line":176,"start_character":20,"end_line":176,"end_character":42},"in_reply_to":"3aaa91ec_d5f123cf","updated":"2016-06-29 06:14:39.000000000","message":"Actually, that results in IndexError because there\u0027s nothing under metrics[it] that I could assign value to.","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d816fabc771cc197371af047f0e9f48a026658b9","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                    metrics[it]"},{"line_number":175,"context_line":"                except IndexError:"},{"line_number":176,"context_line":"                    metrics.insert(it, [])"},{"line_number":177,"context_line":"                metrics[it].insert(0, y)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        return metrics"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_75f4afce","line":177,"range":{"start_line":177,"start_character":35,"end_line":177,"end_character":37},"updated":"2016-06-28 15:30:09.000000000","message":"Is it important that these are inserted in reverse order?","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"375cb9d0ba42af550648934dd0796605326a535b","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                    metrics[it]"},{"line_number":175,"context_line":"                except IndexError:"},{"line_number":176,"context_line":"                    metrics.insert(it, [])"},{"line_number":177,"context_line":"                metrics[it].insert(0, y)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        return metrics"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_de3ac633","line":177,"range":{"start_line":177,"start_character":35,"end_line":177,"end_character":37},"in_reply_to":"3aaa91ec_75f4afce","updated":"2016-06-29 06:14:39.000000000","message":"Not quite, averages don\u0027t care about the order.\nThx.","commit_id":"f73d53bcd64937b4abed79ff6c7a3e40245c560f"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"eb08166e0ca0eb6ae5211673c178d99ca2685b2a","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    avg \u003d 0.0"},{"line_number":41,"context_line":"    for val in filter(None, data):"},{"line_number":42,"context_line":"        avg +\u003d val"},{"line_number":43,"context_line":"    avg /\u003d (len(data) * 1.0)"},{"line_number":44,"context_line":"    return avg"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_9cc83557","line":43,"range":{"start_line":43,"start_character":11,"end_line":43,"end_character":28},"updated":"2016-06-29 12:17:30.000000000","message":"float(len(data)) would also work, but I don\u0027t know if it would be a better choice regarding readability and/or performance","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"160d6f762fdeb93fc459a93843ead2f8a33ad92b","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    avg \u003d 0.0"},{"line_number":41,"context_line":"    for val in filter(None, data):"},{"line_number":42,"context_line":"        avg +\u003d val"},{"line_number":43,"context_line":"    avg /\u003d (len(data) * 1.0)"},{"line_number":44,"context_line":"    return avg"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_9f4280a9","line":43,"range":{"start_line":43,"start_character":11,"end_line":43,"end_character":28},"in_reply_to":"3aaa91ec_9cc83557","updated":"2016-07-01 05:24:07.000000000","message":"Did simple test: \n\n  In [1]: def foo():\n     ...:     for it in xrange(100000):\n     ...:         float(it)\n     ...:         \n  \n  In [2]: def bar():\n     ...:     for it in xrange(100000):\n     ...:         it * 1.0\n     ...:         \n  \n  In [3]: %%timeit\n     ...: foo()\n     ...: \n  100 loops, best of 3: 7.21 ms per loop\n  \n  In [4]: %%timeit\n  bar()\n     ...: \n  100 loops, best of 3: 3.72 ms per loop\n\nMultiplying is about 50% faster here ;-) from what I can see.","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"48731131bc65877dc17289adec15e9b85954e2df","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    avg \u003d 0.0"},{"line_number":41,"context_line":"    for val in filter(None, data):"},{"line_number":42,"context_line":"        avg +\u003d val"},{"line_number":43,"context_line":"    avg /\u003d (len(data) * 1.0)"},{"line_number":44,"context_line":"    return avg"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_15e94f7f","line":43,"range":{"start_line":43,"start_character":11,"end_line":43,"end_character":28},"in_reply_to":"3aaa91ec_9f4280a9","updated":"2016-07-01 06:50:00.000000000","message":":) Good job.","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"eb08166e0ca0eb6ae5211673c178d99ca2685b2a","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def check(self, instance):"},{"line_number":65,"context_line":"        config_url \u003d self.init_config.get(\u0027url\u0027, None)"},{"line_number":66,"context_line":"        instance_metrics \u003d instance.get(\u0027metrics\u0027, {})"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        if config_url is None:"},{"line_number":69,"context_line":"            raise Exception(\u0027An url to kibana must be specified\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_264ad183","line":66,"range":{"start_line":66,"start_character":51,"end_line":66,"end_character":53},"updated":"2016-06-29 12:17:30.000000000","message":"Should the default be [] now? Now that it is a list in the yaml.","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"0bc5b2906cb82090dac6de2e3a5ec11af589b4b6","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def check(self, instance):"},{"line_number":65,"context_line":"        config_url \u003d self.init_config.get(\u0027url\u0027, None)"},{"line_number":66,"context_line":"        instance_metrics \u003d instance.get(\u0027metrics\u0027, {})"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        if config_url is None:"},{"line_number":69,"context_line":"            raise Exception(\u0027An url to kibana must be specified\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_bc94068b","line":66,"range":{"start_line":66,"start_character":51,"end_line":66,"end_character":53},"in_reply_to":"3aaa91ec_264ad183","updated":"2016-06-29 15:15:42.000000000","message":"Yes it should, thx for that.","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"160d6f762fdeb93fc459a93843ead2f8a33ad92b","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def check(self, instance):"},{"line_number":65,"context_line":"        config_url \u003d self.init_config.get(\u0027url\u0027, None)"},{"line_number":66,"context_line":"        instance_metrics \u003d instance.get(\u0027metrics\u0027, {})"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        if config_url is None:"},{"line_number":69,"context_line":"            raise Exception(\u0027An url to kibana must be specified\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_9f19e0d3","line":66,"range":{"start_line":66,"start_character":51,"end_line":66,"end_character":53},"in_reply_to":"3aaa91ec_bc94068b","updated":"2016-07-01 05:24:07.000000000","message":"Done","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"eb08166e0ca0eb6ae5211673c178d99ca2685b2a","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        dimensions \u003d self._set_dimensions({"},{"line_number":77,"context_line":"            \u0027url\u0027: config_url,"},{"line_number":78,"context_line":"            \u0027version\u0027: version"},{"line_number":79,"context_line":"        }, instance)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        LOG.debug(\u0027Kibana version %s\u0027, version)"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_06f1956a","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":20},"updated":"2016-06-29 12:17:30.000000000","message":"The indentation seems a bit weird here.","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"0bc5b2906cb82090dac6de2e3a5ec11af589b4b6","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        dimensions \u003d self._set_dimensions({"},{"line_number":77,"context_line":"            \u0027url\u0027: config_url,"},{"line_number":78,"context_line":"            \u0027version\u0027: version"},{"line_number":79,"context_line":"        }, instance)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        LOG.debug(\u0027Kibana version %s\u0027, version)"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_779637f1","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":20},"in_reply_to":"3aaa91ec_06f1956a","updated":"2016-06-29 15:15:42.000000000","message":"It is correct according to my IDE and pep ;-). Not sure if that\u0027s worth discussing. I can change that if you really find that off :)","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"9ceffcd2d3008e4340d1b767fffee5d295a7eb21","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        dimensions \u003d self._set_dimensions({"},{"line_number":77,"context_line":"            \u0027url\u0027: config_url,"},{"line_number":78,"context_line":"            \u0027version\u0027: version"},{"line_number":79,"context_line":"        }, instance)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        LOG.debug(\u0027Kibana version %s\u0027, version)"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_4e53a5e2","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":20},"in_reply_to":"3aaa91ec_779637f1","updated":"2016-06-29 16:09:24.000000000","message":"It doesn\u0027t bother me, you can leave it like this. :)","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"eb08166e0ca0eb6ae5211673c178d99ca2685b2a","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                    metric, instance_url))"},{"line_number":113,"context_line":"                try:"},{"line_number":114,"context_line":"                    del actual_metrics[metric]"},{"line_number":115,"context_line":"                except KeyError:"},{"line_number":116,"context_line":"                    LOG.warn(\u0027Tried to remove disabled metric %s but it was \u0027"},{"line_number":117,"context_line":"                             \u0027not found in returned metrics %s\u0027 %"},{"line_number":118,"context_line":"                             (metric, actual_metrics.keys()))"},{"line_number":119,"context_line":"            else:"},{"line_number":120,"context_line":"                self._process_metric(metric,"},{"line_number":121,"context_line":"                                     actual_metrics.get(metric),"}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_26a131aa","line":118,"range":{"start_line":115,"start_character":16,"end_line":118,"end_character":61},"updated":"2016-06-29 12:17:30.000000000","message":"It is unlikely to happen. metric is in actual_metrics.keys()\n\nIn fact, I think we can do without deleting the metric from actual_metrics, since it is only a local variable now. Correct me if I\u0027m wrong.","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"0bc5b2906cb82090dac6de2e3a5ec11af589b4b6","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                    metric, instance_url))"},{"line_number":113,"context_line":"                try:"},{"line_number":114,"context_line":"                    del actual_metrics[metric]"},{"line_number":115,"context_line":"                except KeyError:"},{"line_number":116,"context_line":"                    LOG.warn(\u0027Tried to remove disabled metric %s but it was \u0027"},{"line_number":117,"context_line":"                             \u0027not found in returned metrics %s\u0027 %"},{"line_number":118,"context_line":"                             (metric, actual_metrics.keys()))"},{"line_number":119,"context_line":"            else:"},{"line_number":120,"context_line":"                self._process_metric(metric,"},{"line_number":121,"context_line":"                                     actual_metrics.get(metric),"}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_f7550750","line":118,"range":{"start_line":115,"start_character":16,"end_line":118,"end_character":61},"in_reply_to":"3aaa91ec_26a131aa","updated":"2016-06-29 15:15:42.000000000","message":"Hmm...I think that if returned metric wouldn\u0027t been found in metrics someone wants to have monitored, we shouldn\u0027t monitor that - that\u0027s clear. And I think you are right that is it not necessary to delete anything, simple \u0027continue\u0027 in the loop would suffice.","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"160d6f762fdeb93fc459a93843ead2f8a33ad92b","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                    metric, instance_url))"},{"line_number":113,"context_line":"                try:"},{"line_number":114,"context_line":"                    del actual_metrics[metric]"},{"line_number":115,"context_line":"                except KeyError:"},{"line_number":116,"context_line":"                    LOG.warn(\u0027Tried to remove disabled metric %s but it was \u0027"},{"line_number":117,"context_line":"                             \u0027not found in returned metrics %s\u0027 %"},{"line_number":118,"context_line":"                             (metric, actual_metrics.keys()))"},{"line_number":119,"context_line":"            else:"},{"line_number":120,"context_line":"                self._process_metric(metric,"},{"line_number":121,"context_line":"                                     actual_metrics.get(metric),"}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_df7d28e8","line":118,"range":{"start_line":115,"start_character":16,"end_line":118,"end_character":61},"in_reply_to":"3aaa91ec_f7550750","updated":"2016-07-01 05:24:07.000000000","message":"Done","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"12948ae1edd2b7dfcf894693ce20c290c608c131","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                try:"},{"line_number":169,"context_line":"                    metrics[it]"},{"line_number":170,"context_line":"                except IndexError:"},{"line_number":171,"context_line":"                    metrics.insert(it, [])"},{"line_number":172,"context_line":"                metrics[it].append(y)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        return metrics"}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_4e1a1370","line":171,"range":{"start_line":171,"start_character":20,"end_line":171,"end_character":27},"updated":"2016-07-01 22:37:29.000000000","message":"I think writing this as\n\nif it not in metrics:\n    metrics.insert(it, [])\n\nwould be preferable. I usually work of the mantra that exceptions should be in exceptional cases, not for handling normal cases. Additionally, exception handling is more costly.","commit_id":"c428dc2af3655882e5d5c78702f5cf678b85e449"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"0e2b0385525fe47d481f46ed48915de2cf9990a4","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                try:"},{"line_number":169,"context_line":"                    metrics[it]"},{"line_number":170,"context_line":"                except IndexError:"},{"line_number":171,"context_line":"                    metrics.insert(it, [])"},{"line_number":172,"context_line":"                metrics[it].append(y)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        return metrics"}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_341d5110","line":171,"range":{"start_line":171,"start_character":20,"end_line":171,"end_character":27},"in_reply_to":"1aa78d24_4e1a1370","updated":"2016-07-02 07:45:26.000000000","message":"Will fix that, I forgot about that.","commit_id":"c428dc2af3655882e5d5c78702f5cf678b85e449"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"ddf69fa84a43c5b9f6d4b64ebaa647caee897d04","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def _to_snake_case(word):"},{"line_number":28,"context_line":"    final \u003d \u0027\u0027"},{"line_number":29,"context_line":"    for item in word:"},{"line_number":30,"context_line":"        if item.isupper():"},{"line_number":31,"context_line":"            final +\u003d \"_\" + item.lower()"},{"line_number":32,"context_line":"        else:"},{"line_number":33,"context_line":"            final +\u003d item"},{"line_number":34,"context_line":"    if final[0] \u003d\u003d \"_\":"},{"line_number":35,"context_line":"        final \u003d final[1:]"},{"line_number":36,"context_line":"    return final"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def _avg_mapper(data):"}],"source_content_type":"text/x-python","patch_set":13,"id":"1aa78d24_c5e82be5","line":36,"range":{"start_line":28,"start_character":0,"end_line":36,"end_character":16},"updated":"2016-07-05 20:22:46.000000000","message":"The really \"pythonic\" way to write this is:\n\nreturn \u0027_\u0027.join([ item.lower() for item in word ])\n\n:)","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"a20ca687de6b7d6039b505ce3774838a0df0d9ba","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def _to_snake_case(word):"},{"line_number":28,"context_line":"    final \u003d \u0027\u0027"},{"line_number":29,"context_line":"    for item in word:"},{"line_number":30,"context_line":"        if item.isupper():"},{"line_number":31,"context_line":"            final +\u003d \"_\" + item.lower()"},{"line_number":32,"context_line":"        else:"},{"line_number":33,"context_line":"            final +\u003d item"},{"line_number":34,"context_line":"    if final[0] \u003d\u003d \"_\":"},{"line_number":35,"context_line":"        final \u003d final[1:]"},{"line_number":36,"context_line":"    return final"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def _avg_mapper(data):"}],"source_content_type":"text/x-python","patch_set":13,"id":"1aa78d24_6cde7c40","line":36,"range":{"start_line":28,"start_character":0,"end_line":36,"end_character":16},"in_reply_to":"1aa78d24_c5e82be5","updated":"2016-07-05 21:16:27.000000000","message":"-_-","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"d93598da5b91919f220bf73ed830b194482bbdec","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def _to_snake_case(word):"},{"line_number":28,"context_line":"    final \u003d \u0027\u0027"},{"line_number":29,"context_line":"    for item in word:"},{"line_number":30,"context_line":"        if item.isupper():"},{"line_number":31,"context_line":"            final +\u003d \"_\" + item.lower()"},{"line_number":32,"context_line":"        else:"},{"line_number":33,"context_line":"            final +\u003d item"},{"line_number":34,"context_line":"    if final[0] \u003d\u003d \"_\":"},{"line_number":35,"context_line":"        final \u003d final[1:]"},{"line_number":36,"context_line":"    return final"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def _avg_mapper(data):"}],"source_content_type":"text/x-python","patch_set":13,"id":"1aa78d24_dd562e5b","line":36,"range":{"start_line":28,"start_character":0,"end_line":36,"end_character":16},"in_reply_to":"1aa78d24_c5e82be5","updated":"2016-07-06 06:07:27.000000000","message":"Unfortunately, I think I have to stay with my solution.\n\nhttps://gist.github.com/kornicameister/7190cee6b35e6e8a3ac92d6eaea71468\n\nWhat I want to have is camelCase words converted into snakeCase. Your solution is pythonic but it\u0027s simplicity results in invalid behaviour.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"ddf69fa84a43c5b9f6d4b64ebaa647caee897d04","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        try:"},{"line_number":85,"context_line":"            stats \u003d self._get_data(config_url)"},{"line_number":86,"context_line":"        except Exception as ex:"},{"line_number":87,"context_line":"            LOG.error((\u0027Error while trying to get stats from Kibana[%s]\u0027"},{"line_number":88,"context_line":"                       % config_url))"},{"line_number":89,"context_line":"            LOG.exception(ex)"},{"line_number":90,"context_line":"            return"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"1aa78d24_3beaec0f","line":88,"range":{"start_line":87,"start_character":0,"end_line":88,"end_character":37},"updated":"2016-07-05 20:22:46.000000000","message":"Why do you sometimes use this format and sometimes a format like:\n\nLOG.error(\u0027Error while trying to get stats from Kibana[%s]\u0027,\n                      config_url)\n\nYou also have double opening and closing parentheses on this statement","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"e3af17e8eadeae63bc60a55fc19641241a6f98dc","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        try:"},{"line_number":85,"context_line":"            stats \u003d self._get_data(config_url)"},{"line_number":86,"context_line":"        except Exception as ex:"},{"line_number":87,"context_line":"            LOG.error((\u0027Error while trying to get stats from Kibana[%s]\u0027"},{"line_number":88,"context_line":"                       % config_url))"},{"line_number":89,"context_line":"            LOG.exception(ex)"},{"line_number":90,"context_line":"            return"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"1aa78d24_760bd48e","line":88,"range":{"start_line":87,"start_character":0,"end_line":88,"end_character":37},"in_reply_to":"1aa78d24_0c3b789d","updated":"2016-07-06 09:32:06.000000000","message":"Done","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"a20ca687de6b7d6039b505ce3774838a0df0d9ba","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        try:"},{"line_number":85,"context_line":"            stats \u003d self._get_data(config_url)"},{"line_number":86,"context_line":"        except Exception as ex:"},{"line_number":87,"context_line":"            LOG.error((\u0027Error while trying to get stats from Kibana[%s]\u0027"},{"line_number":88,"context_line":"                       % config_url))"},{"line_number":89,"context_line":"            LOG.exception(ex)"},{"line_number":90,"context_line":"            return"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"1aa78d24_0c3b789d","line":88,"range":{"start_line":87,"start_character":0,"end_line":88,"end_character":37},"in_reply_to":"1aa78d24_3beaec0f","updated":"2016-07-05 21:16:27.000000000","message":"Parentheses I will fix, as for the format, well I guess that\u0027s because in oslo log you can pass parameters as the second param and they will be printed, you do not have format string manually. In logging, I thought that this not an option.\n\nBut also I did not bother to check that, so I will and will update that line.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"ddf69fa84a43c5b9f6d4b64ebaa647caee897d04","unresolved":false,"context_lines":[{"line_number":130,"context_line":"            self._handle_other(averages, dimensions, metric, metric_name)"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def _handle_load_metric(self, averages, dimensions, metric_name):"},{"line_number":133,"context_line":"        assert len(_LOAD_TIME_SERIES) \u003d\u003d len(averages)"},{"line_number":134,"context_line":"        for it, avg in enumerate(averages):"},{"line_number":135,"context_line":"            load_sub_metric \u003d _LOAD_TIME_SERIES[it]"},{"line_number":136,"context_line":"            local_metric_name \u003d self.normalize(load_sub_metric,"}],"source_content_type":"text/x-python","patch_set":13,"id":"1aa78d24_1bd45045","line":133,"range":{"start_line":133,"start_character":8,"end_line":133,"end_character":14},"updated":"2016-07-05 20:22:46.000000000","message":"How is this going to show up in the Log file? Is it going to be understandable?","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"a20ca687de6b7d6039b505ce3774838a0df0d9ba","unresolved":false,"context_lines":[{"line_number":130,"context_line":"            self._handle_other(averages, dimensions, metric, metric_name)"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def _handle_load_metric(self, averages, dimensions, metric_name):"},{"line_number":133,"context_line":"        assert len(_LOAD_TIME_SERIES) \u003d\u003d len(averages)"},{"line_number":134,"context_line":"        for it, avg in enumerate(averages):"},{"line_number":135,"context_line":"            load_sub_metric \u003d _LOAD_TIME_SERIES[it]"},{"line_number":136,"context_line":"            local_metric_name \u003d self.normalize(load_sub_metric,"}],"source_content_type":"text/x-python","patch_set":13,"id":"1aa78d24_4c5c60ed","line":133,"range":{"start_line":133,"start_character":8,"end_line":133,"end_character":14},"in_reply_to":"1aa78d24_1bd45045","updated":"2016-07-05 21:16:27.000000000","message":"Thx, will fix that with.\nMost likely I can actually remove that.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"ddf69fa84a43c5b9f6d4b64ebaa647caee897d04","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            if type(flatten) !\u003d list:"},{"line_number":166,"context_line":"                flatten \u003d [flatten]"},{"line_number":167,"context_line":"            for it, y in enumerate(flatten):"},{"line_number":168,"context_line":"                try:"},{"line_number":169,"context_line":"                    metrics[it]"},{"line_number":170,"context_line":"                except IndexError:"},{"line_number":171,"context_line":"                    metrics.insert(it, [])"},{"line_number":172,"context_line":"                metrics[it].append(y)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        return metrics"}],"source_content_type":"text/x-python","patch_set":13,"id":"1aa78d24_8583c303","line":171,"range":{"start_line":168,"start_character":0,"end_line":171,"end_character":42},"updated":"2016-07-05 20:22:46.000000000","message":"You forgot to fix this","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"a20ca687de6b7d6039b505ce3774838a0df0d9ba","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            if type(flatten) !\u003d list:"},{"line_number":166,"context_line":"                flatten \u003d [flatten]"},{"line_number":167,"context_line":"            for it, y in enumerate(flatten):"},{"line_number":168,"context_line":"                try:"},{"line_number":169,"context_line":"                    metrics[it]"},{"line_number":170,"context_line":"                except IndexError:"},{"line_number":171,"context_line":"                    metrics.insert(it, [])"},{"line_number":172,"context_line":"                metrics[it].append(y)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        return metrics"}],"source_content_type":"text/x-python","patch_set":13,"id":"1aa78d24_8cf5a8cc","line":171,"range":{"start_line":168,"start_character":0,"end_line":171,"end_character":42},"in_reply_to":"1aa78d24_8583c303","updated":"2016-07-05 21:16:27.000000000","message":"I have some really hard days with this change...everyone reminds me about that, I remember about that. When it coms to altering the code here, I forget about that.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"e3af17e8eadeae63bc60a55fc19641241a6f98dc","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            if type(flatten) !\u003d list:"},{"line_number":166,"context_line":"                flatten \u003d [flatten]"},{"line_number":167,"context_line":"            for it, y in enumerate(flatten):"},{"line_number":168,"context_line":"                try:"},{"line_number":169,"context_line":"                    metrics[it]"},{"line_number":170,"context_line":"                except IndexError:"},{"line_number":171,"context_line":"                    metrics.insert(it, [])"},{"line_number":172,"context_line":"                metrics[it].append(y)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        return metrics"}],"source_content_type":"text/x-python","patch_set":13,"id":"1aa78d24_a1e058fb","line":171,"range":{"start_line":168,"start_character":0,"end_line":171,"end_character":42},"in_reply_to":"1aa78d24_8cf5a8cc","updated":"2016-07-06 09:32:06.000000000","message":"Ok, I wanted to get back to that.\nMetrics here is an array, not dictionary. \n\nWhat Roland proposed in PS#10 would be fine if metrics would be dictionary. But that\u0027s 2D array. So it really should stay that. It is recommended way as EAFP tells. So, I don\u0027t know, I think I will leave it like this till now and wait for discussion to continue.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"ad3b14dda4b51fb3742969405aec508ffee22c74","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            if type(flatten) !\u003d list:"},{"line_number":166,"context_line":"                flatten \u003d [flatten]"},{"line_number":167,"context_line":"            for it, y in enumerate(flatten):"},{"line_number":168,"context_line":"                try:"},{"line_number":169,"context_line":"                    metrics[it]"},{"line_number":170,"context_line":"                except IndexError:"},{"line_number":171,"context_line":"                    metrics.insert(it, [])"},{"line_number":172,"context_line":"                metrics[it].append(y)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        return metrics"}],"source_content_type":"text/x-python","patch_set":13,"id":"1aa78d24_c7e654af","line":171,"range":{"start_line":168,"start_character":0,"end_line":171,"end_character":42},"in_reply_to":"1aa78d24_a1e058fb","updated":"2016-07-06 09:58:10.000000000","message":"I agree with Tomasz. For me this is the best way to check if the index exists in 2D array.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":7874,"name":"Venkat Sundaram","email":"tsv@hp.com","username":"tsv"},"change_message_id":"f7028ccf90b81476f8a56fe27c465f441bf60dd2","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        req \u003d urllib2.Request(url, None, util.headers(self.agent_config))"},{"line_number":78,"context_line":"        request \u003d urllib2.urlopen(req)"},{"line_number":79,"context_line":"        response \u003d request.read()"},{"line_number":80,"context_line":"        return json.loads(response)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def _process_metrics(self, stats, dimensions, instance_metrics):"},{"line_number":83,"context_line":"        # collect from instance which metrics should be checked"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_2a303f56","line":80,"range":{"start_line":80,"start_character":20,"end_line":80,"end_character":25},"updated":"2016-07-28 04:53:11.000000000","message":"Could the response string be eliminated as follows ?\n\njson.load(request)","commit_id":"ca2ebb0b4c301f69db7bb8da93bc00777d1c3f66"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"547d0557f2c7692e0dea04e6888de7cdd6921b3b","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        req \u003d urllib2.Request(url, None, util.headers(self.agent_config))"},{"line_number":78,"context_line":"        request \u003d urllib2.urlopen(req)"},{"line_number":79,"context_line":"        response \u003d request.read()"},{"line_number":80,"context_line":"        return json.loads(response)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def _process_metrics(self, stats, dimensions, instance_metrics):"},{"line_number":83,"context_line":"        # collect from instance which metrics should be checked"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_2e604c35","line":80,"range":{"start_line":80,"start_character":20,"end_line":80,"end_character":25},"in_reply_to":"bacf61ea_2a303f56","updated":"2016-07-28 10:32:22.000000000","message":"Done","commit_id":"ca2ebb0b4c301f69db7bb8da93bc00777d1c3f66"},{"author":{"_account_id":7874,"name":"Venkat Sundaram","email":"tsv@hp.com","username":"tsv"},"change_message_id":"f7028ccf90b81476f8a56fe27c465f441bf60dd2","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                )"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def _get_kibana_version(self, url):"},{"line_number":148,"context_line":"        http \u003d httplib2.Http(timeout\u003d1000)"},{"line_number":149,"context_line":"        resp \u003d http.request("},{"line_number":150,"context_line":"            uri\u003durl,"},{"line_number":151,"context_line":"            method\u003d\u0027HEAD\u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_8d8225ff","line":148,"range":{"start_line":148,"start_character":15,"end_line":148,"end_character":23},"updated":"2016-07-28 04:53:11.000000000","message":"Nit:\n\nLine# 78 uses urllib2:\n\n* To be uniform, either httplib2 could be used in both places\n\n* or, the monasca_agent requirements.txt includes the requests package that could be used in both places","commit_id":"ca2ebb0b4c301f69db7bb8da93bc00777d1c3f66"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"547d0557f2c7692e0dea04e6888de7cdd6921b3b","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                )"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def _get_kibana_version(self, url):"},{"line_number":148,"context_line":"        http \u003d httplib2.Http(timeout\u003d1000)"},{"line_number":149,"context_line":"        resp \u003d http.request("},{"line_number":150,"context_line":"            uri\u003durl,"},{"line_number":151,"context_line":"            method\u003d\u0027HEAD\u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_5c63afdc","line":148,"range":{"start_line":148,"start_character":15,"end_line":148,"end_character":23},"in_reply_to":"bacf61ea_8d8225ff","updated":"2016-07-28 10:32:22.000000000","message":"Done","commit_id":"ca2ebb0b4c301f69db7bb8da93bc00777d1c3f66"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"732e43cdf0529d5d1c85acbd1bd634da9b19a51d","unresolved":false,"context_lines":[{"line_number":106,"context_line":"            # timestamp is internally modified"},{"line_number":107,"context_line":"            # TODO(trebskit) once change that fixes that is merged"},{"line_number":108,"context_line":"            # code here can be dropped"},{"line_number":109,"context_line":"            timestamp \u003d int(item[0]) / 1000.0"},{"line_number":110,"context_line":"            measurements \u003d item[1]"},{"line_number":111,"context_line":"            value_meta \u003d None"},{"line_number":112,"context_line":"            cleaned_metric_name \u003d metric_name"}],"source_content_type":"text/x-python","patch_set":17,"id":"bacf61ea_b292929d","line":109,"updated":"2016-07-29 11:42:50.000000000","message":"I am not sure if that\u0027s needed anymore. Need check that.","commit_id":"bc013f0c782134950753326cb062b4af973fbc32"}],"monasca_setup/detection/plugins/kibana.py":[{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"346a1ed36a9c237e16d649cd384f9cb6f50ab140","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        try:"},{"line_number":119,"context_line":"            import yaml"},{"line_number":120,"context_line":"        except Exception as ex:"},{"line_number":121,"context_line":"            LOG.warn(\u0027%s dependencies is not installed\u0027, str(ex))"},{"line_number":122,"context_line":"            return False"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_b7a914e2","line":121,"range":{"start_line":121,"start_character":12,"end_line":121,"end_character":65},"updated":"2016-06-28 09:01:48.000000000","message":"I think you can remove thi log from here. If package is missing error will be log in line 67.","commit_id":"8ea4c25f37ee01f69ae6e03941b25371cc7f239e"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"6b016fc850d715439a915a9586a2eda7014d97b6","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import os"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import httplib2"},{"line_number":19,"context_line":"import simplejson as json"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from monasca_setup import agent_config"},{"line_number":22,"context_line":"from monasca_setup import detection"}],"source_content_type":"text/x-python","patch_set":9,"id":"3aaa91ec_4adde6de","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":25},"updated":"2016-07-01 11:49:14.000000000","message":"I think this import could still raise the missing package issue.","commit_id":"6c0e1320ae59659927b213353def7a447d265ebc"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"fa69bfde58b1cff8a05fdf3661fe012d22df1c54","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import os"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import httplib2"},{"line_number":19,"context_line":"import simplejson as json"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from monasca_setup import agent_config"},{"line_number":22,"context_line":"from monasca_setup import detection"}],"source_content_type":"text/x-python","patch_set":9,"id":"1aa78d24_ab11e9b1","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":25},"in_reply_to":"3aaa91ec_4adde6de","updated":"2016-07-01 22:09:07.000000000","message":"Though day I guess...Done","commit_id":"6c0e1320ae59659927b213353def7a447d265ebc"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"92d31e339c6c70c609807ec54a729fbaeea81aa2","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                ]"},{"line_number":129,"context_line":"            }"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        LOG.info(\u0027\\tWatching the kibana process.\u0027)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        return config"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"1aa78d24_6112020b","line":131,"range":{"start_line":131,"start_character":18,"end_line":131,"end_character":48},"updated":"2016-07-05 23:15:58.000000000","message":"Do you think its necessary to log how many metrics are we watching here?","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"0cab16c0e522a5fd412d236568819946ad19e3b6","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                ]"},{"line_number":129,"context_line":"            }"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        LOG.info(\u0027\\tWatching the kibana process.\u0027)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        return config"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"1aa78d24_1abd5c02","line":131,"range":{"start_line":131,"start_character":18,"end_line":131,"end_character":48},"in_reply_to":"1aa78d24_6112020b","updated":"2016-07-06 04:55:17.000000000","message":"I am not exactly sure what you mean here. If auto-detection passes you will watch them all. Also I don\u0027t recall seeing anything like that in other detections.","commit_id":"37214e0b3b86c6fdc56ba9c1a96c40ea88d5962e"},{"author":{"_account_id":7874,"name":"Venkat Sundaram","email":"tsv@hp.com","username":"tsv"},"change_message_id":"f7028ccf90b81476f8a56fe27c465f441bf60dd2","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            LOG.exception(ex)"},{"line_number":92,"context_line":"            return"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        if kibana_protocol \u003d\u003d \u0027https\u0027:"},{"line_number":95,"context_line":"            LOG.error(\u0027\"https\" protocol is currently not supported\u0027)"},{"line_number":96,"context_line":"            return None"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_8d350548","line":94,"range":{"start_line":94,"start_character":11,"end_line":94,"end_character":26},"updated":"2016-07-28 04:53:11.000000000","message":"Is this check strictly required ?\nNothing wrong right now, but if a future version of Kibana does support https, a code change may be required right ?","commit_id":"ca2ebb0b4c301f69db7bb8da93bc00777d1c3f66"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"547d0557f2c7692e0dea04e6888de7cdd6921b3b","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            LOG.exception(ex)"},{"line_number":92,"context_line":"            return"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        if kibana_protocol \u003d\u003d \u0027https\u0027:"},{"line_number":95,"context_line":"            LOG.error(\u0027\"https\" protocol is currently not supported\u0027)"},{"line_number":96,"context_line":"            return None"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"bacf61ea_4e8820e8","line":94,"range":{"start_line":94,"start_character":11,"end_line":94,"end_character":26},"in_reply_to":"bacf61ea_8d350548","updated":"2016-07-28 10:32:22.000000000","message":"Yes, but that was not a requirement right now for me right now and I wanted to speed things up a bit. Adding https would be a feature to be added later on.\n\nAre you fine with that for now ?","commit_id":"ca2ebb0b4c301f69db7bb8da93bc00777d1c3f66"}],"tests/checks_d/test_kibana.py":[{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"eb08166e0ca0eb6ae5211673c178d99ca2685b2a","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @unittest.expectedFailure"},{"line_number":53,"context_line":"    def test_should_throw_exception_if_url_not_specified(self):"},{"line_number":54,"context_line":"        self.kibana_check.init_config \u003d {}"},{"line_number":55,"context_line":"        self.kibana_check.check(None)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def test_should_early_exit_if_all_metrics_disabled(self):"},{"line_number":58,"context_line":"        with contextlib.nested("}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_3f001301","line":55,"range":{"start_line":55,"start_character":8,"end_line":55,"end_character":37},"updated":"2016-06-29 12:17:30.000000000","message":"Maybe you can use self.assertRaises in this test. Then the expectedFailure decorator can be avoided.","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"160d6f762fdeb93fc459a93843ead2f8a33ad92b","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @unittest.expectedFailure"},{"line_number":53,"context_line":"    def test_should_throw_exception_if_url_not_specified(self):"},{"line_number":54,"context_line":"        self.kibana_check.init_config \u003d {}"},{"line_number":55,"context_line":"        self.kibana_check.check(None)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def test_should_early_exit_if_all_metrics_disabled(self):"},{"line_number":58,"context_line":"        with contextlib.nested("}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_7f27d4c9","line":55,"range":{"start_line":55,"start_character":8,"end_line":55,"end_character":37},"in_reply_to":"3aaa91ec_3f001301","updated":"2016-07-01 05:24:07.000000000","message":"Done","commit_id":"d06a64f6bdefff1134d28bbd6a3efca77fc243a2"}]}
