summaryrefslogtreecommitdiff
path: root/qpid/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
commite3ec9422951be06c11ca285b75675cec9c8369f6 (patch)
tree9cb3e5c4494acc943280c164ab42de9888ab6640 /qpid/cpp
parentb472a3ae9f7bd0e4e573a75176dbb8ad5b419054 (diff)
downloadqpid-python-e3ec9422951be06c11ca285b75675cec9c8369f6.tar.gz
Queue stats: byteDepth now computed periodically
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@662592 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
-rwxr-xr-xqpid/cpp/managementgen/schema.py24
-rw-r--r--qpid/cpp/managementgen/templates/Class.cpp1
2 files changed, 19 insertions, 6 deletions
diff --git a/qpid/cpp/managementgen/schema.py b/qpid/cpp/managementgen/schema.py
index 6e48003ab2..4e1f898274 100755
--- a/qpid/cpp/managementgen/schema.py
+++ b/qpid/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/qpid/cpp/managementgen/templates/Class.cpp b/qpid/cpp/managementgen/templates/Class.cpp
index 699d8217b6..a1d5fed192 100644
--- a/qpid/cpp/managementgen/templates/Class.cpp
+++ b/qpid/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);