A big "Thank You!" to ZOS for providing us with the API for script profiling.
Dependencies The Profiler
You have a new tab in your "Journal", now.
There is a button at the bottom to start/stop the profiler.
You get a summary with the functions called and their total time used.
You can click a row to see its call-stack. The shown call-stack is the slowest run to give you a hint what to look for.
For more details there is an "Export" button in the top-right corner. The UI will reload afterwards to save the data to disk.

The profiler auto-starts on reloadui to see what's going on during load. Because settings are not available at that time, this can not be made optional. Load the addon if you want to profile, only.
There is a button to profile the UI during re-load. It enables auto-start profiling and reloads UI. 2 seconds after loading you auto return to the profiler UI.

ESOProfiler Viewer
The addon also includes an external application which allows you to view the exported data with perfetto. You can find the source for the application on github.

The external viewer also supports the "esoui-dev" protocol, which allows opening files in an editor of your choice by clicking on the location path in the slice details. For more information on how to set it up check the "About" tab of sirinsidiator's log viewer.

Warning:
If you capture traces over multiple minutes, the resulting file will become very large and opening it will consume multiple gigabytes of ram, which can consume all your memory and slow down or crash your system!

返回
顶部