)]}'
{"docs/Plugins.md":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"1a43725d555bb18733b118e30d95ae5a06022597","unresolved":false,"context_lines":[{"line_number":782,"context_line":"| vertica.db.resource.pool.running_query_count | hostname, node_name, resource_pool, service\u003dvertica | Number of queries actually running using this pool. |"},{"line_number":783,"context_line":"| vertica.db.resource.request_queue_depth | hostname, node_name, service\u003dvertica | The cumulative number of requests for threads, file handles, and memory. |"},{"line_number":784,"context_line":"| vertica.db.resource.resource_rejections | hostname, node_name, service\u003dvertica | The number of rejected plan requests. |"},{"line_number":785,"context_line":"| vertica.db.resource.wos_used_bytes | hostname, node_name, service\u003dvertica | The size of the WOS in bytes. |"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":""},{"line_number":788,"context_line":"## Elasticsearch Checks"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"bab6814e_a7335961","line":785,"range":{"start_line":785,"start_character":2,"end_line":785,"end_character":9},"updated":"2016-05-20 03:24:02.000000000","message":"Do you really want the \"db\" group after the vertica prefix? It seems redundant. The only reason why i think it could be useful if is you had another subgroup after vertica, but currently there isn\u0027t one.","commit_id":"39fc3c147434223385d760728916005af81ee838"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"58a4d081c90fc528c0c72e5300db5aa6caf38f3a","unresolved":false,"context_lines":[{"line_number":782,"context_line":"| vertica.db.resource.pool.running_query_count | hostname, node_name, resource_pool, service\u003dvertica | Number of queries actually running using this pool. |"},{"line_number":783,"context_line":"| vertica.db.resource.request_queue_depth | hostname, node_name, service\u003dvertica | The cumulative number of requests for threads, file handles, and memory. |"},{"line_number":784,"context_line":"| vertica.db.resource.resource_rejections | hostname, node_name, service\u003dvertica | The number of rejected plan requests. |"},{"line_number":785,"context_line":"| vertica.db.resource.wos_used_bytes | hostname, node_name, service\u003dvertica | The size of the WOS in bytes. |"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":""},{"line_number":788,"context_line":"## Elasticsearch Checks"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"bab6814e_8086fbd8","line":785,"range":{"start_line":785,"start_character":2,"end_line":785,"end_character":9},"in_reply_to":"bab6814e_a7335961","updated":"2016-05-20 06:09:07.000000000","message":"no i think that is a great suggestion to take that out in the prefix","commit_id":"39fc3c147434223385d760728916005af81ee838"}],"monasca_agent/collector/checks_d/vertica.py":[{"author":{"_account_id":12133,"name":"Cindy O\u0027Neill","email":"cindy.o-neill@hpe.com","username":"oneilcin"},"change_message_id":"ac85abf5486530eb97253be78c326ec9fd657358","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            if metric_name in [\u0027resource_rejections\u0027, \u0027disk_space_rejections\u0027]:"},{"line_number":97,"context_line":"                self.rate(resource_metric_name + metric_name, metric_value, dimensions\u003ddimensions)"},{"line_number":98,"context_line":"            else:"},{"line_number":99,"context_line":"                self.gauge(resource_metric_name + metric_name, metric_value, dimensions\u003ddimensions)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def _get_resource_pool_metrics(self, connection, node_name, dimensions):"},{"line_number":102,"context_line":"        resource_pool_metric_name \u003d \u0027vertica.db.resource.pool.\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_435679ce","line":99,"updated":"2016-05-17 18:04:09.000000000","message":"What is the purpose of this if test for rate and gauge?  Shouldn\u0027t it always be a gauge if it was found in results?","commit_id":"fab1801e05f6e87d0cccbae5804b6b7f2c1d4e5f"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"20225ee3c624261f7763842f9e2561bd91bad25d","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            if metric_name in [\u0027resource_rejections\u0027, \u0027disk_space_rejections\u0027]:"},{"line_number":97,"context_line":"                self.rate(resource_metric_name + metric_name, metric_value, dimensions\u003ddimensions)"},{"line_number":98,"context_line":"            else:"},{"line_number":99,"context_line":"                self.gauge(resource_metric_name + metric_name, metric_value, dimensions\u003ddimensions)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def _get_resource_pool_metrics(self, connection, node_name, dimensions):"},{"line_number":102,"context_line":"        resource_pool_metric_name \u003d \u0027vertica.db.resource.pool.\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_a3a3e541","line":99,"in_reply_to":"dab17558_435679ce","updated":"2016-05-17 18:11:48.000000000","message":"we get several metrics out of the result. The rejections is a count that grows endlessly so we want a rate on it so we can alarm if it grew by 1 or more. The others are gauges.","commit_id":"fab1801e05f6e87d0cccbae5804b6b7f2c1d4e5f"},{"author":{"_account_id":12133,"name":"Cindy O\u0027Neill","email":"cindy.o-neill@hpe.com","username":"oneilcin"},"change_message_id":"ac85abf5486530eb97253be78c326ec9fd657358","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            self.log.error(error_string)"},{"line_number":132,"context_line":"            self.gauge(\"vertica.db.node.connection_status\", 1, dimensions\u003ddimensions)"},{"line_number":133,"context_line":"            return"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        self._get_node_status(connection, node_name, dimensions)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        self._get_projection_metrics(connection, node_name, dimensions)"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_e38ccd36","line":134,"updated":"2016-05-17 18:04:09.000000000","message":"The gets below should be wrapped in a try catch so we can log the error.  _query_database raises an exception.","commit_id":"fab1801e05f6e87d0cccbae5804b6b7f2c1d4e5f"},{"author":{"_account_id":12133,"name":"Cindy O\u0027Neill","email":"cindy.o-neill@hpe.com","username":"oneilcin"},"change_message_id":"e8708275f4f92ae10e09769bda777cfd9e529198","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            self.log.error(error_string)"},{"line_number":132,"context_line":"            self.gauge(\"vertica.db.node.connection_status\", 1, dimensions\u003ddimensions)"},{"line_number":133,"context_line":"            return"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        self._get_node_status(connection, node_name, dimensions)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        self._get_projection_metrics(connection, node_name, dimensions)"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_e6ea1a0e","line":134,"in_reply_to":"dab17558_a3280598","updated":"2016-05-17 18:43:11.000000000","message":"I think it would be nice to log here, since we did that above with a connection error.","commit_id":"fab1801e05f6e87d0cccbae5804b6b7f2c1d4e5f"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"20225ee3c624261f7763842f9e2561bd91bad25d","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            self.log.error(error_string)"},{"line_number":132,"context_line":"            self.gauge(\"vertica.db.node.connection_status\", 1, dimensions\u003ddimensions)"},{"line_number":133,"context_line":"            return"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        self._get_node_status(connection, node_name, dimensions)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        self._get_projection_metrics(connection, node_name, dimensions)"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_a3280598","line":134,"in_reply_to":"dab17558_e38ccd36","updated":"2016-05-17 18:11:48.000000000","message":"the exception will raise to the log file and the user will be able to see what query failed (believe me i know i messed up the queries plenty in testing :)). If you are talking about not wanting to raise an exception out of the plugin running then i would be fine with catching it here and just logging an error. Is that what we want?","commit_id":"fab1801e05f6e87d0cccbae5804b6b7f2c1d4e5f"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"67e17f03d32a73b3381dffdda60bb73002f6f8ca","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            self.log.error(error_string)"},{"line_number":132,"context_line":"            self.gauge(\"vertica.db.node.connection_status\", 1, dimensions\u003ddimensions)"},{"line_number":133,"context_line":"            return"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        self._get_node_status(connection, node_name, dimensions)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        self._get_projection_metrics(connection, node_name, dimensions)"}],"source_content_type":"text/x-python","patch_set":6,"id":"bab6814e_c0222ab9","line":134,"in_reply_to":"dab17558_e6ea1a0e","updated":"2016-05-18 14:19:21.000000000","message":"I agree with you the more I think about this. I think we should put the try catch in. Will add and put up a new patch set. Thanks for testing!","commit_id":"fab1801e05f6e87d0cccbae5804b6b7f2c1d4e5f"},{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"84e3859e972d20315188d14c8a0e74b15b14166c","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            return stdout, 0"},{"line_number":84,"context_line":"        else:"},{"line_number":85,"context_line":"            self.log.error(\"Error querying vertica with return code of {0} and error {1}\".format(return_code, stderr))"},{"line_number":86,"context_line":"            return None, 1"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _build_query(self, node_name):"},{"line_number":89,"context_line":"        query \u003d \u0027\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aa08908_e1f3c59c","line":86,"range":{"start_line":86,"start_character":19,"end_line":86,"end_character":23},"updated":"2016-06-06 20:23:03.000000000","message":"I don\u0027t like functions that return different types.  Is there any reason not to return stderr here?\n\nIs the error output only going to be on stderr or are there situations where the error output is also on stdout?","commit_id":"3cb5a73a27e99d131f5e08f876c0864f8ddbefb8"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"62c01ceebbb5ab6cf02f67df0f24eeed91f81949","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            return stdout, 0"},{"line_number":84,"context_line":"        else:"},{"line_number":85,"context_line":"            self.log.error(\"Error querying vertica with return code of {0} and error {1}\".format(return_code, stderr))"},{"line_number":86,"context_line":"            return None, 1"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _build_query(self, node_name):"},{"line_number":89,"context_line":"        query \u003d \u0027\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aa08908_e1fd853b","line":86,"range":{"start_line":86,"start_character":19,"end_line":86,"end_character":23},"in_reply_to":"7aa08908_e1f3c59c","updated":"2016-06-06 20:25:20.000000000","message":"from my testing it was only on stderr","commit_id":"3cb5a73a27e99d131f5e08f876c0864f8ddbefb8"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"0979416f262ab5cfd6186b82c32b794061535528","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        if connection_status !\u003d 0:"},{"line_number":66,"context_line":"            self.gauge(\u0027vertica.db.connection_status\u0027, 1, dimensions\u003ddimensions)"},{"line_number":67,"context_line":"        else:"},{"line_number":68,"context_line":"            results \u003d results.split(\u0027\\n\u0027)"},{"line_number":69,"context_line":"            self._report_node_status(results[0], dimensions)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"            self._report_resource_metrics(results[1], dimensions)"}],"source_content_type":"text/x-python","patch_set":12,"id":"7aa08908_842993e8","line":68,"range":{"start_line":68,"start_character":12,"end_line":68,"end_character":41},"updated":"2016-06-08 22:03:46.000000000","message":"The stdout parsing could all be done here.","commit_id":"8b4ed96fa7787552897a5cf46a07f1ba7ce4f1f6"}],"monasca_setup/detection/plugins/vertica.py":[{"author":{"_account_id":12133,"name":"Cindy O\u0027Neill","email":"cindy.o-neill@hpe.com","username":"oneilcin"},"change_message_id":"ac85abf5486530eb97253be78c326ec9fd657358","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        except Exception:"},{"line_number":94,"context_line":"            exception_msg \u003d \u0027Error configuring the Vertica check plugin\u0027"},{"line_number":95,"context_line":"            log.error(exception_msg)"},{"line_number":96,"context_line":"            raise Exception(exception_msg)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        return config"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_e8baeabe","line":96,"updated":"2016-05-17 18:04:09.000000000","message":"I don\u0027t believe we should raise an Exception here.  This causes an unhandled Exception during setup.  The informative error message that is log is good.  (see other detection plugins, apache, crash).","commit_id":"fab1801e05f6e87d0cccbae5804b6b7f2c1d4e5f"},{"author":{"_account_id":12133,"name":"Cindy O\u0027Neill","email":"cindy.o-neill@hpe.com","username":"oneilcin"},"change_message_id":"e8708275f4f92ae10e09769bda777cfd9e529198","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        except Exception:"},{"line_number":94,"context_line":"            exception_msg \u003d \u0027Error configuring the Vertica check plugin\u0027"},{"line_number":95,"context_line":"            log.error(exception_msg)"},{"line_number":96,"context_line":"            raise Exception(exception_msg)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        return config"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_06275e63","line":96,"in_reply_to":"dab17558_03c91126","updated":"2016-05-17 18:43:11.000000000","message":"Hmm we are not consistent in other plugins.  I thought the ansible module that we use to call this relies on False returned to show it failed.","commit_id":"fab1801e05f6e87d0cccbae5804b6b7f2c1d4e5f"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"20225ee3c624261f7763842f9e2561bd91bad25d","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        except Exception:"},{"line_number":94,"context_line":"            exception_msg \u003d \u0027Error configuring the Vertica check plugin\u0027"},{"line_number":95,"context_line":"            log.error(exception_msg)"},{"line_number":96,"context_line":"            raise Exception(exception_msg)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        return config"}],"source_content_type":"text/x-python","patch_set":6,"id":"dab17558_03c91126","line":96,"in_reply_to":"dab17558_e8baeabe","updated":"2016-05-17 18:11:48.000000000","message":"if we dont raise an exception we return 0 from the detection call and if you are doing that from something like ansible it will look like we ran the check correctly and had no errors. What do you think? I rather raise an exception so we know it failed","commit_id":"fab1801e05f6e87d0cccbae5804b6b7f2c1d4e5f"}]}
