Question

Measure form performance

  • 5 October 2020
  • 4 replies
  • 61 views

Badge +1

We’d like to measure and report on how long each form takes to load. The goal is to improve the users’ experience with the smartForms constantly by identifying issues like slow loading forms quickly.


4 replies

Userlevel 1
Badge +4

Hello 

I would recommend utilising a tool such as fiddler, where you can monitor the most expensive calls that are being made (or how long it would take for a form to load).

 

Otherwise a network trace via your browser, with preserve log = true and then filtering on ajax calls to see which specific SmartObject event takes long to return data etc.

 

If you are unable to identify the root cause of this issue, our support team will be able to track down the root cause of the issue you are facing by supplying the data and raising a support ticket. 

 

Regards,

Michelle

Userlevel 2
Badge +4

Hi @jakobwm 

 

Can you kindly go through the following link and pay special attention to the Debugging and Troubleshooting section.

Performance Considerations - SmartForms

https://help.k2.com/kb001859

 

There is also a video on How To K2: Investigating SmartForms performance issues

https://help.k2.com/en/displaycontent.aspx?id=5994

 

Regards

HulisaniN

Badge +1

Thanks for the shared info. However, the idea is to have monitoring on the form performance so that alerting etc. can be set up.

Badge +4

Just shared performance tips 

  1. Execute action asynchronously (batch or concurrent) where possible.
  2. Load data only when necessary, ex load tab data when tab is click
  3. Enable paging for read-only list views
  4. Limit the number of properties returned by smartobject used for list control. ex, create a new method for smartobject that return properties needed instead of use the list method
  5. consider to use picker control instead of drop dwon list for many items
  6. keep the number of States on form to minimum or use stateless
  7. remove unused item from view and form
  8. consider to use Server side rule, to reduce round trip.
  9. for complex view (contain hundred of controls), can consider to split them (it helpful for design time)

 

For smartform load time monitoring purposes.

  1. create smartobject to log time
  2. log it on form level on put it on the first line of  initalizing event and at end of intialized event

       note: the time might not be precised due to the effect of asyncronous modifier (execute and forget) action. but give some rought idea which form need to be improved.

Reply