Hi all,
I’m trying to diagnose a performance issue with a page I’ve built that has a lot of components (around ~400, mostly TextFields and Labels). The page has a number of controls on it that cause a bunch of panels with a bunch of components on them to be destroyed and replaced with new instances. This takes a few seconds; I’m trying to make it faster.
I’ve narrowed it down to the client side processing step. Looking at the debug log, I can see that the “handleUIDLMessage” step takes 1836ms, which seems to be the bulk of the processing time. I suspect it’s because there are simply too many components on the page (which I’m planning to address by turning groups of read-only components into a single label component with ContentMode.HTML), but I’m at a loss as to what other tools or steps I can use to analyze the issue further, or other ideas on how to improve performance. Could someone point me in the right direction?
1280ms Starting application AWebwebapp10-580210449
1288ms Using theme: ATheme
1289ms Vaadin application servlet version: 7.6.2
1301ms Setting hearbeat interval to 300sec.
1310ms JSON parsing took 2.265ms
1313ms Handling message from server
1316ms * Handling resources from server
1317ms * Handling type inheritance map from server
1319ms Handling type mappings from server
1325ms Handling resource dependencies
1327ms * Handling meta information
1328ms * Creating connectors (if needed)
1370ms VMenuItem constructor
1426ms VMenuItem constructor
1444ms VMenuItem constructor
1462ms VMenuItem constructor
1489ms VMenuItem constructor
1511ms VMenuItem constructor
1526ms VMenuItem constructor
1537ms VMenuItem constructor
1547ms VMenuItem constructor
1556ms VMenuItem constructor
1565ms VMenuItem constructor
1578ms VMenuItem constructor
1588ms VMenuItem constructor
1598ms VMenuItem constructor
1609ms VMenuItem constructor
1623ms VMenuItem constructor
1623ms * Updating connector states
1725ms * Handling locales
1727ms * Updating connector hierarchy
1728ms extend
1730ms extend
1733ms extend
1734ms extend
1735ms extend
1737ms extend
1739ms extend
1739ms extend
1740ms extend
1741ms extend
1741ms extend
1742ms extend
1743ms extend
1745ms extend
1748ms extend
1749ms extend
1752ms * Sending hierarchy change events
2086ms * Running @DelegateToWidget
2089ms * Sending state change events
2123ms VMenuItem constructor
2154ms VMenuItem constructor
2157ms VMenuItem constructor
2190ms VMenuItem constructor
2193ms VMenuItem constructor
2215ms VMenuItem constructor
2216ms VMenuItem constructor
2235ms VMenuItem constructor
2236ms VMenuItem constructor
2237ms VMenuItem constructor
2238ms VMenuItem constructor
2251ms VMenuItem constructor
2254ms VMenuItem constructor
2255ms VMenuItem constructor
2257ms VMenuItem constructor
2268ms VMenuItem constructor
2269ms VMenuItem constructor
2272ms VMenuItem constructor
2273ms VMenuItem constructor
2287ms VMenuItem constructor
2288ms VMenuItem constructor
2288ms VMenuItem constructor
2289ms VMenuItem constructor
2300ms VMenuItem constructor
2302ms VMenuItem constructor
2302ms VMenuItem constructor
2303ms VMenuItem constructor
2310ms VMenuItem constructor
2310ms VMenuItem constructor
2311ms VMenuItem constructor
2312ms VMenuItem constructor
2321ms VMenuItem constructor
2323ms VMenuItem constructor
2326ms VMenuItem constructor
2326ms VMenuItem constructor
2340ms VMenuItem constructor
2341ms VMenuItem constructor
2345ms VMenuItem constructor
2348ms VMenuItem constructor
2358ms VMenuItem constructor
2358ms VMenuItem constructor
2359ms VMenuItem constructor
2359ms VMenuItem constructor
2373ms VMenuItem constructor
2374ms VMenuItem constructor
2387ms VMenuItem constructor
2388ms VMenuItem constructor
2388ms VMenuItem constructor
2389ms VMenuItem constructor
2403ms VMenuItem constructor
2408ms VMenuItem constructor
2410ms VMenuItem constructor
2412ms VMenuItem constructor
2413ms * Passing UIDL to Vaadin 6 style connectors
3160ms * Performing server to client RPC calls
3164ms * Unregistered 0 connectors
[b]
3164ms handleUIDLMessage: 1836 ms
[/b]
3166ms Starting layout phase
3205ms Measured 96 non connector elements
3428ms Pass 1 measured 313 elements, fired 257 listeners and did 1 layouts.
3431ms Did overflow fix for 1 elements
3470ms Pass 2 measured 135 elements, fired 94 listeners and did 1 layouts.
3472ms Did overflow fix for 1 elements
3652ms Pass 3 measured 833 elements, fired 45 listeners and did 61 layouts.
3698ms Pass 4 measured 61 elements, fired 0 listeners and did 1 layouts.
3706ms Pass 5 measured 1 elements, fired 0 listeners and did 0 layouts.
3713ms Did overflow fix for 1 elements
3724ms Pass 6 measured 1 elements, fired 0 listeners and did 0 layouts.
3725ms No more changes in pass 7
3727ms Total layout phase time: 561ms
3728ms * Dumping state changes to the console
3728ms UIDL: undefined
4037ms First response processed 5069 ms after fetchStart
[b]
4037ms Processing time was 2723ms
[/b]
4039ms Referenced paintables: 464
4259ms Establishing push connection
4575ms Push connection established using websocket