# Diagnostics Reporting

By default, the Admin UI and each node of a CockroachDB cluster share anonymous usage details with Cockroach Labs. These details, which are completely scrubbed of identifiable information, greatly help us understand and improve how the system behaves in real-world scenarios.

This page summarizes the details that get shared, how to view the details yourself, and how to opt out of sharing.

Tip:

For insights into your cluster's performance and health, use the built-in Admin UI or a third-party monitoring tool like Prometheus.

## What gets shared

When diagnostics reporting is on, each node of a CockroachDB cluster shares anonymized details on an hourly basis, including data about the following:

- Stores on the node
- Hardware the node is running on
- Structure of tables stored on the node
- Types of SQL queries executed by the node
- Replication zones applying to the node
- `CLUSTER SETTINGS` that have been altered
- Crashes reported by the node
- Admin UI user information and page views
- Attempts to use unsupported features
- Names of SQL built-in function that produce errors

Note:

In all cases, names and other string values are scrubbed and replaced with underscores. Also, the details that get shared may change over time, but as that happens, we will announce the changes in release notes.

## How to view diagnostics details

To view the diagnostics details that a node reports to Cockroach Labs, use the `http://<node-address>:<http-port>/_status/diagnostics/local` JSON endpoint.

## Opt out of diagnostics reporting

### At cluster initialization

To make sure that absolutely no diagnostic details are shared, you can set the environment variable `COCKROACH_SKIP_ENABLING_DIAGNOSTIC_REPORTING=true` before starting the first node of the cluster. Note that this works only when set before starting the first node of the cluster. Once the cluster is running, you need to use the `SET CLUSTER SETTING` method described below.

### After cluster initialization

To stop sending diagnostic details to Cockroach Labs once a cluster is running, use the built-in SQL client to execute the following `SET CLUSTER SETTING` statement, which switches the `diagnostics.reporting.enabled` cluster setting to `false`:

    > SET CLUSTER SETTING diagnostics.reporting.enabled = false;

This change will not be instantaneous, as it must be propagated to other nodes in the cluster.

## Check the state of diagnostics reporting

To check the state of diagnostics reporting, use the built-in SQL client to execute the following `SHOW CLUSTER SETTING` statement:

    > SHOW CLUSTER SETTING diagnostics.reporting.enabled;

    +-------------------------------+
    | diagnostics.reporting.enabled |
    +-------------------------------+
    | false                         |
    +-------------------------------+
    (1 row)

If the setting is `false`, diagnostics reporting is off; if the setting is `true`, diagnostics reporting is on.

## See also

- Cluster Settings
- Start a Node