The ffx tool emits various analytics events for diagnostic and quality tracking purposes. This document lists the core events emitted by ffx and documents their meaning. Analytics collection respects the user's opt-in status.
invoke: Emitted when an ffx command is executed. It captures information about the command invocation, including execution time, exit code, any error message, and the underlying subcommand. Depending on the user's opt-in level for enhanced analytics, command arguments may be fully redacted or partially included.ffx_daemon: Emitted by the ffx background daemon process to track its lifecycle and activity (e.g., when the daemon is started).ffx_target_list_devices: Emitted when the ffx target list command executes. Records the number of devices discovered (as the devices dimension) along with the type of query used (e.g., no filter, or by nodename).ffx_target_connection: Emitted when establishing a connection to a Fuchsia target. The action parameter indicates the type of connection being attempted.ffx_connection_mode: Emitted concurrently with connection establishment to track the specific connectivity mode or strategy used for interacting with the target.ffx_daemon_host_pipe: Emitted when the daemon initiates a host pipe connection (such as SSH) to communicate with a target device. The action specifies the connection type or state being tracked.ffx_rcs_proxy: Emitted when ffx constructs an Overnet connection to a target's Remote Control Service (RCS). The action specifies the proxy connection strategy employed (e.g., mdns vs target).ffx_flash: Emitted when writing a partition block to a device (typically during ffx target flash). Custom dimensions track the partition_name, product_name, board_name, file_size, and the flash_time taken to write the partition.preflight: Emitted by platform preflight checks used to verify that the host machine satisfies requirements for certain commands (such as starting an emulator). The action field captures the result (completed_success, completed_warning, completed_failure_recoverable, completed_failure), and the event may capture environmental properties such as the host's graphics driver context.ffx_diagnostics_failure: Sent when the tool detects specific diagnostic, workflow, or architectural errors during operation. The category_name dimension captures the precise failure point, such as:target_hdl_in_bad_state: The internal target handle structure was queried in an invalid state.target_no_netwrk: Action was attempted on a target that doesn't appropriately expose networking.target_addr_bad_scope: An IPv6 target address could not be used because its network scope is invalid.build_fdomain_cmd: Failed to construct the parameters necessary for a tool fdomain command.open_hwinfo_comp: Failed to connect to the hardware info component on the remote device.hwinfo_getinfo: FIDL error encountered when trying to retrieve hardware information data safely.non_fastboot_target_hdl: Attempted a fastboot operation on a device handle that isn't in the fastboot state.query_serialno: Failed to reliably query the device for its hardware serial number.ffx_playground_cmd: Emitted when executing commands inside the experimental ffx playground shell. Records the underlying command in the type dimension and logs whether its execution succeeded or failed.