)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"f4090566ad6d5dab414b2de5ee9f10a6ce8b15c4","unresolved":false,"context_lines":[{"line_number":19,"context_line":"example of short sentence for column \u0027Alarm condition\u0027:"},{"line_number":20,"context_line":"* combinated states (AND) of 8babd6a2-c457-42d0-9eb5-cdfb3cb50203,"},{"line_number":21,"context_line":"  d0e11a94-8f59-48a9-8f6d-b0d68aaac8d0"},{"line_number":22,"context_line":"* cpu_util ge 50.0 during 1 x 60s"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: If4df2dc08f9f4cb7796fd98308c7d62e311d1138"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAS3%2F%2Fkkw%3D","line":22,"updated":"2013-09-24 15:07:20.000000000","message":"s/cpu_util ge/cpu_util \u003e\u003d/","commit_id":"9448aca93954ea12fb046be37ee147aec3f2f049"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"801494bcd53be3c74fde9f6c1d0807271d03ad7e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"example of short sentence for column \u0027Alarm condition\u0027:"},{"line_number":20,"context_line":"* combinated states (AND) of 8babd6a2-c457-42d0-9eb5-cdfb3cb50203,"},{"line_number":21,"context_line":"  d0e11a94-8f59-48a9-8f6d-b0d68aaac8d0"},{"line_number":22,"context_line":"* cpu_util ge 50.0 during 1 x 60s"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: If4df2dc08f9f4cb7796fd98308c7d62e311d1138"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAS3%2F%2Fhvw%3D","line":22,"in_reply_to":"AAAAS3%2F%2Fkkw%3D","updated":"2013-09-25 07:46:06.000000000","message":"Done","commit_id":"9448aca93954ea12fb046be37ee147aec3f2f049"}],"ceilometerclient/v2/shell.py":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"96f067dd3cdc9b8823249a1ed0eb0d89513a8d23","unresolved":false,"context_lines":[{"line_number":131,"context_line":"def alarm_rule_formatter(alarm):"},{"line_number":132,"context_line":"    if alarm.type \u003d\u003d \u0027threshold\u0027:"},{"line_number":133,"context_line":"        return (\u0027%(meter_name)s %(comparison_operator)s \u0027"},{"line_number":134,"context_line":"                \u0027%(threshold)s during %(evaluation_periods)s x %(period)ss\u0027 %"},{"line_number":135,"context_line":"                {"},{"line_number":136,"context_line":"                    \u0027meter_name\u0027: alarm.rule[\u0027meter_name\u0027],"},{"line_number":137,"context_line":"                    \u0027threshold\u0027: alarm.rule[\u0027threshold\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2FlF8%3D","line":134,"updated":"2013-09-24 13:01:57.000000000","message":"I like this really concise description of the alarm condition.\n\nIt could be marginally improved though with something like:\n\n  COMPARATOR_STR \u003d dict(gt\u003d\u0027\u003e\u0027, lt\u003d\u0027\u003c\u0027, eq\u003d\u0027\u003d\u003d\u0027)\n  ...\n  \u0027comparison_operator\u0027: COMPARATOR_STR.get(alarm.rule[\u0027comparison_operator\u0027])\n\nso that the condition becomes:\n\n  cpu_util \u003e 0.1 during 1 x 60s\n\nas opposed to:\n\n  cpu_util gt 0.1 during 1 x 60s","commit_id":"8d58c79832249f376f6d1992be63c6aceb30a1d7"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"27b382d8a8517b2eca195e4269bfff13697c67f7","unresolved":false,"context_lines":[{"line_number":131,"context_line":"def alarm_rule_formatter(alarm):"},{"line_number":132,"context_line":"    if alarm.type \u003d\u003d \u0027threshold\u0027:"},{"line_number":133,"context_line":"        return (\u0027%(meter_name)s %(comparison_operator)s \u0027"},{"line_number":134,"context_line":"                \u0027%(threshold)s during %(evaluation_periods)s x %(period)ss\u0027 %"},{"line_number":135,"context_line":"                {"},{"line_number":136,"context_line":"                    \u0027meter_name\u0027: alarm.rule[\u0027meter_name\u0027],"},{"line_number":137,"context_line":"                    \u0027threshold\u0027: alarm.rule[\u0027threshold\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2Fk6A%3D","line":134,"in_reply_to":"AAAAS3%2F%2FlF8%3D","updated":"2013-09-24 14:27:03.000000000","message":"Done","commit_id":"8d58c79832249f376f6d1992be63c6aceb30a1d7"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"96f067dd3cdc9b8823249a1ed0eb0d89513a8d23","unresolved":false,"context_lines":[{"line_number":170,"context_line":"              \u0027alarm_actions\u0027, \u0027ok_actions\u0027, \u0027insufficient_data_actions\u0027,"},{"line_number":171,"context_line":"              \u0027repeat_actions\u0027]"},{"line_number":172,"context_line":"    data \u003d dict([(f, getattr(alarm, f, \u0027\u0027)) for f in fields])"},{"line_number":173,"context_line":"    data.update(alarm.rule)"},{"line_number":174,"context_line":"    utils.print_dict(data, wrap\u003d72)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2FlFE%3D","line":173,"updated":"2013-09-24 13:01:57.000000000","message":"This approach works well IMO.\n\nThough again could be marginally improved in how the query is rendered, say:\n\n | query             | [{u\u0027field\u0027: u\u0027resource_id\u0027, u\u0027value\u0027: u\u0027ffe88891-ba24-4b8b-            |\n |                   | bac0-e0af4164f2b3\u0027, u\u0027op\u0027: u\u0027eq\u0027}, {u\u0027field\u0027: u\u0027project_id\u0027, u\u0027value\u0027: |\n |                   | u\u00270ee5db23b85f4eccaca652b3cddb6a6e\u0027, u\u0027op\u0027: u\u0027eq\u0027}]                    |\n\nwould be friendlier as something like:\n\n | query             | resource_id \u003d\u003d ffe88891-ba24-4b8b-bac0-e0af4164f2b3 AND |\n |                   | project_id \u003d\u003d 0ee5db23b85f4eccaca652b3cddb6a6e          |","commit_id":"8d58c79832249f376f6d1992be63c6aceb30a1d7"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"27b382d8a8517b2eca195e4269bfff13697c67f7","unresolved":false,"context_lines":[{"line_number":170,"context_line":"              \u0027alarm_actions\u0027, \u0027ok_actions\u0027, \u0027insufficient_data_actions\u0027,"},{"line_number":171,"context_line":"              \u0027repeat_actions\u0027]"},{"line_number":172,"context_line":"    data \u003d dict([(f, getattr(alarm, f, \u0027\u0027)) for f in fields])"},{"line_number":173,"context_line":"    data.update(alarm.rule)"},{"line_number":174,"context_line":"    utils.print_dict(data, wrap\u003d72)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2Fk6E%3D","line":173,"in_reply_to":"AAAAS3%2F%2FlFE%3D","updated":"2013-09-24 14:27:03.000000000","message":"Done","commit_id":"8d58c79832249f376f6d1992be63c6aceb30a1d7"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"f0d069794b91cd566520c2be4f87f7711793f47a","unresolved":false,"context_lines":[{"line_number":134,"context_line":"def alarm_rule_formatter(alarm):"},{"line_number":135,"context_line":"    if alarm.type \u003d\u003d \u0027threshold\u0027:"},{"line_number":136,"context_line":"        return (\u0027%(meter_name)s %(comparison_operator)s \u0027"},{"line_number":137,"context_line":"                \u0027%(threshold)s during %(evaluation_periods)s x %(period)ss\u0027 %"},{"line_number":138,"context_line":"                {"},{"line_number":139,"context_line":"                    \u0027meter_name\u0027: alarm.rule[\u0027meter_name\u0027],"},{"line_number":140,"context_line":"                    \u0027threshold\u0027: alarm.rule[\u0027threshold\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2Fhp8%3D","line":137,"updated":"2013-09-25 08:15:53.000000000","message":"how about change \u0027%(period)ss\u0027 to %(period)s seconds\u0027 to make it more clearly?","commit_id":"ce01f564651bee07f91be8dc7f6dfca561216625"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"2d9197fc076dd401e2bfb189511cf535a659eec5","unresolved":false,"context_lines":[{"line_number":134,"context_line":"def alarm_rule_formatter(alarm):"},{"line_number":135,"context_line":"    if alarm.type \u003d\u003d \u0027threshold\u0027:"},{"line_number":136,"context_line":"        return (\u0027%(meter_name)s %(comparison_operator)s \u0027"},{"line_number":137,"context_line":"                \u0027%(threshold)s during %(evaluation_periods)s x %(period)ss\u0027 %"},{"line_number":138,"context_line":"                {"},{"line_number":139,"context_line":"                    \u0027meter_name\u0027: alarm.rule[\u0027meter_name\u0027],"},{"line_number":140,"context_line":"                    \u0027threshold\u0027: alarm.rule[\u0027threshold\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2FhiM%3D","line":137,"in_reply_to":"AAAAS3%2F%2Fhp8%3D","updated":"2013-09-25 08:57:25.000000000","message":"We want a really short string here to reduce the size of the alarm-list table","commit_id":"ce01f564651bee07f91be8dc7f6dfca561216625"}]}
