def process(self, nodemeta, timestamp, data, description):
if self._job.getdata('perf')['active'] != True:
self._error = ProcessingError.RAW_COUNTER_UNAVAILABLE
return False
ndata = numpy.array(data)
if nodemeta.nodename not in self._first:
self._first[nodemeta.nodename] = ndata
return True
if ndata.shape == self._first[nodemeta.nodename].shape:
self._data[nodemeta.nodename] = numpy.sum(ndata - self._first[nodemeta.nodename])
if numpy.any(numpy.fabs(self._data[nodemeta.nodename]) != self._data[nodemeta.nodename]):
self._error = ProcessingError.PMDA_RESTARTED_DURING_JOB
return False
else:
# Perf counters changed during the job
self._error = ProcessingError.RAW_COUNTER_UNAVAILABLE
return False
return True
评论列表
文章目录