summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2008-06-02 22:32:21 +0000
committerTed Ross <tross@apache.org>2008-06-02 22:32:21 +0000
commit20385afad71ad3b8f8fcdaca1ef919555430dd7a (patch)
tree5f3d8602dc814e4946474b9462974a86712318b7 /cpp
parentd9879750512796761978dc6dfe31f416e74d0bad (diff)
downloadqpid-python-20385afad71ad3b8f8fcdaca1ef919555430dd7a.tar.gz
Queue stats: byteDepth now computed periodically
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@662592 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
-rwxr-xr-xcpp/managementgen/schema.py24
-rw-r--r--cpp/managementgen/templates/Class.cpp1
2 files changed, 19 insertions, 6 deletions
diff --git a/cpp/managementgen/schema.py b/cpp/managementgen/schema.py
index 6e48003ab2..4e1f898274 100755
--- a/cpp/managementgen/schema.py
+++ b/cpp/managementgen/schema.py
@@ -324,10 +324,11 @@ class SchemaConfig:
#=====================================================================================
class SchemaInst:
def __init__ (self, node, typespec):
- self.name = None
- self.type = None
- self.unit = None
- self.desc = None
+ self.name = None
+ self.type = None
+ self.unit = None
+ self.desc = None
+ self.assign = None
attrs = node.attributes
for idx in range (attrs.length):
@@ -345,6 +346,9 @@ class SchemaInst:
elif key == 'desc':
self.desc = val
+ elif key == 'assign':
+ self.assign = val
+
else:
raise ValueError ("Unknown attribute in statistic '%s'" % key)
@@ -410,6 +414,10 @@ class SchemaInst:
self.genSchemaText (stream, self.name + "Max", descMax)
self.genSchemaText (stream, self.name + "Average", descAverage)
+ def genAssign (self, stream):
+ if self.assign != None:
+ stream.write (" " + self.name + " = (" + self.type.type.cpp + ") (" + self.assign + ");\n")
+
def genWrite (self, stream):
self.type.type.genWrite (stream, self.name)
@@ -874,13 +882,17 @@ class SchemaClass:
stream.write (",")
stream.write (hex (ord (sum[idx])))
+ def genAssign (self, stream, variables):
+ for inst in self.statistics:
+ inst.genAssign (stream)
+
def genWriteConfig (self, stream, variables):
for config in self.properties:
- config.genWrite (stream);
+ config.genWrite (stream)
def genWriteInst (self, stream, variables):
for inst in self.statistics:
- inst.genWrite (stream);
+ inst.genWrite (stream)
diff --git a/cpp/managementgen/templates/Class.cpp b/cpp/managementgen/templates/Class.cpp
index 699d8217b6..a1d5fed192 100644
--- a/cpp/managementgen/templates/Class.cpp
+++ b/cpp/managementgen/templates/Class.cpp
@@ -98,6 +98,7 @@ void /*MGEN:Class.NameCap*/::writeInstrumentation (Buffer& buf, bool skipHeaders
{
sys::Mutex::ScopedLock mutex(accessLock);
instChanged = false;
+/*MGEN:Class.Assign*/
if (!skipHeaders)
writeTimestamps (buf);