Echo/Docs

CLI command

failures

What installed copies of desktop and command-line products reported failing, grouped by app, failure point and declared cause, with the installations that had each.

Invocation#

Shell
echo-cli failures groups --days <days> [--app <app-id>] [--installation <id>]

Inputs and output#

groups writes since (the start of the window), apps and groups. apps holds one entry per app that sent any event in the window: app_id, installations (the installations that sent anything) and failing_installations (those that sent a failure). groups holds one entry per app, failure point and declared cause (the error code when the product declared no cause), the groups most installations had first, then the most events: app_id, failure_point, cause_id (null without a declared cause), error_code, events, installations, versions (the app versions that reported it), first_seen, last_seen and example, the latest failure's event_id, installation, detail and remedy. --app keeps one app as the app collector declares it (ster-cli); --installation keeps one installation's failures, by the id its telemetry status prints.

State effect#

groups calls Echo Web's authenticated /api/analytics/failures with ECHO_INTERNAL_BEARER at ECHO_WEB_BASE_URL; the Failures of installed copies section of the tracking screen reads the same groups, and echo-mcp reads them too (echo_failure_groups). The failures are the failure events the app collector (POST /api/analytics/mobile/collect) stored from installed copies whose user agreed to send them, through wisent-errors' telemetry: the app must be declared in the deployment's MOBILE_ANALYTICS_APPS_JSON, or the collector refuses it with HTTP 403 Unknown mobile analytics app. Nothing is written.

Refusals#

  • A wrong invocation is refused before anything is sent: "failures takes groups --days <days> [--app <app-id>] [--installation <id>]; got <word>", "failures groups does not take <flag>; it takes …", "<flag> needs a value" and "failures groups needs --days".
  • Echo Web answers a bad request with "days is required: the window of failures to read" or "days must be a positive whole number: the window to read".