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