From d27ef6b730edace6aa6ba62201b5ae6f99cdda5c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20K=C3=A1cha?= <ph@cesnet.cz>
Date: Fri, 16 Jan 2015 19:03:42 +0100
Subject: [PATCH] More detailed getDebug call

---
 warden3/warden_server/warden_server.py | 28 +++++++++++++++++++-------
 1 file changed, 21 insertions(+), 7 deletions(-)

diff --git a/warden3/warden_server/warden_server.py b/warden3/warden_server/warden_server.py
index 9f02135..ea505dd 100755
--- a/warden3/warden_server/warden_server.py
+++ b/warden3/warden_server/warden_server.py
@@ -5,6 +5,7 @@
 # Use of this source is governed by a 3-clause BSD-style license, see LICENSE file.
 
 import sys
+import os
 import logging
 import logging.handlers
 import ConfigParser
@@ -325,16 +326,15 @@ class MySQL(Object):
     def get_debug(self):
         self.crs.execute("SELECT VERSION() AS VER")
         row = self.crs.fetchone()
+        self.crs.execute("SHOW TABLE STATUS")
+        tablestat = self.crs.fetchall()
         return {
             "db": "MySQL",
-            "version": row["VER"]
+            "version": row["VER"],
+            "tables": tablestat
         }
 
 
-    def get_status(self):
-        return {}
-
-
     def generateDynamicQuery(self, section, query_string, variables, parent_cats = []):
         variables_id = []
     
@@ -613,10 +613,24 @@ class WardenHandler(Object):
         auth = self.auth.authorize(_env, _client, 'getDebug', None, None)
         if not auth:
             raise Error("I'm watching. Authorize.", 403, method='getDebug', detail={"client": _client})
-        
+
         return {
             "environment": _env,
-            "database": self.db.get_debug()
+            "database": self.db.get_debug(),
+            "system": {
+                "uname": os.uname()
+            },
+            "process": {
+                "cwd": os.getcwdu(),
+                "pid": os.getpid(),
+                "ppid": os.getppid(),
+                "pgrp": os.getpgrp(),
+                "uid": os.getuid(),
+                "gid": os.getgid(),
+                "euid": os.geteuid(),
+                "egid": os.getegid(),
+                "groups": os.getgroups()
+            }
         }
 
 
-- 
GitLab