From 20385afad71ad3b8f8fcdaca1ef919555430dd7a Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Mon, 2 Jun 2008 22:32:21 +0000 Subject: 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 --- cpp/managementgen/schema.py | 24 ++++++++++++++++++------ cpp/managementgen/templates/Class.cpp | 1 + 2 files changed, 19 insertions(+), 6 deletions(-) (limited to 'cpp') 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); -- cgit v1.2.1