The GAPID package contains a command line tool named gapit that can be used to capture, replay and query traces from the command line. You can find the gapit executable in your GAPID install location. The default install location varies by platform: C:\Program Files (x86)\gapid\gapit.exe on Windows, /Applications/GAPID.app/Contents/MacOS/gapit on Mac OS X, or /opt/gapid/gapit on linux.
GAPIT Help
CommandShort help
Runs a set of benchmarking tests on an application
Prints the command tree for a .gfxtrace file
Create graph visualization file from capture
Lists the devices available
Dump a textual representation of a .gfxtrace file
Extract all framebuffer observations from a trace.
Prints the bound pipeline and descriptor sets for a point in a .gfxtrace file
Prints textual representation of a replay payload.
Dump all shaders at a particular command from a .gfxtrace
Export replay vm instruction and assets.
Generate documentation for all commands.
Prints memory metrics about a capture file
Prints information about packages installed on a device
Profile a replay to get the time of executing the commands.
Produce a new trace with the given resource replaced at the given command
Check a capture replays without issues
Produce a screenshot at a particular command from a .gfxtrace file
Prints the state tree for a point in a .gfxtrace file
Prints information about a capture file
Attaches to an existing gapis, and provides status
Performs evil things on GAPIS to try to break it
Captures a gfx trace from an application
(WIP) Trims a gfx trace to the dependencies of the requested frames
Displays the raw protos in a protopack file
Produce a video or sequence of frames from a .gfxtrace filebenchmark
Runs a set of benchmarking tests on an application
Usage: GAPIT [GAPIT-flags] benchmark [benchmark-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version benchmark-flags: -additionalargs string additional arguments to pass to the application -api string only capture the given API valid options are gles and vulkan -device string Device to use. Either 'host' or the friendly name of the device -dumptrace string dump a systrace of gapis -env value List of environment variables to set, X=Y -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -noopt disables optimization of the replay stream -numframes int how many frames to capture -os string Os of the device to use. -outputcsv outputs data in CSV-friendly format -serial string Serial of the device to use. -ssh-config string The ssh config to use for finding remote devices -startframe int perform a MEC trace starting at this frame -uri string uri of the application to trace -workingdir string working directory for the application
commands
Prints the command tree for a .gfxtrace file
Usage: GAPIT [GAPIT-flags] commands [commands-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version commands-flags: -allowincompleteframe Make a group for incomplete frames -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -context int Filter to the i'th context. (default -1) -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -groupbyapi Group commands by api -groupbycontext Group commands by context -groupbydrawcall Group commands by draw call -groupbyframe Group commands by frame -groupbythread Group commands by thread -groupbyusermarkers Group commands by user markers -includenocontextgroups Include no context groups -maxchildren int Maximum children per tree node. -name string Filter to commands and groups with the specified name. -observations-data if true then display the bytes read and written by each command. Implies Ranges. -observations-ranges if true then display the read and write ranges made by each command. -raw if true then the value of constants, instead of their names, will be dumped.
create_graph_visualization
Create graph visualization file from capture
Usage: GAPIT [GAPIT-flags] create_graph_visualization [create_graph_visualization-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version create_graph_visualization-flags: -format string output format of the graph: 'pbtxt' (Tensorboard) or 'dot' (Graphviz) -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -out string path to save graph visualization
devices
Lists the devices available
Usage: GAPIT [GAPIT-flags] devices [devices-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version devices-flags: -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -os value Only display devices of the given OS kind [one of: "UnknownOS", "Windows", "OSX", "Linux", "Android", "Stadia"] (default UnknownOS)
dump
Dump a textual representation of a .gfxtrace file
Usage: GAPIT [GAPIT-flags] dump [dump-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version dump-flags: -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -observations-data if true then display the bytes read and written by each command. Implies Ranges. -observations-ranges if true then display the read and write ranges made by each command. -raw if true then the value of constants, instead of their names, will be dumped. -showabiinfo if true then show information of the ABI used for the trace. -showdeviceinfo if true then show originating device information.
dump_fbo
Extract all framebuffer observations from a trace.
Usage: GAPIT [GAPIT-flags] dump_fbo [dump_fbo-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version dump_fbo-flags: -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -context int Filter to the i'th context. -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -out string output framebuffer directory path
dump_pipeline
Prints the bound pipeline and descriptor sets for a point in a .gfxtrace file
Usage: GAPIT [GAPIT-flags] dump_pipeline [dump_pipeline-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version dump_pipeline-flags: -at value command/subcommand index to get the pipeline after. Empty for last -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -compute print out the most recently bound compute pipeline instead of graphics pipeline -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -print-shaders print the disassembled shaders along with the bound descriptor values
dump_replay
Prints textual representation of a replay payload.
Usage: GAPIT [GAPIT-flags] dump_replay
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version
dump_resources
Dump all shaders at a particular command from a .gfxtrace
Usage: GAPIT [GAPIT-flags] dump_resources [dump_resources-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version dump_resources-flags: -at int command index to dump the resources after (default -1) -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server.
export_replay
Export replay vm instruction and assets.
Usage: GAPIT [GAPIT-flags] export_replay [export_replay-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version export_replay-flags: -apk string (experimental) name of the stand-alone APK created to perform the replay. This name must be <app_package>.apk (e.g. com.example.replay.apk) -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -context int Filter to the i'th context. -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -mode value generate special purposed trace [one of: "plain", "diagnostics", "frames", "timestamps"] (default plain) -originaldevice export replay for the original device -out string output directory for commands and assets (default "replay_export") -sdkpath string Path to Android SDK directory (default: ANDROID_SDK_HOME environment variable)
make_doc
Generate documentation for all commands.
Usage: GAPIT [GAPIT-flags] make_doc
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version
memory
Prints memory metrics about a capture file
Usage: GAPIT [GAPIT-flags] memory [memory-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version memory-flags: -at value command/subcommand index to get the memory after. Empty for last -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server.
packages
Prints information about packages installed on a device
Usage: GAPIT [GAPIT-flags] packages [packages-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version packages-flags: -adb string Path to the adb executable; leave empty to search the environment -dataheader string marker to write before package data -device string Device to use. Either 'host' or the friendly name of the device -env value List of environment variables to set, X=Y -format value output format [one of: "json", "proto", "proto-string", "list"] (default json) -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -icondensity float scale multiplier on icon density. (default 1) -icons if true then package icons are also dumped. -os string Os of the device to use. -out string output file, standard output if none -serial string Serial of the device to use. -ssh-config string The ssh config to use for finding remote devices
profile
Profile a replay to get the time of executing the commands.
Usage: GAPIT [GAPIT-flags] profile [profile-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version profile-flags: -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -out string output file to save the profiling result
replace_resource
Produce a new trace with the given resource replaced at the given command
Usage: GAPIT [GAPIT-flags] replace_resource [replace_resource-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version replace_resource-flags: -at int command index to replace the resource(s) at (default -1) -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -handle string required. handle of the resource to replace -outputtracefile string file name for the updated trace (default "newcapture.gfxtrace") -resourcepath string file path for the new resource -skipoutput skip writing the modified trace to a file -updateresourcebinary string shaders only. binary to run for every shader; consumes resource data from standard input and writes to standard output
report
Check a capture replays without issues
Usage: GAPIT [GAPIT-flags] report [report-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version report-flags: -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -context int Filter to the i'th context. (default -1) -displaytosurface display the frames rendered in the replay back to the surface -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -out string output report path
screenshot
Produce a screenshot at a particular command from a .gfxtrace file
Usage: GAPIT [GAPIT-flags] screenshot [screenshot-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version screenshot-flags: -at value command/subcommand index for the screenshot (repeatable) -attachment string the attachment to show (0-3 for color, d for depth, s for stencil) -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -context int Filter to the i'th context. -displaytosurface display the frames rendered in the replay back to the surface -draws create a screenshot of every draw call in the requested frame(s) (only honored if using -frame) -frame value frame index for the screenshot (repeatable). Empty for last -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -max-overdraw int the amount of overdraw to map to white in the output -noopt disables optimization of the replay stream -out string output image file (default 'screenshot.png') (default "screenshot.png") -overdraw renders the overdraw instead of the color framebuffer
state
Prints the state tree for a point in a .gfxtrace file
Usage: GAPIT [GAPIT-flags] state [state-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version state-flags: -at value command/subcommand index to get the state after. Empty for last -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -depth int How many nodes deep should the state tree be displayed. -1 for all (default -1) -filter value Which path through the tree should we filter to, default All -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server.
stats
Prints information about a capture file
Usage: GAPIT [GAPIT-flags] stats [stats-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version stats-flags: -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -frames-count int number of frames after Start to process: -1 for all frames (default -1) -frames-start int frame to start stats from -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server.
status
Attaches to an existing gapis, and provides status
Usage: GAPIT [GAPIT-flags] status [status-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version status-flags: -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -memoryupdateinterval int Provides memory updates at the given interval (in ms) -statusupdateinterval int Provides status updates at the given interval (in ms) (default 1000)
stress-test
Performs evil things on GAPIS to try to break it
Usage: GAPIT [GAPIT-flags] stress-test [stress-test-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version stress-test-flags: -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server.
trace
Captures a gfx trace from an application
Usage: GAPIT [GAPIT-flags] trace [trace-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version trace-flags: -additionalargs string additional arguments to pass to the application -api string only capture the given API valid options are gles and vulkan -capture-frames int only capture the given number of frames. 0 for all -clear-cache clear package data before running it -device string Device to use. Either 'host' or the friendly name of the device -disable-pcs disable pre-compiled shaders (default true) -disable-unknown-extensions Hide unknown extensions from the application. -env value List of environment variables to set, X=Y -for duration duration to trace for -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -local-port int connect to an application already running on the server using this port -no-buffer Do not buffer the output, this helps if the application crashes -observe-draws uint capture the framebuffer every n draws (0 to disable) -observe-frames uint capture the framebuffer every n frames (0 to disable) -os string Os of the device to use. -out string the file to generate -pipename string The name of the pipe to connect/listen to. -record-errors record device error state -record-tracetimes record trace timing into the capture -serial string Serial of the device to use. -ssh-config string The ssh config to use for finding remote devices -start-at-frame int defers the start of the trace until given frame. Only valid for Vulkan. Not compatible with start-defer. -start-defer defers the start of the trace until <enter> is pressed. Only valid for Vulkan. -uri string uri of the application to trace -workingdir string working directory for the application
trim
(WIP) Trims a gfx trace to the dependencies of the requested frames
Usage: GAPIT [GAPIT-flags] trim [trim-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version trim-flags: -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -commands Treat every command as its own frame -context int Filter to the i'th context. -extracommands value Additional commands to include (along with their dependencies) -frames-count int number of frames to include: -1 for all frames (default -1) (default -1) -frames-start int first frame to include (default 0) -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -out string gfxtrace file to save the trimmed capture
unpack
Displays the raw protos in a protopack file
Usage: GAPIT [GAPIT-flags] unpack [unpack-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version unpack-flags: -verbose if true, then output will not be truncated
video
Produce a video or sequence of frames from a .gfxtrace file
Usage: GAPIT [GAPIT-flags] video [video-flags]
GAPIT-flags: -analytics string If non-empty enable analytics using the specified user-id -args string A single string that will be parsed into extra individual arguments -crashreport Automatically send crash reports to Google -decodestack string Decode a stackdump generated by this executable -log-file string The file to store the logs in -log-level value The severity to enable logs at [one of: "Verbose", "Debug", "Info", "Warning", "Error", "Fatal"] (default Info) -log-stacks If true, stack traces are logged for all errors (default true) -log-status Log status updates as they happen -log-style value The style to use when printing the log [one of: "raw", "brief", "normal", "detailed"] (default normal) -profile-cpu string write cpu profile to file -profile-mem string write mem profile to file -profile-trace string write a trace to file -runfiles string Location of the runfiles manifest -version Display the application version video-flags: -captureid if true then interpret the capture file argument as a capture ID that is already loaded in gapis -commands Treat every command as its own frame -context int Filter to the i'th context. -fps int frames per second (default 5) -frames-count int number of frames after Start to capture: -1 for all frames (default -1) -frames-minimum int return error when less than this number of frames is found (default 1) -frames-start int frame to start capture from -gapir-args string The arguments to be passed to gapir -gapir-device string Device to use. Either 'host' or the friendly name of the device -gapir-env value List of environment variables to set, X=Y -gapir-nofallback Do not fallback to another device if the requested one could not be found -gapir-os string Os of the device to use. -gapir-serial string Serial of the device to use. -gapir-ssh-config string The ssh config to use for finding remote devices -gapis-args string The arguments to be passed to gapis -gapis-disablelog Disable the log output -gapis-port int gapis tcp port to connect to, 0 means start new instance. -gapis-profile-pprof string produce a pprof file -gapis-profile-trace string produce a trace file -gapis-token string The auth token to use when connecting to an existing server. -max-height int maximum video height (default 1280) -max-width int maximum video width (default 1920) -noopt disables optimization of the replay stream -out string output video path -text string summary prefix (use '║' for aligned columns, '¶' for new line) -type value type of output to produce [one of: "auto", "sxs", "regular", "frames"] (default auto)