Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tracecompass-dev] Event requests precedence

Hi Alex

I'm all for simplifying and minimizing the number of the added APIs. I had a look at the patches to see how we could do that, but it doesn't seem to be straight forward. I don't want to re-design the whole EventProvider design either. We don't know a new design would be better and solve all the use cases.

Maybe we need to sit back a bit and see what API we actually need to achieve the Genevieve's use case. Maybe, we don't need all the parent-child-accessors in ITmfCompositeComponent and we can live with just a subset of it. Merging them to ITmfEventProvider could also be done as you suggested.

/Bernd


On 11/06/2014 02:16 PM, Alexandre Montplaisir wrote:
Hi Bernd,

I would have to look at the code again, but from what I remember, what disturbed me the most was to introduce Yet Another high-level interface (ITmfComponent is pretty much as high as it gets!), but only to work-around a very specific problem regarding coalesced event requests in certain conditions.

But since this concept of parent-child only applies to event providers, could this be part of the ITmfEventProvider interface instead? Or maybe, as new ITmfCompositeEventProvider, which would extend ITmfEventProvider? That at first glance would feel cleaner imo, because the "solution" would be isolated to the area where the problem is.


One thing to not forget, the experiment knows about its traces, but the traces don't known about the experiment they are part of. To coalesce a request that is sent by a trace with a request from the experiment the trace has to know about the experiment.

True, experiments know their children, but traces don't know their parents. But I had assumed that the "request manager" would have been able to sift through all the registered components, and itself identify the experiments (or any other potentially "composite" component), and then look through its children. If any of those children was registered directly to the request, it could detect this relationship and send the events in the appropriate order.

However, looking at the code now, it seems to be the RequestExecutor that knows about the registered components, not the CoalescedRequest. So I guess the current implementation doesn't really allow us to do that.

Cheers,
Alex




Back to the top