[ https://issues.apache.org/jira/browse/DISPATCH-911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ganesh Murthy reassigned DISPATCH-911: -------------------------------------- Assignee: Ganesh Murthy > 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 > Assignee: Ganesh Murthy > Priority: Major > > 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 (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org