Hi Buddhima/Viraj,

Also, in the current events, field "componentId" actually contains the name
of the component (proxy/api name, mediaotr name, etc..). Think we need to
rename it as "componentName" and make the derivable unique ID as
"componentId"..

WDYT?

Thanks,
Supun


On Mon, Feb 29, 2016 at 5:56 PM, Supun Sethunga <[email protected]> wrote:

> Hi all,
>
> We have run into few complications with respect to $subject. Let me
> briefly explain the scenario.
>
> Currently ESB is sending a Unique message flow ID, Mediator index
> (mediator position in the flow), and each mediator's children. These
> information can be used to draw the message flow for a single message. But
> we run into complications when we try to draw the message flow and summary
> stats (min,max, avg latency) of mediators for a Proxy/API at a given
> duration of time (aggregated insights), and above info itself would not be
> enough to tackle this. Reason is, if the proxy/API was modified during that
> considered time-duration, there could be several message flows for a given
> proxy/api, and hence all the stats and the mediator-flow-graph (please
> refer 2nd wire-frame at [1]) would go haywire.
>
> eg: Suppose we are showing message flow and stats for the time 03.00pm -
> 04.00pm. And the Proxy has been modified at 3.30pm. So now we have to sets
> of info (meditation flows + stats), before modifying the proxy and after
> modifying the proxy. In such a scenario, for "hourly" stats, we need to
> have a single mediation flow (for 03.00pm - 04.00pm duration), And for per
> "minute" stats, we need both the message flow. So we can't simply discard
> the changes, but need to maintain both of these info.
>
> So as per the offline chat we had, the solution we came up is:
>
>    - ESB to send a derivable Unique ID for each mediator. (for each
>    event) - We already discussed this in the previous review meeting.
>    - ESB to send a Unique ID for each 'version' of proxy. (for each
>    event). If the proxy was modified, then the ID would change Till then, ID
>    remains same.
>    - Have the separate table (at DAS) to maintain the current
>    mediator-flow for each proxy (schema of the proxy). This table contains
>    version IDs of each proxies/APIs, and their mediator-flow. So when we are
>    plotting the mediator-flow, we can always look-up this table to get
>    the current flow, and plot that.
>    - For this, ESB need to send a single event at the time of deploying
>       each proxy/api, with its mediator-flow (tree) info.
>       - Also have to send the same Unique ID for the 'version' of the
>       proxy.
>    - Analytics UI would always show the mediation flow/stats for the
>    latest version of the proxy/api, in situations like in the above example.
>    (In future, we may improve on to let the user pick which version they want
>    to view)
>
> Please let us know whether we can go with this approach, or if there are
> any concerns.
>
> [1]
> https://docs.google.com/document/d/15BdqOkQFZFYsfF0x7x4amgaIhZGoHkIwgKOoSI83ZzI/edit#heading=h.3nul0izb3nne
>
> Regards,
> Supun
>
> --
> *Supun Sethunga*
> Software Engineer
> WSO2, Inc.
> http://wso2.com/
> lean | enterprise | middleware
> Mobile : +94 716546324
>



-- 
*Supun Sethunga*
Software Engineer
WSO2, Inc.
http://wso2.com/
lean | enterprise | middleware
Mobile : +94 716546324
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to