1# Tool for visualizing window manager traces 2 3## Developing WinScope 4When the trace is enabled, Window Manager and Surface Flinger capture and 5save current state to a file at each point of interest. 6`frameworks/base/core/proto/android/server/windowmanagertrace.proto` 7and `frameworks/native/services/surfaceflinger/layerproto/layerstrace.proto` 8contain the proto definitions for their internal states. 9 10### Checking out code and setting up environment 11* Install [Yarn](https://yarnpkg.com), a JS package manager 12* [Download Android source](https://source.android.com/setup/build/downloading) 13* Navigate to `development/tools/winscope` 14* Run `yarn install` 15 16### Building & testing changes 17* Navigate to `development/tools/winscope` 18* Run `yarn run dev` 19 20### Building with internal extensions 21Internal paths in vendor/ which are not available in AOSP must be replaced by 22stub files. See getWaylandSafePath for an example 23