)]}'
{"conf.d/vcenter.yaml":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"c44205d2667e77d0ecf41dad099fee51d9a0870e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    #    dimensions:"},{"line_number":8,"context_line":"    #        vcenter:ip"},{"line_number":9,"context_line":"    #        cluster:clustername"},{"line_number":10,"context_line":"    -   vcenter: \u003cvcenter-ip\u003e"},{"line_number":11,"context_line":"        username: \u003cuser\u003e:"},{"line_number":12,"context_line":"        password: \u003cpassword\u003e"},{"line_number":13,"context_line":"        clusters: \u003c[cluster list]\u003e"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9a8ffd7b_9a4f0d92","line":10,"updated":"2015-11-24 21:39:19.000000000","message":"There should be only one space between the dash and vcenter:","commit_id":"664238bac81b6957c057cbc076768d54f9af93ce"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"0db5bbcfa7874ac1f13daa154471a215a2dc6a85","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    #    dimensions:"},{"line_number":8,"context_line":"    #        vcenter:ip"},{"line_number":9,"context_line":"    #        cluster:clustername"},{"line_number":10,"context_line":"    - vcenter: \u003cvcenter-ip\u003e"},{"line_number":11,"context_line":"        username: \u003cuser\u003e:"},{"line_number":12,"context_line":"        password: \u003cpassword\u003e"},{"line_number":13,"context_line":"        clusters: \u003c[cluster list]\u003e"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"da6ed579_483e57db","line":10,"range":{"start_line":10,"start_character":16,"end_line":10,"end_character":23},"updated":"2016-01-14 00:42:23.000000000","message":"Was wondering if \"vcenter\" was really an adequate field name, or whether something like vcenter_ip is more descriptive.","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"0db5bbcfa7874ac1f13daa154471a215a2dc6a85","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    #        vcenter:ip"},{"line_number":9,"context_line":"    #        cluster:clustername"},{"line_number":10,"context_line":"    - vcenter: \u003cvcenter-ip\u003e"},{"line_number":11,"context_line":"        username: \u003cuser\u003e:"},{"line_number":12,"context_line":"        password: \u003cpassword\u003e"},{"line_number":13,"context_line":"        clusters: \u003c[cluster list]\u003e"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"da6ed579_a856f327","line":11,"range":{"start_line":11,"start_character":8,"end_line":11,"end_character":16},"updated":"2016-01-14 00:42:23.000000000","message":"The indenting looks off.","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"}],"docs/Plugins.md":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"0db5bbcfa7874ac1f13daa154471a215a2dc6a85","unresolved":false,"context_lines":[{"line_number":1288,"context_line":"    - vcenter: \u003cvcenter-ip or fqdn\u003e"},{"line_number":1289,"context_line":"        username: \u003cvcenter-user\u003e"},{"line_number":1290,"context_line":"        password: \u003cvcenter-password\u003e"},{"line_number":1291,"context_line":"        clusters: \u003c[cluster-name-list]\u003e # e.g: [cluster-1, cluster-2]"},{"line_number":1292,"context_line":"```"},{"line_number":1293,"context_line":""},{"line_number":1294,"context_line":"## ESX Cluster Metrics"}],"source_content_type":"text/x-markdown","patch_set":6,"id":"da6ed579_4815f746","line":1291,"range":{"start_line":1291,"start_character":8,"end_line":1291,"end_character":16},"updated":"2016-01-14 00:42:23.000000000","message":"Please see my comments in the documentation about indenting.","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"0db5bbcfa7874ac1f13daa154471a215a2dc6a85","unresolved":false,"context_lines":[{"line_number":1304,"context_line":"| mem.used_perc | A cluster\u0027s consumed memory in percentage |"},{"line_number":1305,"context_line":"| disk.total_space_mb | Aggregation of maximum capacities of datastores connected to the hosts of a cluster, in megabytes. ESX counter name: summary.capacity |"},{"line_number":1306,"context_line":"| disk.total_used_space_mb | Aggregation of all available capacities of datastores connected to the hosts of a cluster, in megabytes. ESX counter name: summary.freeSpace |"},{"line_number":1307,"context_line":"| disk.total_used_space_perc | Aggregation of all available capacities of datastores connected to the hosts of a cluster, in percent |"},{"line_number":1308,"context_line":""},{"line_number":1309,"context_line":"## ESX Cluster Dimensions"},{"line_number":1310,"context_line":"```"}],"source_content_type":"text/x-markdown","patch_set":6,"id":"da6ed579_f3fb80bf","line":1307,"range":{"start_line":1307,"start_character":2,"end_line":1307,"end_character":6},"updated":"2016-01-14 00:42:23.000000000","message":"Ideally, and if possible, the metrics that are supplied by ESX should match what is being supplied by KVM. Comparing the documentation at, https://github.com/openstack/monasca-agent/blob/master/docs/Plugins.md#per-instance-metrics, the metrics that are listed above, aren\u0027t the same.\n\nNote, for the VM metrics that we collect via libvirt, which is mainly for KVM, the metrics are sent by the Agent to both the operators account and the customer/tenant account. The names of the metrics are slightly different in this case between the two accounts as well as some of the dimensions. For example, the operator metrics have a prefix of \"vm.\" on them top help distinguish them between the metrics for actual compute hosts. The dimensions might differ. For the operator versions, the hostname is the hypervisor\u0027s hostname, and for the customer/tenant view, the hostname is the name of the VM as provisioned.  See, https://github.com/openstack/monasca-agent/blob/master/docs/Plugins.md#vm-dimensions.\n\nFrom the customer/tenant perspective, all the metrics, their names and dimensions, should be the same, whether KVM or ESX.\n\nFrom the operator/tenant perspective, I think it would be OK to diverge if necessary. Managing an ESX cluster is different than managing KVM. For example, the prefix on the metrics should maybe be \"esx\" or \"vcenter\" to distinguish against the current KVM metrics.","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":11794,"name":"Renuka Prasad N S","username":"RenukaPrasad","inactive":true},"change_message_id":"b75549de31403c4f746a491f9d7f95602af88e71","unresolved":false,"context_lines":[{"line_number":1304,"context_line":"| mem.used_perc | A cluster\u0027s consumed memory in percentage |"},{"line_number":1305,"context_line":"| disk.total_space_mb | Aggregation of maximum capacities of datastores connected to the hosts of a cluster, in megabytes. ESX counter name: summary.capacity |"},{"line_number":1306,"context_line":"| disk.total_used_space_mb | Aggregation of all available capacities of datastores connected to the hosts of a cluster, in megabytes. ESX counter name: summary.freeSpace |"},{"line_number":1307,"context_line":"| disk.total_used_space_perc | Aggregation of all available capacities of datastores connected to the hosts of a cluster, in percent |"},{"line_number":1308,"context_line":""},{"line_number":1309,"context_line":"## ESX Cluster Dimensions"},{"line_number":1310,"context_line":"```"}],"source_content_type":"text/x-markdown","patch_set":6,"id":"ba63e191_9f7847c6","line":1307,"range":{"start_line":1307,"start_character":2,"end_line":1307,"end_character":6},"in_reply_to":"da6ed579_f3fb80bf","updated":"2016-01-19 19:19:50.000000000","message":"This plugin\u0027s functionality is similar to monitoring any Linux or RHEL (hosts) servers, so we considered it as System plugin. For this reason we maintained the metric names same as system plugin metric names. Let me know if you are pointing to a specific name.\nAnd this plugin will not address VM monitoring.\nThere is already a plugin under virt.vmware package which I believe is supposed to address VM monitoring.","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"28d0fc9032ebf8f8309458ac1fa7317306c7c332","unresolved":false,"context_lines":[{"line_number":1316,"context_line":"| mem.used_perc | A cluster\u0027s consumed memory in percentage |"},{"line_number":1317,"context_line":"| disk.total_space_mb | Aggregation of maximum capacities of datastores connected to the hosts of a cluster, in megabytes. ESX counter name: summary.capacity |"},{"line_number":1318,"context_line":"| disk.total_used_space_mb | Aggregation of all available capacities of datastores connected to the hosts of a cluster, in megabytes. ESX counter name: summary.freeSpace |"},{"line_number":1319,"context_line":"| disk.total_used_space_perc | Aggregation of all available capacities of datastores connected to the hosts of a cluster, in percent |"},{"line_number":1320,"context_line":""},{"line_number":1321,"context_line":"## ESX Cluster Dimensions"},{"line_number":1322,"context_line":"```"}],"source_content_type":"text/x-markdown","patch_set":8,"id":"7a5de9d1_d172577c","line":1319,"range":{"start_line":1319,"start_character":2,"end_line":1319,"end_character":6},"updated":"2016-01-27 22:23:38.000000000","message":"I would prefer adding a \"vcenter\" prefix to the metric name. This will make it clear what these metrics are for.","commit_id":"3c7ecfb623c38c7ad9df654a1a0a4871f16d7500"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"28d0fc9032ebf8f8309458ac1fa7317306c7c332","unresolved":false,"context_lines":[{"line_number":1328,"context_line":"```"},{"line_number":1329,"context_line":""},{"line_number":1330,"context_line":"# License"},{"line_number":1331,"context_line":"Copyright (c) 2015 Hewlett-Packard Development Company, L.P."}],"source_content_type":"text/x-markdown","patch_set":8,"id":"7a5de9d1_b169db8d","line":1331,"range":{"start_line":1331,"start_character":14,"end_line":1331,"end_character":18},"updated":"2016-01-27 22:23:38.000000000","message":"You should probably the copyrights for 2016.","commit_id":"3c7ecfb623c38c7ad9df654a1a0a4871f16d7500"}],"monasca_agent/collector/checks_d/vcenter.py":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"c44205d2667e77d0ecf41dad099fee51d9a0870e","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            return {}"},{"line_number":75,"context_line":"        return {prop.name: prop.val for prop in propset}"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def get_api_session(self):"},{"line_number":78,"context_line":"        api_session \u003d api.VMwareAPISession("},{"line_number":79,"context_line":"            self.vcenter,"},{"line_number":80,"context_line":"            self.user,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_e531deed","line":77,"updated":"2015-11-24 21:39:19.000000000","message":"Very inconsistent which methods have a leading underscore and which one don\u0027t. For example, I would think this one would but it doesn\u0027t","commit_id":"664238bac81b6957c057cbc076768d54f9af93ce"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"c44205d2667e77d0ecf41dad099fee51d9a0870e","unresolved":false,"context_lines":[{"line_number":432,"context_line":"            self.is_new_session \u003d False"},{"line_number":433,"context_line":"            self.log.error(\"Exception: %s\" % str(e))"},{"line_number":434,"context_line":"            try:"},{"line_number":435,"context_line":"                self.session.close()"},{"line_number":436,"context_line":"            except Exception:"},{"line_number":437,"context_line":"                self.log.error(traceback.format_exc())"},{"line_number":438,"context_line":"            raise e"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_65816e4a","line":435,"updated":"2015-11-24 21:39:19.000000000","message":"You should check if session exists before closing it","commit_id":"664238bac81b6957c057cbc076768d54f9af93ce"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"c44205d2667e77d0ecf41dad099fee51d9a0870e","unresolved":false,"context_lines":[{"line_number":595,"context_line":"                    perf_metric_series_csv \u003d perf_metric_series_csvs[j]"},{"line_number":596,"context_line":"                    name \u003d self.counters[perf_metric_series_csv.id.counterId]"},{"line_number":597,"context_line":"                    instance \u003d perf_metric_series_csv.id.instance"},{"line_number":598,"context_line":"                    if(instance is not None and"},{"line_number":599,"context_line":"                       len(instance) \u003e 0 and"},{"line_number":600,"context_line":"                       instance is not \"*\"):"},{"line_number":601,"context_line":"                        name +\u003d \".\" + instance"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_5a176551","line":598,"updated":"2015-11-24 21:39:19.000000000","message":"Should be a space after the if","commit_id":"664238bac81b6957c057cbc076768d54f9af93ce"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"0db5bbcfa7874ac1f13daa154471a215a2dc6a85","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2015 HP Development Company, L.P."},{"line_number":2,"context_line":"\"\"\"VCenter Only."},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Generic VCenter check. This check allows you to specify particular metrics that"}],"source_content_type":"text/x-python","patch_set":6,"id":"da6ed579_13209447","line":1,"range":{"start_line":1,"start_character":6,"end_line":1,"end_character":15},"updated":"2016-01-14 00:42:23.000000000","message":"This copyright notice needs to be updated to 2016.","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"0db5bbcfa7874ac1f13daa154471a215a2dc6a85","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        \"\"\"Method to find the shared datastores associated with the cluster"},{"line_number":172,"context_line":"        Also handles cluster having single host with a non-shared datastore."},{"line_number":173,"context_line":"        \"\"\""},{"line_number":174,"context_line":"        shared_datastores_mors \u003d []"},{"line_number":175,"context_line":"        res_dict \u003d self._get_resource_dict_by_name(managed_cluster)"},{"line_number":176,"context_line":"        host_set \u003d set(res_dict.get(\u0027host\u0027))"},{"line_number":177,"context_line":"        for object_contents in datastore_stats:"}],"source_content_type":"text/x-python","patch_set":6,"id":"da6ed579_2e568bce","line":174,"range":{"start_line":174,"start_character":8,"end_line":174,"end_character":30},"updated":"2016-01-14 00:42:23.000000000","message":"Would prefer not to use acronyms like \"mors\" as I don\u0027t no what that is.","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":11794,"name":"Renuka Prasad N S","username":"RenukaPrasad","inactive":true},"change_message_id":"b75549de31403c4f746a491f9d7f95602af88e71","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        \"\"\"Method to find the shared datastores associated with the cluster"},{"line_number":172,"context_line":"        Also handles cluster having single host with a non-shared datastore."},{"line_number":173,"context_line":"        \"\"\""},{"line_number":174,"context_line":"        shared_datastores_mors \u003d []"},{"line_number":175,"context_line":"        res_dict \u003d self._get_resource_dict_by_name(managed_cluster)"},{"line_number":176,"context_line":"        host_set \u003d set(res_dict.get(\u0027host\u0027))"},{"line_number":177,"context_line":"        for object_contents in datastore_stats:"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba63e191_dff31f09","line":174,"range":{"start_line":174,"start_character":8,"end_line":174,"end_character":30},"in_reply_to":"da6ed579_2e568bce","updated":"2016-01-19 19:19:50.000000000","message":"the acronym is for managed-object-reference. I have changed that to \u0027id\u0027","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"0db5bbcfa7874ac1f13daa154471a215a2dc6a85","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        res_dict \u003d self._get_resource_dict_by_name(managed_cluster)"},{"line_number":176,"context_line":"        host_set \u003d set(res_dict.get(\u0027host\u0027))"},{"line_number":177,"context_line":"        for object_contents in datastore_stats:"},{"line_number":178,"context_line":"            for object_content in object_contents[1]:"},{"line_number":179,"context_line":"                ds_mor \u003d object_content.obj.value"},{"line_number":180,"context_line":"                datastore_host_ids \u003d []"},{"line_number":181,"context_line":"                if ds_mor in res_dict.get(\u0027datastore\u0027):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da6ed579_ce156fe5","line":178,"range":{"start_line":178,"start_character":34,"end_line":178,"end_character":49},"updated":"2016-01-14 00:42:23.000000000","message":"hopefully, indexing to the second element always works and you don\u0027t go past the array bounds","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":11794,"name":"Renuka Prasad N S","username":"RenukaPrasad","inactive":true},"change_message_id":"b75549de31403c4f746a491f9d7f95602af88e71","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        res_dict \u003d self._get_resource_dict_by_name(managed_cluster)"},{"line_number":176,"context_line":"        host_set \u003d set(res_dict.get(\u0027host\u0027))"},{"line_number":177,"context_line":"        for object_contents in datastore_stats:"},{"line_number":178,"context_line":"            for object_content in object_contents[1]:"},{"line_number":179,"context_line":"                ds_mor \u003d object_content.obj.value"},{"line_number":180,"context_line":"                datastore_host_ids \u003d []"},{"line_number":181,"context_line":"                if ds_mor in res_dict.get(\u0027datastore\u0027):"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba63e191_5fbf2ffb","line":178,"range":{"start_line":178,"start_character":34,"end_line":178,"end_character":49},"in_reply_to":"da6ed579_ce156fe5","updated":"2016-01-19 19:19:50.000000000","message":"yes, index always exists.","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":7052,"name":"Fabio Giannetti","email":"fgiannet@cisco.com","username":"fabgia"},"change_message_id":"c2cc20231ba98ec328df30476d76137ee92ae396","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                datastore_host_ids \u003d []"},{"line_number":181,"context_line":"                if ds_mor in res_dict.get(\u0027datastore\u0027):"},{"line_number":182,"context_line":"                    propSets \u003d object_content.propSet"},{"line_number":183,"context_line":"                    for propSet in propSets:"},{"line_number":184,"context_line":"                        if propSet.name \u003d\u003d \u0027host\u0027:"},{"line_number":185,"context_line":"                            ds_hm_array \u003d propSet.val"},{"line_number":186,"context_line":"                            host_mounts \u003d ds_hm_array[0]"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa69d971_e5a91191","line":183,"range":{"start_line":183,"start_character":19,"end_line":183,"end_character":44},"updated":"2016-01-06 21:58:16.000000000","message":"There are a lot of nested cycles that seems to be repeated in several places.\nI am not an expert in vCenter data model, but is there a better way to get the data?","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"06550d3abbdb3738432c2b4e419b63c5d6121379","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                datastore_host_ids \u003d []"},{"line_number":181,"context_line":"                if ds_mor in res_dict.get(\u0027datastore\u0027):"},{"line_number":182,"context_line":"                    propSets \u003d object_content.propSet"},{"line_number":183,"context_line":"                    for propSet in propSets:"},{"line_number":184,"context_line":"                        if propSet.name \u003d\u003d \u0027host\u0027:"},{"line_number":185,"context_line":"                            ds_hm_array \u003d propSet.val"},{"line_number":186,"context_line":"                            host_mounts \u003d ds_hm_array[0]"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba63e191_5c0972dc","line":183,"range":{"start_line":183,"start_character":19,"end_line":183,"end_character":44},"in_reply_to":"ba63e191_8d4a5eab","updated":"2016-01-19 20:32:33.000000000","message":"10 seconds is a really long time for us.  Is it possible to do any of this in parallel?","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":11794,"name":"Renuka Prasad N S","username":"RenukaPrasad","inactive":true},"change_message_id":"b75549de31403c4f746a491f9d7f95602af88e71","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                datastore_host_ids \u003d []"},{"line_number":181,"context_line":"                if ds_mor in res_dict.get(\u0027datastore\u0027):"},{"line_number":182,"context_line":"                    propSets \u003d object_content.propSet"},{"line_number":183,"context_line":"                    for propSet in propSets:"},{"line_number":184,"context_line":"                        if propSet.name \u003d\u003d \u0027host\u0027:"},{"line_number":185,"context_line":"                            ds_hm_array \u003d propSet.val"},{"line_number":186,"context_line":"                            host_mounts \u003d ds_hm_array[0]"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba63e191_8d4a5eab","line":183,"range":{"start_line":183,"start_character":19,"end_line":183,"end_character":44},"in_reply_to":"da6ed579_e7a89022","updated":"2016-01-19 19:19:50.000000000","message":"For the first run it takes 10-15 secs depending in the connection time to vCenter. Once the connection is established, the subsequent runs will take less than 10 secs. This 10 secs includes polling for default plugins cpu, disk, memory, load, process, network and vCenter.","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"05a42891d6950f3128c1e38a87f8e402ab0ed179","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                datastore_host_ids \u003d []"},{"line_number":181,"context_line":"                if ds_mor in res_dict.get(\u0027datastore\u0027):"},{"line_number":182,"context_line":"                    propSets \u003d object_content.propSet"},{"line_number":183,"context_line":"                    for propSet in propSets:"},{"line_number":184,"context_line":"                        if propSet.name \u003d\u003d \u0027host\u0027:"},{"line_number":185,"context_line":"                            ds_hm_array \u003d propSet.val"},{"line_number":186,"context_line":"                            host_mounts \u003d ds_hm_array[0]"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa69d971_453bb2eb","line":183,"range":{"start_line":183,"start_character":19,"end_line":183,"end_character":44},"in_reply_to":"fa69d971_266964f9","updated":"2016-01-08 18:41:52.000000000","message":"Do you know how large the object is and how long it takes to parse this way?  Is the data you\u0027re looking at likely to get larger over time?","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"e046831a349fbc8916ba5b4e9aae5939e58f525e","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                datastore_host_ids \u003d []"},{"line_number":181,"context_line":"                if ds_mor in res_dict.get(\u0027datastore\u0027):"},{"line_number":182,"context_line":"                    propSets \u003d object_content.propSet"},{"line_number":183,"context_line":"                    for propSet in propSets:"},{"line_number":184,"context_line":"                        if propSet.name \u003d\u003d \u0027host\u0027:"},{"line_number":185,"context_line":"                            ds_hm_array \u003d propSet.val"},{"line_number":186,"context_line":"                            host_mounts \u003d ds_hm_array[0]"}],"source_content_type":"text/x-python","patch_set":6,"id":"da6ed579_e7a89022","line":183,"range":{"start_line":183,"start_character":19,"end_line":183,"end_character":44},"in_reply_to":"fa69d971_453bb2eb","updated":"2016-01-14 05:21:57.000000000","message":"I think Joe might be subliminally suggesting that the collection time is very important. If the Agent starts taking too long to collect, where too long would be something like 5-15 secs, that can create problems.\n\nMonasca is dependent on metrics arriving every 30 seconds. If the collection time starts getting into the realm of 5-15 seconds, then this can become problematic. \n\nHave you measured the collection time? Note, the Monasca Agent reports the collection time as a metric to the Monasca API. So, if you\u0027ve been running the Agent on an ESX server, you should be able to query the collection time relatively easy, as well as graph it in Grafana or OpsConsole.","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":11794,"name":"Renuka Prasad N S","username":"RenukaPrasad","inactive":true},"change_message_id":"9cdf3e795cbfb6f2308c1152a4f4d45ccffa9fcb","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                datastore_host_ids \u003d []"},{"line_number":181,"context_line":"                if ds_mor in res_dict.get(\u0027datastore\u0027):"},{"line_number":182,"context_line":"                    propSets \u003d object_content.propSet"},{"line_number":183,"context_line":"                    for propSet in propSets:"},{"line_number":184,"context_line":"                        if propSet.name \u003d\u003d \u0027host\u0027:"},{"line_number":185,"context_line":"                            ds_hm_array \u003d propSet.val"},{"line_number":186,"context_line":"                            host_mounts \u003d ds_hm_array[0]"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa69d971_266964f9","line":183,"range":{"start_line":183,"start_character":19,"end_line":183,"end_character":44},"in_reply_to":"fa69d971_e5a91191","updated":"2016-01-07 05:26:18.000000000","message":"The response from vcenter is a huge object containing collections and objects, this is way we can parse and extract the required information.","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"0db5bbcfa7874ac1f13daa154471a215a2dc6a85","unresolved":false,"context_lines":[{"line_number":397,"context_line":"                    self.log.debug(managed_cluster +"},{"line_number":398,"context_line":"                                   \", CPU cores : %s\" %"},{"line_number":399,"context_line":"                                   str(cpu_total_logical_cores))"},{"line_number":400,"context_line":"                    self.log.info(managed_cluster +"},{"line_number":401,"context_line":"                                  \", CPU cores: %s\" %"},{"line_number":402,"context_line":"                                  str(cpu_total_logical_cores) +"},{"line_number":403,"context_line":"                                  \", CPU usage percent: %s\" %"}],"source_content_type":"text/x-python","patch_set":6,"id":"da6ed579_cec32f56","line":400,"range":{"start_line":400,"start_character":29,"end_line":400,"end_character":33},"updated":"2016-01-14 00:42:23.000000000","message":"Do you really want a log info statement or a debug statement? This looks like it is going to fill up your log file for something that is rarely used.","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"28d0fc9032ebf8f8309458ac1fa7317306c7c332","unresolved":false,"context_lines":[{"line_number":44,"context_line":"MEMORY_USED_PERCENT \u003d \"mem.used_perc\""},{"line_number":45,"context_line":"DISK_TOTAL_SPACE_MB \u003d \"disk.total_space_mb\""},{"line_number":46,"context_line":"DISK_TOTAL_USED_SPACE_MB \u003d \"disk.total_used_space_mb\""},{"line_number":47,"context_line":"DISK_TOTAL_USED_SPACE_PERCENT \u003d \"disk.total_used_space_perc\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"PERF_MANAGER_TYPE \u003d \"PerformanceManager\""},{"line_number":50,"context_line":"PERF_RESOURCE \u003d \u0027ClusterResource\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a5de9d1_b100fbab","line":47,"range":{"start_line":47,"start_character":0,"end_line":47,"end_character":29},"updated":"2016-01-27 22:23:38.000000000","message":"I think we should add a \"vcenter\" prefix to these metrics. It will be confusing with the other system metrics that we have already and the prefix will help to group these.","commit_id":"3c7ecfb623c38c7ad9df654a1a0a4871f16d7500"}],"monasca_setup/detection/plugins/vcenter.py":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"0db5bbcfa7874ac1f13daa154471a215a2dc6a85","unresolved":false,"context_lines":[{"line_number":1,"context_line":"import ConfigParser"},{"line_number":2,"context_line":"import logging"},{"line_number":3,"context_line":"import psutil"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da6ed579_0e95c73d","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":6},"updated":"2016-01-14 00:42:23.000000000","message":"Should probably add a copyright header.","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"0db5bbcfa7874ac1f13daa154471a215a2dc6a85","unresolved":false,"context_lines":[{"line_number":1,"context_line":"import ConfigParser"},{"line_number":2,"context_line":"import logging"},{"line_number":3,"context_line":"import psutil"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da6ed579_ee971346","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":6},"updated":"2016-01-14 00:42:23.000000000","message":"Should probably add a copyright header.","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"589e03e5856547b461ca0427f8975aadfd67862f","unresolved":false,"context_lines":[{"line_number":28,"context_line":"            except IOError:"},{"line_number":29,"context_line":"                # Process has already terminated, ignore"},{"line_number":30,"context_line":"                continue"},{"line_number":31,"context_line":"        # Irrespective of service availability, this plugin will run in remote"},{"line_number":32,"context_line":"        # we set these below variables"},{"line_number":33,"context_line":"        self.nova_conf \u003d nova_conf"},{"line_number":34,"context_line":"        self.available \u003d True"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da6ed579_3baeca81","line":32,"range":{"start_line":31,"start_character":0,"end_line":32,"end_character":38},"updated":"2016-01-14 02:01:33.000000000","message":"This comment contradicts the comment at the start of _detect","commit_id":"e8295c0b992aaa51510bbcef4e741a1068502a8d"}]}
