Hi Alex, Some statistics have been there since the first release with the REST API - version 0.18 in Sep 2012 (see https://issues.apache.org/jira/browse/QPID-3998); and the mechanisms for retrieving the statistics haven't fundamentally changed since version 0.28 in Jun 2014 (https://issues.apache.org/jira/browse/QPID-5579)
Hope this helps, Rob On 10 October 2017 at 01:31, Alex O'Ree <[email protected]> wrote: > Keith, quick follow up question. Any idea when the REST API was > introduced with the statistics getters? > > On Mon, Oct 9, 2017 at 4:43 PM, Alex O'Ree <[email protected]> wrote: > > Cool thanks > > > > On Oct 9, 2017 4:14 AM, "Keith W" <[email protected]> wrote: > >> > >> Hi Alex > >> > >> The decision to deprecate the JMX interface in favour of a platform > >> neutral REST API was taken a few years ago. Support for JMX was > >> finally removed with v6.1. > >> > >> The statistics (bytesIn, bytesOut and much more) are available through > >> the REST API, but unfortunately the statistics were missed from the > >> online API docs (will be fixed by QPID-7790 in v7.0). > >> > >> Here's an example to get you going. For queues: > >> > >> curl --user admin > >> https://localhost:8080/api/latest/queue/default/default/queue > >> > >> The queue object returns includes a map "statistics" containing: > >> > >> "statistics" : { > >> "availableBytes" : 0, > >> "availableBytesHighWatermark" : 0, > >> "availableMessages" : 0, > >> "availableMessagesHighWatermark" : 0, > >> "bindingCount" : 0, > >> "consumerCount" : 0, > >> "consumerCountWithCredit" : 0, > >> "oldestMessageAge" : 0, > >> "persistentDequeuedBytes" : 0, > >> "persistentDequeuedMessages" : 0, > >> "persistentEnqueuedBytes" : 0, > >> "persistentEnqueuedMessages" : 0, > >> "queueDepthBytes" : 0, > >> "queueDepthBytesHighWatermark" : 0, > >> "queueDepthMessages" : 0, > >> "queueDepthMessagesHighWatermark" : 0, > >> "totalDequeuedBytes" : 0, > >> "totalDequeuedMessages" : 0, > >> "totalEnqueuedBytes" : 0, > >> "totalEnqueuedMessages" : 0, > >> "totalExpiredBytes" : 0, > >> "totalExpiredMessages" : 0, > >> "unacknowledgedBytes" : 0, > >> "unacknowledgedMessages" : 0 > >> } > >> > >> Most statistics have reasonably intuitive names but for more > >> information, until QPID-7790, see the textual description attached to > >> the statistics's getter method on the model object (look for the > >> @ManagedStatistic annotation). > >> > >> > >> https://github.com/apache/qpid-broker-j/blob/master/ > broker-core/src/main/java/org/apache/qpid/server/model/Queue.java > >> > >> Hope this helps. > >> > >> > >> > >> > >> > >> On 7 October 2017 at 17:12, Alex O'Ree <[email protected]> wrote: > >> > Quick follow up question, I was poking around in the documentation > >> > (hey nice theming!) > >> > > >> > https://qpid.apache.org/releases/qpid-java-6.0.0/java- > broker/book/Java-Broker-Management-Channel-REST-API.html > >> > And saw that the JMX endpoint is going away eventually. Is this > >> > scheduled yet? > >> > > >> > I also noticed that the REST endpoints (according to the docs) lacks > >> > the ability to get statistics on topics, channels, etc. Those are > >> > available via JMX for bytes in/out/dropped, messages in/out/dropped, > >> > queue depths, consumer counts, etc. Is there a plan to add this to the > >> > REST endpoints? > >> > > >> > On Sat, Oct 7, 2017 at 11:14 AM, Alex O'Ree <[email protected]> > wrote: > >> >> Sorry, hit send too quickly > >> >> > >> >> if I uncomment > >> >> options.setManagementModeJmxPortOverride(9099); > >> >> it appears to have no affect on the JMX listener starting up. > >> >> > >> >> Any recommendations on how to enable it programmatically? > >> >> using qpid version 6.0.0 > >> >> > >> >> > >> >> On Sat, Oct 7, 2017 at 11:12 AM, Alex O'Ree <[email protected]> > >> >> wrote: > >> >>> Hello qpid community. > >> >>> > >> >>> I have a product that integrates with Qpid and have happily been > >> >>> running integration tests with it without much of a fuss. In the > >> >>> past, I've written to this mailing list on how to attach qpid's java > >> >>> server as a maven dependency and start it up programmatically in a > >> >>> unit test, then destroy it when the tests is complete. This is > working > >> >>> as expected. > >> >>> > >> >>> I now am trying to get the JMX points of Qpid up and running using > the > >> >>> same mechanism (programmatically starting qpid during a unit test). > >> >>> I'm currently starting qpid using the following. > >> >>> > >> >>> org.apache.qpid.server.Broker broker2 = new Broker(); > >> >>> BrokerOptions options = new BrokerOptions(); > >> >>> options.setOverwriteConfigurationStore(true); > >> >>> //options.setManagementModeHttpPortOverride(9090); > >> >>> //options.setManagementModeJmxPortOverride(9099); > >> >>> //options.setManagementMode(false); > >> >>> options.setStartupLoggedToSystemOut(true); > >> >>> String file=new File(".").getAbsolutePath() + File.separator + > >> >>> "config.json"; > >> >>> options.setConfigurationStoreLocation(file); > >> >>> broker2.startup(options); > >> >>> > >> >>> if I set > >> >>> options.setManagementMode(true); > >> >>> qpid doesn't appear to accept connections (not sure why) > >> >>> > >> >>> if i uncomment > >> > > >> > --------------------------------------------------------------------- > >> > To unsubscribe, e-mail: [email protected] > >> > For additional commands, e-mail: [email protected] > >> > > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [email protected] > >> For additional commands, e-mail: [email protected] > >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
