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
