Issue Type: Enhancement Enhancement
Affects Versions: 0.6
Assignee: Ɓukasz Dywicki
Components: core
Created: 04/Sep/12 4:58 PM
Description:

kcbabo: I want to add operation-level drill down to our metrics
[4:41pm] kcbabo: we currently just collect at the service level
[4:41pm] kcbabo: all this stuff is in core/admin
[4:41pm] kcbabo: rcernich is going to add console support to drill into a service and see metrics by operation
[4:41pm] kcbabo: the other part of this is to actually collect those metrics at the operation leve
[4:42pm] kcbabo: l
[4:42pm] kcbabo: that's the part I could use your help with
[4:42pm] splatch: kcbabo: what's need to be done?
[4:42pm] kcbabo: splatch: so tomorrow morning maybe have a look at the core/admin code to familiarize yourself with what we have now
[4:43pm] kcbabo: in a nutshell ....
[4:43pm] kcbabo: we need to add a Operation class to org.switchyard.admin
[4:43pm] kcbabo: and inside that we would have a few bits of info
[4:43pm] kcbabo: operation name, exchange pattern, type info
[4:43pm] kcbabo: and MessageMetrics
[4:44pm] kcbabo: which is our collector for metric info
[4:44pm] kcbabo: then inside of core/runtime you'll see some ugly code where we collect timing on an exchange
[4:44pm] kcbabo: that fires an event today
[4:45pm] kcbabo: and that event is collected in the admin framework
[4:45pm] kcbabo: the event needs to include the operation details (not sure if it does today)
[4:45pm] splatch: kcbabo: need to get operation name from exchange contract and increment correct counter
[4:45pm] kcbabo: then the collector needs to populate the message metrics per operation
[4:45pm] kcbabo: yep, that's basically it
[4:45pm] kcbabo: the one big decision you'll have to make is whether you collect duplicate metrics
[4:46pm] kcbabo: let's say service A has two operations : abc, xyz
[4:46pm] kcbabo: today, we just collect in a bucket for A
[4:46pm] kcbabo: a brute force implementation would add a bucket for abc and another for xyz
[4:46pm] kcbabo: so service A would essentially have three buckets
[4:47pm] kcbabo: an alternative approach would be to only collect at the operation level, then treat the service level as an aggregate over all operations
[4:47pm] splatch: kcbabo: hm, I see no risk with duplicated stuff, it's just a counters, few numbers no risk for overflood and show a health of whole service
[4:47pm] kcbabo: this saves a bit of space, but I think it may make things unnecessarily complicated
[4:47pm] kcbabo: splatch: I agree

Fix Versions: 0.6
Project: SwitchYard
Priority: Major Major
Reporter: Keith Babo
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira