qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chug Rolke" <cro...@redhat.com>
Subject Re: Review Request: Add log entries for correlatable broker object life cycles
Date Thu, 12 Jul 2012 02:38:36 GMT

This is an automatically generated e-mail. To reply, visit:

(Updated July 12, 2012, 2:38 a.m.)

Review request for qpid, Alan Conway, Gordon Sim, and Ted Ross.


This uses the new strategy described in QPID-4079:

1. It adds a new log category [Model]
2. INFO level logs for create/delete objects in the same user-specified names as management
3. DEBUG level logs for create/delete objects using management keys.

The #2 info logs are created by using QPID_LOG_CAT() statements near existing raiseEvent()
The #3 debug logs are new functions:
* creates are logged by a new member function and is called near where management objects
are created.
* deletes are logged in resourceDestroy() with a common logging framework and a virtual call
into the managed object to get the statistics.

Much of the complication of previous reviews came from trying to correlate the user-specified
names with management keys at inappropriate places in the source code. 
This diff is much simpler yet provides more correlation info.

Note this prints debug info for creation/deletion of Session objects but sessions are not
logged with raiseEvent.


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.

Diffs (updated)

  trunk/qpid/cpp/include/qpid/log/Statement.h 1360512 
  trunk/qpid/cpp/include/qpid/management/ManagementObject.h 1360512 
  trunk/qpid/cpp/managementgen/qmfgen/templates/Class.h 1360512 
  trunk/qpid/cpp/managementgen/qmfgen/templates/Class.cpp 1360512 
  trunk/qpid/cpp/src/qpid/acl/Acl.cpp 1360512 
  trunk/qpid/cpp/src/qpid/broker/Bridge.cpp 1360512 
  trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1360512 
  trunk/qpid/cpp/src/qpid/broker/Connection.cpp 1360512 
  trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp 1360512 
  trunk/qpid/cpp/src/qpid/broker/Exchange.cpp 1360512 
  trunk/qpid/cpp/src/qpid/broker/Link.cpp 1360512 
  trunk/qpid/cpp/src/qpid/broker/Queue.cpp 1360512 
  trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp 1360512 
  trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp 1360512 
  trunk/qpid/cpp/src/qpid/broker/SessionState.cpp 1360512 
  trunk/qpid/cpp/src/qpid/broker/System.cpp 1360512 
  trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp 1360512 
  trunk/qpid/cpp/src/qpid/ha/HaBroker.cpp 1360512 
  trunk/qpid/cpp/src/qpid/log/Statement.cpp 1360512 
  trunk/qpid/cpp/src/qpid/management/ManagementObject.cpp 1360512 

Diff: https://reviews.apache.org/r/5616/diff/


Passes cmake test and automake make check.


Chug Rolke

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message