From 8ae7e976c5fdd970ad51d96321cedf801e21a912 Mon Sep 17 00:00:00 2001 From: Chris Hines <chris.hines@monash.edu> Date: Fri, 19 Oct 2018 14:31:01 +1100 Subject: [PATCH] more gpu metrics being collected --- roles/collectd/templates/cuda_collectd.py.j2 | 25 ++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/roles/collectd/templates/cuda_collectd.py.j2 b/roles/collectd/templates/cuda_collectd.py.j2 index e004238c..a0b9411b 100644 --- a/roles/collectd/templates/cuda_collectd.py.j2 +++ b/roles/collectd/templates/cuda_collectd.py.j2 @@ -1,11 +1,16 @@ #!/usr/bin/env python -import collectd +try: + import collectd + from collectd import Values +except: + from fakeCollectd import Values import subprocess import xml.etree.ElementTree as ET + def read(data=None): - vl = collectd.Values(type='gauge') + vl = Values(type='gauge') vl.plugin = 'cuda' out = subprocess.check_output(['nvidia-smi', '-q', '-x']) @@ -30,6 +35,18 @@ def read(data=None): values=[1e6 * float(gpu.find('utilization/gpu_util').text.split()[0])]) except: pass - -collectd.register_read(read) + try: + vl.dispatch(type='gauge', type_instance='power_state', + values=[int(gpu.find('power_readings/power_state').text.split()[0][1:])]) + except: + pass + try: + vl.dispatch(type='gauge', type_instance='power_draw', + values=[float(gpu.find('power_readings/power_draw').text.split()[0])]) + except: + pass +try: + collectd.register_read(read) +except: + readtest() -- GitLab