# 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 (but not limited to):

- Deployment and configuration characteristics, such as size of hardware, cluster settings that have been altered from defaults, number of replication zones configured, etc.
- Usage and cluster health details, such as crashes, unexpected errors, attempts to use unsupported features, types of queries run and their execution characteristics as well as types of schemas used, etc.

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

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.

## 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