diff --git a/source/tools/monitor/unity/collector/container/cg_pmu_events_ffi/cg_pmu_ffi.c b/source/tools/monitor/unity/collector/container/cg_pmu_events_ffi/cg_pmu_ffi.c index 5e9df82ec568a71784f3763ee5ef2f9ae465c3e9..e535b457c8d6b6356a9ebc947e2924c321dd6169 100644 --- a/source/tools/monitor/unity/collector/container/cg_pmu_events_ffi/cg_pmu_ffi.c +++ b/source/tools/monitor/unity/collector/container/cg_pmu_events_ffi/cg_pmu_ffi.c @@ -118,9 +118,14 @@ int collect_events(struct pcpu_hwi *hwi, int nr_cpus, double *sum) for (i = 0; i < nr_cpus; i++) { n = collect_pcpu_events(&hwi[i], sum); - if (n < 0) + if (n < 0) { printf("collect_pcpu_events cpu%d fail:%s\n", i, strerror(-n)); + break; + } } + if (n < 0) + return n; + return 0; } int stop_events(struct pcpu_hwi *hwi, int nr_cpus) diff --git a/source/tools/monitor/unity/collector/podMan/podFilter.lua b/source/tools/monitor/unity/collector/podMan/podFilter.lua index 65a7410e6749bc336b7f85a785adfc40dc074ff4..9b0ebdbbbe000c67630d437b2fec420902a3781f 100644 --- a/source/tools/monitor/unity/collector/podMan/podFilter.lua +++ b/source/tools/monitor/unity/collector/podMan/podFilter.lua @@ -157,11 +157,9 @@ function CpodFilter:proc(elapsed, lines) print("cgroup changed.") local start = lua_local_clock() self._ino = Cinotifies.new() - for i, plugin in ipairs(self._plugins) do - pcall(plugin._del_, plugin) - end self._dirs = self:walkTops1(self._resYaml.container) self._plugins = setupPlugins(self._resYaml, self._proto, self._pffi, self._mnt, self._dirs) + collectgarbage("collect") local stop = lua_local_clock() ret, delta = 1, stop - start return ret,delta