• Ulf Hermann's avatar
    QmlProfiler: Drive event loading from the model manager · 4a1e5a63
    Ulf Hermann authored
    We want to get rid of the big master list of QmlEvent in
    QmlProfilerDataModel, as that gets very large for longer traces. In
    order to reduce the dependencies on that list we load the events on the
    fly into the child models while they are being received, rather than
    having the child models query QmlProfilerDataModel for the event list
    later.
    
    As the trace client so far only emitted rangedEvent() for complete
    ranges we run into problems with models that need their events sorted.
    The rangedEvent() signals were sorted by end time, rather than start
    time which makes it inconvenient to analyze them in a stack based way,
    for aggregation. This is solved by passing on all the details from the
    trace client to the models, with the QmlProfilerDataModel aggregating
    the type information before having the events dispatched to the child
    models.
    
    Change-Id: I5831a20551f21cf91e27d298a709f604ebd96c3e
    Reviewed-by: Joerg Bornemann's avatarJoerg Bornemann <joerg.bornemann@qt.io>
    Reviewed-by: Ulf Hermann's avatarUlf Hermann <ulf.hermann@qt.io>
    4a1e5a63
flamegraphmodel.h 3.54 KB