You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Responded to PR feedback:
- Changed setting location to use $HOME.
- Added location of anonymous id.
- Added info on how to import TelemetryLogger.
- Error object was originally meant to be pseudocode but it looks too much like an object, changed to typescript.
Signed-off-by: Tim deBoer <[email protected]>
Copy file name to clipboardexpand all lines: USAGE_DATA.md
+12-6
Original file line number
Diff line number
Diff line change
@@ -6,8 +6,9 @@ Podman Desktop uses telemetry to collect anonymous usage data in order to identi
6
6
Users are prompted during first startup to accept or decline telemetry. This setting can be
7
7
changed at any time in Settings > Preferences > Telemetry.
8
8
9
-
On disk this is stored in the `"telemetry.*"` keys within the settings file,
10
-
at `~/.local/share/containers/podman-desktop/configuration/settings.json`.
9
+
On disk the setting is stored in the `"telemetry.*"` keys within the settings file,
10
+
at `$HOME/.local/share/containers/podman-desktop/configuration/settings.json`. A generated anonymous id
11
+
is stored at `$HOME/.redhat/anonymousId`.
11
12
12
13
## What's included in the telemetry data
13
14
@@ -32,17 +33,22 @@ Likewise, content like error messages often contains user-identifiable data like
32
33
33
34
### What to collect
34
35
36
+
Extensions can access the telemetry logger from the Podman Desktop API:
37
+
```
38
+
import { TelemetryLogger } from '@podman-desktop/api';
39
+
```
40
+
35
41
Telemetry should never be collected 'because we can', but because we want to see current behaviour in order to improve it. This means that we should only collect the minimal data in order to meet those goals, but conversely that we also collect enough to be able to act. For instance, collecting command pass/fail would tell us how often it failed, but not why it's failing in order to fix a bug or improve usability.
36
42
37
43
When we capture information about commands and whether they succeed, they should be sent using logUsage() as a single event after an action completes, with optional error attributes. This makes it much easier to track the success rate and correlate failures with differences in environment or usage. logError() is typically used for independent or background errors.
38
44
39
45
When calling logUsage() after an external commandline process or REST interface has failed, include an error object that contains the standard properties, e.g.:
0 commit comments