# Load time of a window

**URL:** <https://forum.inductiveautomation.com/t/load-time-of-a-window/21672>\
**Category:** Ignition\
**Tags:** ignition79\
**Created:** [January 3, 2019, 6:56pm UTC](https://forum.inductiveautomation.com/t/load-time-of-a-window/21672 "2019-01-03T18:56:11Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![bkarabinchak.psi](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bkarabinchak.psi/32/83567_2.png) [@bkarabinchak.psi](https://forum.inductiveautomation.com/u/bkarabinchak.psi)\
**Post date:** [January 3, 2019, 6:56pm UTC](https://forum.inductiveautomation.com/t/load-time-of-a-window/21672/1 "2019-01-03T18:56:11Z")

</div>

Is it possible to time how long it takes a window to fully load, from opening the window to all resources are loaded?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 3, 2019, 8:19pm UTC](https://forum.inductiveautomation.com/t/load-time-of-a-window/21672/2 "2019-01-03T20:19:56Z")

</div>

Not really. You could log a precision timestamp just before running system.nav.openWindow(), manually attach a propertyChange listener on the root container that looks for componentRunning == True, and print that precision timestamp. But bindings on all of your resources are asynchronous – you’d have to track the propertyChanges when the various bindings update, too. There wouldn’t really be any “Done” signal for the bindings, especially since many will fire multiple times as dependencies change.

---

<div class="post-metadata">

**Author:** ![bkarabinchak.psi](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bkarabinchak.psi/32/83567_2.png) [@bkarabinchak.psi](https://forum.inductiveautomation.com/u/bkarabinchak.psi)\
**Post date:** [January 3, 2019, 8:25pm UTC](https://forum.inductiveautomation.com/t/load-time-of-a-window/21672/3 "2019-01-03T20:25:00Z")

</div>

Ok. What about perhaps running a time stamp on the open of the window like you said and getting the end time stamp inside a system.util.invokeLater, doesn’t that wait for all other pending things to finish up? I’m not exactly sure on how invokeLater works under the hood I don’t know if that is a reasonable route.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 3, 2019, 8:27pm UTC](https://forum.inductiveautomation.com/t/load-time-of-a-window/21672/4 "2019-01-03T20:27:56Z")

</div>

invokeLater() won’t wait for all of the bindings, just current running visual updates and other queued functions. Many bindings are synchronous, so those would finish, but queries and tags update later, generally when the data arrives from the gateway. Anything dependent on the queries or tags would re-update after them.
