qmlprofilertraceclient.cpp:280: warning: C4334: '<<' : result of 32-bit
shift implicitly converted to 64 bits (was 64-bit shift intended?)
qmlprofilertool.cpp:539: warning: C4554: '<<' : check operator
precedence for possible error; use parentheses to clarify precedence
Change-Id: Ifaa048d42bccf203e6587a474c197c22b0f69fec
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Like this we can still save some time and memory if the profiled
application doesn't support filtering.
Change-Id: I534ad4a11f62d28bd2fcfbffdc44f3902758dcbe
Task-number: QTBUG-41118
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
This allows us to reduce the amount of data we need to handle
if the user isn't interested in certain categories.
Task-number: QTBUG-41118
Change-Id: Ieaac12fb1dec29d6035642f433bc1a1d49e545c2
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The dynamic layout creates more problems than it solves. A fixed layout
with proper elision and fixed window width certainly looks better.
Also, the view has to add the colons after the labels now.
Change-Id: I649351a742bd129ea9738359bac27e55e29d6a93
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
We actually don't have to save the actual data in the
SortedTimelineModel if we keep the data synchronized to the ranges. This
is easy to do by just keeping track of the indices when new ranges are
inserted. Like that we can eliminate the virtual function calls from
AbstractTimelineModelPrivate and simplify the type hierarchy.
Change-Id: Ia7aa02df57380932b689ddfe9a50ff2031198a7d
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
There is no use in creating multiple nested maps and lists and
selecting special translation contexts for that.
Change-Id: Ib83ab651adca8258a0e5b9ac99a657623a24145b
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Also, all methods about events in models don't really need the "event"
prefix as that is what the models are about.
Change-Id: I7b995aa9c9dce7e01d4c862d094b1e73e6b6fb40
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Also, remove categoryTitles() which isn't used anywhere.
Change-Id: I919abf1221fb71d407eb04190d27180ed39b7b45
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The first element in the expandedRowTypes is always -1 as that is the
empty row. Don't try to retrieve its type.
Change-Id: I1a4b59e0de6638201485d503e3be05afddf625fb
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
It's not a good idea to copy the event location for every single lookup
and there is not point in always reconstructing the label strings,
either.
Change-Id: I2cea8a2a93b31d2c32bd2a27ae1d3b0bd26df6f6
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Like that we get a higher chance of staying compatible with Qt < 5.2.
Change-Id: Iecd6e1fbf75bd610917a38a22635a0d8e731738f
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Using strings to identify equal events is terribly inefficient. By
keeping a global list of event types we can assign each event a
numerical type index and use that to compare them.
We can also avoid excessive string copying and data duplication by
referring to the global type list where event type information is
needed.
Task-number: QTCREATORBUG-11823
Change-Id: I837bd5d0f5395b0003002ef8dd278fb27679c65d
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
We never have multi-string event data and dragging around the list
everywhere just adds noise.
Change-Id: I4c73543464abea01d342e3f0a296ed1b05ee2a88
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
All models are single-category now, so we can merge that into the base
class.
Change-Id: I4eab43ac2b4a77402121f004097e51a29b379aa4
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
With only one category per model we only have one eventType per model
and thus we don't need to differentiate per type anymore when
calculating the nesting.
Change-Id: Ic42a1c5c056f3480b7842a57fbff66a5e907abfb
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
This simplifies the code a lot and allows for more flexibility
when interacting with the data.
Change-Id: I69630071eee66840e905fcd95ba8c708742d58b6
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Generally save both the Message and RangeType attributes so that we
avoid clashes between those types. Also keep all the types in one
place and make their names follow qtdeclarative's conventions.
Change-Id: I811bfcc4b72aaa2a0142babc92d96968ed2d4007
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The iteration and comparison done by that takes significant time for
large traces.
Task-number: QTCREATORBUG-11823
Change-Id: I706b42f64ef0fd8b89229f51e52f0faaaf61d87a
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The original timeline colors are hard to see on certain devices. This
makes them stand out more from the background.
Change-Id: Icf6ef8a8ea360b7f47609f8673c4c6e22b091296
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Use English instead of Latin. Fix capitalization of JavaScript.
Change-Id: Ibd0e7122e4270554aad7beaa5f8cc727a208ad93
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
There is no real reason for the existence of a QmlProfilerSimpleModel.
Change-Id: I6419973cfad5564913bf92f17fdcf7e529af4b01
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Recursion markers for javascript, creating, or compiling aren't very
interesting.
Change-Id: I3220d06e1763619c01dabca31ef238b31b11dfbb
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
We don't want to emit a signal for each event being added. That's
expensive and doesn't serve any purpose. We also don't have to save
the availability of data in QML as it isn't used anywhere.
Change-Id: I32db06a1955a7cfd6b569f50b81bf5278333b622
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Hiding a category in the timeline view is highly confusing. Previously
the "Painting" category would only be visible if either the model is
empty or at least one painting event was available. Like this it's
always there. In the obscure case of a mixed Qt4/Qt5 application you can
get two "Painting" categories now.
Change-Id: I54db106ed868b7e5d46d0e0ac22b46c0df8be862
Reviewed-by: Kai Koehne <kai.koehne@digia.com>