Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-1907

[Java Broker] Improve INFO and above broker log messages to make them more useful in a production environment

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.5
    • JIRA Cleanup
    • Broker-J
    • None

    Description

      Log messages at INFO level and above are expected to be turned on in a production environment.

      These log messages should thus be aimed at helping to provide users and/or support staff with information on the health of the broker; and - in the case where there has been some issue - help them diagnose the cause of that issue.

      As such these messages should be readable without knowledge of the Qpid code base, they should not be so frequenet as to impact the performance of the broker but should be frequent enough such that diagnosis of issues is possible

      Log messages should occur whenever a significant event occurs, for instance the creation or destruction of a connection to the broker.
      The log message should contain enough information to be able to correlate the message with a business process event. In the case of a connection open the remote address, the login name, the virtual host, and the application id should be included in the log message.
      In order that the connection can be referred to in other log messages, a short unambiguous - but easily recognisable - name should be given for the connection (e.g. "con-username-1", where username is replaced by the actual user name)

      Suggest the following creation / destruction events are logged:

      Virtual Host
      Connection
      Queue
      Exchange
      Binding (between queue and exchange)
      Subscription to Queue

      In addition to creation/destruction events being logged, we should periodically log statistics, e.g. for a queue you might want to record

      Current Queue size (message count)
      Current Queue size (bytes)
      Unacknowledged size (count / bytes)

      Incoming message rate (count / bytes)
      Outgoing message rate (count / bytes)
      Min / Max / Average message size

      Where the last three are measured over the time period between the log messages.

      Similar rate statistics could be emitted per connection, exchange, subscription, virtualhost etc.

      The logging should be configurable so that it can be turned off by default, on for all objects, or on for only certain named queues/exchanges/etc...

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              rgodfrey Robert Godfrey
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: