Skip to content

Added the essential User Timings to WebIDE

Denys Mishunov requested to merge dmishunov/ide-performance-marks into master

What does this MR do?

To be able to better tackle the performance issues in WebIDE, we need to know what we measure and what we optimize for. This MR brings better structure to the User Timing metrics of WebIDE which the further performance work in WebIDE should be based upon.

This is a developer-facing change, hence no changelog provided.

Screenshots (strongly suggested)

  • The list of all the WebIDE marks triggered on loading:

    Mark name Description
    webide-getProjectData-start The start for the Project Data request
    webide-app-start The start for the ide.vue component
    webide-getProjectData-finish The Project Data request arrived
    webide-getBranchData-start The start for the Branch Data request
    webide-getBranchData-finish The Branch Data request arrived
    webide-getFiles-start The start for requesting the list of files
    webide-getFiles-finish The list of files arrived
    webide-init-editor-start The file editor is initialized with a file
    webide-getFileData-start The start of File Data request
    <FileTree>-start The start of the first tree item's rendering
    <FileTree>-end The first tree item is rendered
    webide-getFileData-finish The File Data arrived
    webide-init-editor-finish The file editor renders the requested file
  • The list of all measures

    Measure name Description
    WebIDE: Before Vue app Duration before bootstrapping the vue application
    WebIDE: Project data Duration of getting the Project
    WebIDE: Branch data Duration of getting the Branch
    WebIDE: Fetch Files Duration of getting the list of Files
    WebIDE: Repo Editor Duration of setting up the RepoEditor
    <FileTree> Duration to render the very first tree item
    WebIDE: File data Duration of getting the open File's data

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Merge request reports