1. A process for controlling a performance state machine, comprising: automatically identifying notifications from an execution trace of an application, the execution trace including a plurality of trace events within a period which has endpoints, the notifications identified through comparison of trace events to notification events for at least three of the following notification categories: application startup, page outline load, page data load start, page data load finish, page to page transition, application input, window size change, media query, binding update, page background task start, page background task finish, developer-defined scenario start, developer-defined scenario finish; automatically placing a state in a performance state machine for each identified notification; automatically aggregating application performance data for each transition between identified notifications, the performance data collectively including data in at least two performance data categories; automatically inserting performance data aggregations in the performance state machine; displaying a visual representation of the state machine states, transitions, and performance data aggregations on a display screen; capturing altered performance of the application in an updated execution trace after the placing and inserting steps; and altering at least one state, transition, or performance data aggregation of the state machine after the capturing step.