res_key0 = next(res_key_iter)
res_key1 = next(res_key_iter)
- if "cpu" in res_key0 or "intel_rdt" in res_key0:
+ if "cpu" in res_key0 or "intel_rdt" in res_key0 or "intel_pmu" in res_key0:
cpu_key, name, metric, testcase = \
self.get_cpu_data(res_key0, res_key1, value)
result["cpu"].setdefault(cpu_key, {}).update({name: metric})
elif "ovs_stats" in res_key0:
result["ovs_stats"].update(self.parse_ovs_stats(key_split, value))
- elif "intel_pmu-all" in res_key0:
- result["intel_pmu"].update(self.parse_intel_pmu_stats(res_key1, value))
-
result["timestamp"] = testcase
return result
# connection.execute("sudo %s '%s' '%s'" % (
# collectd_installer, http_proxy, https_proxy))
return
+ if "intel_pmu" in self.plugins:
+ LOG.debug("Downloading event list for pmu_stats plugin")
+ cmd = 'sudo bash -c \'cd /opt/tempT/pmu-tools/; python event_download_local.py\''
+ connection.execute(cmd)
LOG.debug("Starting collectd to collect NFVi stats")
# ensure collectd.conf.d exists to avoid error/warning
connection.execute("sudo mkdir -p /etc/collectd/collectd.conf.d")
connection.execute("sudo rabbitmqctl set_permissions -p / admin '.*' '.*' '.*'")
LOG.debug("Start collectd service..... %s second timeout", self.timeout)
- connection.execute("sudo %s" % collectd_path, timeout=self.timeout)
+ # intel_pmu plug requires large numbers of files open, so try to set
+ # ulimit -n to a large value
+ connection.execute("sudo bash -c 'ulimit -n 1000000 ; %s'" % collectd_path,
+ timeout=self.timeout)
LOG.debug("Done")
def initiate_systemagent(self, bin_path):