diff options
author | Ilya Mashchenko <ilya@netdata.cloud> | 2020-12-03 13:20:09 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-03 13:20:09 +0300 |
commit | fae19246df3c8768c8207372d46828a9afe788d4 (patch) | |
tree | d383160c45b0486755116d0de20d233ca4b67401 /collectors | |
parent | d1a3c48ce522b0477655491d184be981b39e567c (diff) |
python.d/nvidia_smi: fix gpu data filtering (#10312)
Diffstat (limited to 'collectors')
-rw-r--r-- | collectors/python.d.plugin/nvidia_smi/nvidia_smi.chart.py | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/collectors/python.d.plugin/nvidia_smi/nvidia_smi.chart.py b/collectors/python.d.plugin/nvidia_smi/nvidia_smi.chart.py index 506bf1175c..9c69586ddf 100644 --- a/collectors/python.d.plugin/nvidia_smi/nvidia_smi.chart.py +++ b/collectors/python.d.plugin/nvidia_smi/nvidia_smi.chart.py @@ -18,8 +18,6 @@ disabled_by_default = True NVIDIA_SMI = 'nvidia-smi' -BAD_VALUE = 'N/A' - EMPTY_ROW = '' EMPTY_ROW_LIMIT = 500 POLLER_BREAK_ROW = '</nvidia_smi_log>' @@ -423,9 +421,7 @@ class GPU: data[key] = p['used_memory'] data['user_num'] = len(users) - return dict( - ('gpu{0}_{1}'.format(self.num, k), v) for k, v in data.items() if v is not None and v != BAD_VALUE - ) + return dict(('gpu{0}_{1}'.format(self.num, k), v) for k, v in data.items()) class Service(SimpleService): @@ -467,7 +463,10 @@ class Service(SimpleService): data = dict() for idx, root in enumerate(parsed.findall('gpu')): gpu = GPU(idx, root, self.exclude_zero_memory_users) - data.update(gpu.data()) + gpu_data = gpu.data() + # self.debug(gpu_data) + gpu_data = dict((k, v) for k, v in gpu_data.items() if is_gpu_data_value_valid(v)) + data.update(gpu_data) self.update_processes_mem_chart(gpu) self.update_processes_user_mem_chart(gpu) @@ -541,3 +540,11 @@ class Service(SimpleService): order, charts = gpu_charts(GPU(idx, root)) self.order.extend(order) self.definitions.update(charts) + + +def is_gpu_data_value_valid(value): + try: + int(value) + except (TypeError, ValueError): + return False + return True |