> On July 3, 2012, 3:35 p.m., Alan Conway wrote: > > trunk/qpid/cpp/src/qpid/acl/Acl.cpp, line 296 > > <https://reviews.apache.org/r/5616/diff/3/?file=118887#file118887line296> > > > > Performance problem: mapEncodeValues is called even if the log > > statememnt is disabled. > > > > Sugget adding op<<(const ManagementObject&) > > or struct PrintableManagementObject { const ManagementObject& }; with > > op<<(PrintableManagementObject), do all the work in the message > > specification. > > > > This is repeated in many other places.
This instance is in ~Acl(). I contend that this and the one in ~Broker() are not performance issues. The only instance that is performance critical is in ManagementObject::resourceDestroy(). There the creation of a map and its population with stats is qualified with the QPID_LOG_TEST(logEnabled) macro. > On July 3, 2012, 3:35 p.m., Alan Conway wrote: > > trunk/qpid/cpp/src/qpid/broker/Exchange.cpp, line 222 > > <https://reviews.apache.org/r/5616/diff/3/?file=118895#file118895line222> > > > > Suggest moving this logic to a struct and defining op<< for the struct. > > Then all can be in-line in a single message: > > > > struct Foo { > > Foo(string n, string i) : name(n), id(i){} > > }; > > op<<(const Foo&) { ... } > > QPID_LOG_CAT(debug, model, "xxx:" << Foo(name,connectionId)) Great idea. Thank you. - Chug ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/5616/#review8833 ----------------------------------------------------------- On July 2, 2012, 9:11 p.m., Chug Rolke wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/5616/ > ----------------------------------------------------------- > > (Updated July 2, 2012, 9:11 p.m.) > > > Review request for qpid, Alan Conway, Gordon Sim, and Ted Ross. > > > Description > ------- > > This patch adds a new log category [Configuration] and publishes a bunch of > information at info level in the format: > [Configuration] <object> <event>, where <object> is one of Connection, > Session, Queue, Subscription, Exchange or Binding, and <event> is one of > created or closed with connection also getting a setUser. > The bulk of the patch involves passing the necessary strings down to the > object creators so that they can emit the log. > > > This addresses bug QPID-4079. > https://issues.apache.org/jira/browse/QPID-4079 > > > Diffs > ----- > > trunk/qpid/cpp/include/qpid/SessionId.h 1354515 > trunk/qpid/cpp/include/qpid/log/Statement.h 1354515 > trunk/qpid/cpp/include/qpid/management/ManagementObject.h 1354515 > trunk/qpid/cpp/managementgen/qmfgen/templates/Class.h 1354515 > trunk/qpid/cpp/managementgen/qmfgen/templates/Class.cpp 1354515 > trunk/qpid/cpp/src/qpid/SessionId.cpp 1354515 > trunk/qpid/cpp/src/qpid/acl/Acl.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/Bridge.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/Broker.h 1354515 > trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/Connection.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/DirectExchange.h 1354515 > trunk/qpid/cpp/src/qpid/broker/DirectExchange.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/Exchange.h 1354515 > trunk/qpid/cpp/src/qpid/broker/Exchange.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.h 1354515 > trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/FanOutExchange.h 1354515 > trunk/qpid/cpp/src/qpid/broker/FanOutExchange.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/HeadersExchange.h 1354515 > trunk/qpid/cpp/src/qpid/broker/HeadersExchange.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/Link.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/Queue.h 1354515 > trunk/qpid/cpp/src/qpid/broker/Queue.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h 1354515 > trunk/qpid/cpp/src/qpid/broker/QueueRegistry.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/SaslAuthenticator.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/SessionHandler.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/SessionState.cpp 1354515 > trunk/qpid/cpp/src/qpid/broker/TopicExchange.h 1354515 > trunk/qpid/cpp/src/qpid/broker/TopicExchange.cpp 1354515 > trunk/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp 1354515 > trunk/qpid/cpp/src/qpid/log/Statement.cpp 1354515 > trunk/qpid/cpp/src/qpid/management/ManagementObject.cpp 1354515 > trunk/qpid/cpp/src/qpid/replication/ReplicatingEventListener.cpp 1354515 > trunk/qpid/cpp/src/qpid/xml/XmlExchange.h 1354515 > trunk/qpid/cpp/src/qpid/xml/XmlExchange.cpp 1354515 > trunk/qpid/cpp/src/qpid/xml/XmlExchangePlugin.cpp 1354515 > trunk/qpid/cpp/src/tests/ExchangeTest.cpp 1354515 > > Diff: https://reviews.apache.org/r/5616/diff/ > > > Testing > ------- > > Passes cmake test and automake make check. > > > Thanks, > > Chug Rolke > >
