Ernest Allen created DISPATCH-911: ------------------------------------- Summary: New management call to return overall router network statistics Key: DISPATCH-911 URL: https://issues.apache.org/jira/browse/DISPATCH-911 Project: Qpid Dispatch Issue Type: Improvement Components: Management Agent Affects Versions: 1.0.0 Reporter: Ernest Allen
We need overview charts that display: - the throughput rate for the router network - network load - average latency For the throughput rate: This is derived from the sum of router.address.deliveriesEgress for all addresses on all routers in the network. For network load: This is derived from the sum of the router.link.undeliveredCount and router.link.unsettledCount for all endpoint links on the network. For the average latency: A new attribute needs to be created. Each ingress message needs to be annotated with an ingress timestamp. When the message egresses the network, the total time 'in-flight' needs to be calculated and accumulated in the egress router's new router.address.deliveriesEgressDuration attribute. Average latency can be calculated using this statistic and the throughput statistic. Add a new management action of "SUM" that recognizes a new application_proptery of filter. The SUM action sums the given attribute(s) from all routers. The filter determines which records are included. To calculate load, the request looks like: { body: ['undeliveredCount', 'unsettledCount'], application_properties: { operation: 'SUM', type: 'org.apache.qpid.dispatch.router.link', filter: {'linkType': 'endpoint'} } } This would return: { attributeNames: ['undeliveredCount', 'unsettledCount'], values: [<sum of undeliveredCounts>, <sum of unsettledCounts>] } where the sums are for all routers for all links with linkType == endpoint For the throughput request: { body: ['deliveriesEgress'], application_properties: { operation: 'SUM', type: 'org.apache.qpid.dispatch.router.address', filter: {'name': '*'} // or name: <address.name> for a single address } } This would return: { attributeNames: ['deliveriesEgress'], values: [<sum of deliveriesEgress>] } where the sum is for all routers for all address.names that matched the name given in the filter. For the latancy request: { body: ['deliveriesEgress', 'deliveriesEgressDuration'], application_properties: { operation: 'SUM', type: 'org.apache.qpid.dispatch.router.address', filter: {'name': '*'} // or name: <address.name> for a single address } } This would return: { attributeNames: ['deliveriesEgress', 'deliveriesEgressDuration'], values: [<sum of deliveriesEgress>, <sum of deliveriesEgressDuration>] } where the sums are for all routers for all address.names that matched the name given in the filter. Note: If annotating messages with timestamps for the deliveriesEgressDuration attribute is too much of a performance hit, an additional management call is needed to enable and disable this behavior. Bonus: This new 'SUM' request can be used to replace the existing request that sums logStats accross routers. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org