Virtual columns, though useful, are often based on complex App formulas that can quickly consume resources and impact the overall performance of your app. Until now, there was no way to determine the average computation time required by virtual columns when compared to the total sync time.
The new Average virtual column computation time by app version graph is now available when you access the Performance Profile by selecting Manage > Performance Analyzer. Use this graph to better understand how the computation time for virtual columns in different app versions is affecting the sync performance, and gain insights to improve app performance.
This feature has been rolled out to all the customers. We would love to hear your feedback.
Just checked this out in an app. It looks invaluable! It will be great to monitor sync time by virtual column in order to target the most impactful improvements.
On the other hand, the graphs may need to be improved for more complex apps that may need this feature more.
Here is an example of a production app for one of our clients.
Would be useful to have an “open on new tab” so we can see the data more clearly
Since now this info is available to the editor (I guess it was not before), it would be useful to have this data on the expression assistant of each virtual column, or in any place of the virtual column config, showing how much it took on last sync
The same way we can select which virtual columns can be left out of the chart, we should be able to select which version/s we want to see on the chart.
If we are interested just on the last one to improve expressions, the previous versions just add noise to the chart
There are still some refinements to make, I wasn’t able to see the chart at some point if the window was too narrow for example, although it’s not your case.
All my apps have lots of vitual columns so I am splitting them up to reduce that. I use these apps for my team of 20 sales people and drivers so finding the virtual columns that slow the apps down the most would be really useful.
The simpler the app the less I need to see the chart.
Often there are references between tables and, therefore, automatically added REF_ROWS() virtual columns that compute the relationships between the tables. It may appear that one of the virtual column computations is taking a long time to complete. However, this is rarely the case. The time required by this computation is typically used to fetch the table itself before computing the relationship. In other words, fetching tables is almost always the source of delay.
Yep, which makes this feature a little bit less appealing.
The fact that I’m getting 1.8 to 2.2 on each Related column is related to the table fetching which also has (sometimes) some virtual columns.
Another thing that surprised me the most is that this was not just on big child tables with a lot of cells. I have some that just save data from people like Name, Email, Phone and with just 100 rows and it was also a 2 second calculation from the parent.
In summary, [Related …] computation is hard to debug