1# Telemetry in Zed
2
3Zed collects anonymous telemetry data to help the team understand how people are using the application and to see what sort of issues they are experiencing.
4
5## Configuring Telemetry Settings
6
7You have full control over what data is sent out by Zed. To enable or disable some or all telemetry types, open your `settings.json` file via `zed: open settings` from the command palette. Insert and tweak the following:
8
9```json
10"telemetry": {
11 "diagnostics": false,
12 "metrics": false
13},
14```
15
16The telemetry settings can also be configured via the `welcome` screen, which can be invoked via the `workspace: welcome` action in the command palette.
17
18## Dataflow
19
20Telemetry is sent from the application to our servers. Data is proxied through our servers to enable us to easily switch analytics services. We currently use:
21
22- [Axiom](https://axiom.co): Cloud-monitoring service - stores diagnostic events
23- [Clickhouse](https://clickhouse.com): Business Intelligence platform - stores both diagnostic and metric events
24- [Metabase](https://www.metabase.com): Dashboards - dashboards built around data pulled from Clickhouse
25
26## Types of Telemetry
27
28### Diagnostics
29
30Diagnostic events include debug information (stack traces) from crash reports. Reports are sent on the first application launch after the crash occurred. We've built dashboards that allow us to visualize the frequency and severity of issues experienced by users. Having these reports sent automatically allows us to begin implementing fixes without the user needing to file a report in our issue tracker. The plots in the dashboards also give us an informal measurement of the stability of Zed.
31
32You can see what data is sent when a panic occurs by inspecting the `Panic` struct in [crates/telemetry_events/src/telemetry_events.rs](https://github.com/zed-industries/zed/blob/main/crates/telemetry_events/src/telemetry_events.rs#L184) in the zed repo. You can find additional information in the [Debugging Crashes](https://zed.dev/docs/development/debugging-crashes) documentation.
33
34### Usage Data (Metrics) {#metrics}
35
36To improve Zed and understand how it is being used in the wild, Zed optionally collects usage data like the following:
37
38- (a) file extensions of opened files;
39- (b) features and tools You use within the Editor;
40- (c) project statistics (e.g., number of files); and
41- (d) frameworks detected in Your projects
42
43Usage Data does not include any of Your software code or sensitive project details. Metric events are reported over HTTPS, and requests are rate-limited to avoid using significant network bandwidth.
44
45Usage Data is associated with a secure random telemetry ID which may be linked to Your email address. This linkage currently serves two purposes: (1) it allows Zed to analyze usage patterns over time while maintaining Your privacy; and (2) it enables Zed to reach out to specific user groups for feedback and improvement suggestions.
46
47You can audit the metrics data that Zed has reported by running the command `zed: open telemetry log` from the command palette, or clicking `Help > View Telemetry Log` in the application menu.
48
49You can see the full list of the event types and exactly the data sent for each by inspecting the `Event` enum and the associated structs in [crates/telemetry_events/src/telemetry_events.rs](https://github.com/zed-industries/zed/blob/main/crates/telemetry_events/src/telemetry_events.rs#L63] in the zed repo.
50
51## Concerns and Questions
52
53If you have concerns about telemetry, please feel free to open issues in our [Zed repository](https://github.com/zed-industries/zed/issues/new/choose).