summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTim <timothyasir@gluster.com>2011-08-17 17:19:44 +0530
committerTim <timothyasir@gluster.com>2011-08-17 17:19:44 +0530
commit9cc34dcbb9b162109418522d1c912d394f07ce0e (patch)
tree945103dd63ff6b11c572615aebbd06c76339a2e5 /src
parent008635552ac7698219e75b9730d9c8a7523a5f13 (diff)
Enhanced error handling in get_rrd_cpu_details.py
Diffstat (limited to 'src')
-rwxr-xr-xsrc/com.gluster.storage.management.gateway.scripts/src/backend/get_rrd_cpu_details.py34
1 files changed, 14 insertions, 20 deletions
diff --git a/src/com.gluster.storage.management.gateway.scripts/src/backend/get_rrd_cpu_details.py b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_rrd_cpu_details.py
index e60d7199..774f8e4e 100755
--- a/src/com.gluster.storage.management.gateway.scripts/src/backend/get_rrd_cpu_details.py
+++ b/src/com.gluster.storage.management.gateway.scripts/src/backend/get_rrd_cpu_details.py
@@ -14,10 +14,16 @@ if not p2 in sys.path:
from XmlHandler import ResponseXml
import Utils
-def getCpuData(period):
- cpuRrdFile = "/var/lib/rrd/cpu.rrd"
- rs = ResponseXml()
+CPU_RRD_FILE = "/var/lib/rrd/cpu.rrd"
+
+def main():
+ if len(sys.argv) != 2:
+ sys.stderr.write("usage: %s <PERIOD>\n" % os.path.basename(sys.argv[0]))
+ sys.exit(-1)
+
+ period = sys.argv[1]
+ rs = ResponseXml()
command = "rrdtool xport --start -%s \
DEF:cpuuser=%s:user:AVERAGE \
DEF:cpusystem=%s:system:AVERAGE \
@@ -29,26 +35,14 @@ def getCpuData(period):
CDEF:totalpct=userpct,systempct,+ \
XPORT:userpct:userpct \
XPORT:systempct:systempct \
- XPORT:totalpct:totalpct" % (period, cpuRrdFile, cpuRrdFile, cpuRrdFile)
+ XPORT:totalpct:totalpct" % (period, CPU_RRD_FILE, CPU_RRD_FILE, CPU_RRD_FILE)
rv = Utils.runCommand(command, output=True, root=True)
- message = Utils.stripEmptyLines(rv["Stdout"])
- if rv["Stderr"]:
- error = Utils.stripEmptyLines(rv["Stderr"])
- message += "Error: [%s]" % (error)
- Utils.log("failed to create RRD file for cpu usages %s" % file)
+ if rv["Status"] != 0:
rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- return rs.toxml()
- return rv["Stdout"]
-
-def main():
- if len(sys.argv) != 2:
- sys.stderr.write("usage: %s <period>\n" % os.path.basename(sys.argv[0]))
- sys.exit(-1)
-
- period = sys.argv[1]
- print getCpuData(period)
+ rs.appendTagRoute("status.message", "Failed to get RRD data of CPU")
+ print rs.toxml()
+ print rv["Stdout"]
sys.exit(0)
if __name__ == "__main__":