Skip to content

feat(telemetry): add tracking events #992

@tturkowski

Description

Context

We want to understand how developers are using shopware-cli. In order to do that we need to collect anonymous data about command usage. As today we have only project.create event which provides us limited information.

Naming convention

<group>.<action> — snake_case, hyphens become underscores. Full wire format: shopware_cli.<group>.<action> (prefix added by Track()).
Call site: go tracking.Track(...) — always async, non-blocking.

Privacy rules

  • Never include: extension names, file/directory paths, shop URLs, hostnames, error message text, branch/tag names, flag values that accept arbitrary user input
  • Allowed: fixed enums, booleans, integer counts, version strings from a known registry

Events

Global event for every command

Intent: Understand which commands are used most, how long they take, and whether they succeed.

Tag Values Product question
result success / cancelled / failure Which commands have the highest failure rate? Are users cancelling specific commands more than others?
duration_ms integer How long does a command take to complete?
cli_version version string Which CLI version was running - allows failure spikes to be correlated with specific releases.
os os string E.g. Do certain commands fail more often on specific platforms?
is_tui boolean Does user use TUI?

project.upgrade_check

Intent: Which upgrades are being planned and what is blocking them?

Tag Values Product question
target_version version string Which future Shopware versions are developers actively checking compatibility for?
has_blockers boolean Is upgrade blocked because of incompatible extensions?

Acceptance criteria

  • All events above are instrumented with go tracking.Track(...)
  • DO_NOT_TRACK opt-out covers all new events

Metadata

Metadata

Labels

No labels
No labels

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions