first incomplete draft commit of profiling trial
Merge branch 'master' into profiler
Future improvement: added clearing of debug timeouts in some special cases.
Future improvement: added clearing of debug timeouts in some special cases.
(forgotten debug counter)
Profiler is now workable, but still very raw, fragile, buggy and incomplete.
Added couple of experimental profiler timers.
fixed leaking of deferred debug timeouts in Context
Profiler refactoring: removed code duplication between pr.newRoot() and pr.timer()
Also made zone timeout debugging logic and root timer printing on complete logic more consistent.
Profiler refactoring: extracted profiling zone to utilize zone.js fork inheritance.
Profiler refactoring: extracted profiling timer into separate class.
Also removed code duplication in timer completion logic.
Profiler refactoring: YAGNI
Introduced profiler::patch() method to conveniently inject profiler timers into arbitrary functions.
Extracted project-specific zone.js and profiler configuration into the separate profilerInit module.
Refactored stale callbacks cleaning logic in Future to support convenient zone.js patching.
Also fixed little bug with cleaning on `finally` call
optimized struct-template loading for the widget class with many instances
Profiler improvements:
* added basic version own async execution time metric (still need to be improved)
* added smart toJSON implementation to ProfilerTimer class
* fixed bug in onError callback
Profiler setup improvements:
* Implemented basic version zone.js support in Future (need to be refactored)
* Added couple of timers to core framework methods
Profiler refactoring: removed code duplication from Future zone patching function
typo
introduced convenient global cordIsBrowser constant to easy and reliably reason about environment currently run in
Introduced Widget::injectChildWidget() method to allow kind-of plugin into the widget from somewhere else (mainly for profiler support)
First draft version of displaying profiler data:
* implemented transferring of server profiler data to the browser side
* first steps for browser-side support for profiler
* basic profiler panel widgets to hierarchically display server profiler data