Telemetry
By default, TiDB, TiUP and TiDB Dashboard collect usage information and share the information with PingCAP to help understand how to improve the product. For example, this usage information helps prioritize new features.
What is shared?
The following sections describe the shared usage information in detail for each component. The usage details that get shared might change over time. These changes (if any) will be announced in release notes.
TiDB
When the telemetry collection feature is enabled in TiDB, the TiDB cluster collects usage details on a daily basis. These usage details include but are not limited to:
- A randomly generated telemetry ID.
- Deployment characteristics, such as the size of hardware (CPU, memory, disk), TiDB components versions, OS name.
To view the full content of the usage information shared to PingCAP, execute the following SQL statement:
ADMIN SHOW TELEMETRY;
TiDB Dashboard
When the telemetry collection feature is enabled for TiDB Dashboard, usage information on the TiDB Dashboard web UI will be shared, including (but not limited to):
- A randomly generated telemetry ID.
- User operation information, such as the name of the TiDB Dashboard web page accessed by the user.
- Browser and OS information, such as browser name, OS name, and screen resolution.
To view the full content of the usage information shared to PingCAP, use the Network Activity Inspector of Chrome DevTools or the Network Monitor of Firefox Developer Tools.
TiUP
When the telemetry collection feature is enabled in TiUP, user operations with TiUP will be shared, including (but not limited to):
- A randomly generated telemetry ID.
- Execution status of TiUP commands, such as whether the execution is successful and the execution duration.
- Deployment characteristics, such as the size of hardware, TiDB components versions, and deployment configuration names that have been modified.
To view the full content of the usage information shared to PingCAP, set the TIUP_CLUSTER_DEBUG=enable
environment variable when executing the TiUP command. For example:
TIUP_CLUSTER_DEBUG=enable tiup cluster list
Disable telemetry
Disable TiDB telemetry at deployment
When deploying TiDB clusters, configure enable-telemetry = false
to disable the TiDB telemetry collection on all TiDB instances. You can also use this setting to disable telemetry in an existing TiDB cluster, which does not take effect until you restart the cluster.
Detailed steps to disable telemetry in different deployment tools are listed below.
Binary deployment
Create a configuration file tidb_config.toml
with the following content:
enable-telemetry = false
Specify the --config=tidb_config.toml
command-line parameter when starting TiDB for the configuration file above to take effect.
See TiDB Configuration Options and TiDB Configuration File for details.
Deployment using TiUP Playground
Create a configuration file tidb_config.toml
with the following content:
enable-telemetry = false
When starting TiUP Playground, specify the --db.config tidb_config.toml
command-line parameter for the configuration file above to take effect. For example:
tiup playground --db.config tidb_config.toml
See Quickly Deploy a Local TiDB Cluster for details.
Deployment using TiUP Cluster
Modify the deployment topology file topology.yaml
to add the following content:
server_configs:
tidb:
enable-telemetry: false
Deployment using TiDB Ansible
Locate the following contents in the configuration file tidb-ansible/conf/tidb.yml
:
# enable-telemetry: true
And change this content as follow:
enable-telemetry: false
See Deploy TiDB Using TiDB Ansible for details.
Deployment in Kubernetes via TiDB Operator
Configure spec.tidb.config.enable-telemetry: false
in tidb-cluster.yaml
or TidbCluster Custom Resource.
See Deploy TiDB Operator in Kubernetes for details.
Disable TiDB telemetry for deployed TiDB clusters
In existing TiDB clusters, you can also modify the system variable tidb_enable_telemetry
to dynamically disable the TiDB telemetry collection:
SET GLOBAL tidb_enable_telemetry = 0;
Disable TiDB Dashboard telemetry
Configure dashboard.enable-telemetry = false
to disable the TiDB Dashboard telemetry collection on all PD instances. You need to restart the running clusters for the configuration to take effect.
Detailed steps to disable telemetry for different deployment tools are listed below.
Binary deployment
Create a configuration file pd_config.toml
with the following content:
[dashboard]
enable-telemetry = false
Specify the --config=pd_config.toml
command-line parameter when starting PD to take effect.
See PD Configuration Flags and PD Configuration File for details.
Deployment using TiUP Playground
Create a configuration file pd_config.toml
with the following content:
[dashboard]
enable-telemetry = false
When starting TiUP Playground, specify the --pd.config pd_config.toml
command-line parameter to take effect, for example:
tiup playground --pd.config pd_config.toml
See Quickly Deploy a Local TiDB Cluster for details.
Deployment using TiUP Cluster
Modify the deployment topology file topology.yaml
to add the following content:
server_configs:
pd:
dashboard.enable-telemetry: false
Deployment using TiDB Ansible
Locate the following content in the tidb-ansible/conf/pd.yml
configuration file:
dashboard:
...
# enable-telemetry: true
And change the content as follows:
dashboard:
...
enable-telemetry: false
See Deploy TiDB Using TiDB Ansible for details.
Deployment in Kubernetes via TiDB Operator
Configure spec.pd.config.dashboard.enable-telemetry: false
in tidb-cluster.yaml
or TidbCluster Custom Resource.
See Deploy TiDB Operator in Kubernetes for details.
Disable TiUP telemetry
To disable the TiUP telemetry collection, execute the following command:
tiup telemetry disable
Check telemetry status
For TiDB telemetry, execute the following SQL statement to check the telemetry status:
ADMIN SHOW TELEMETRY;
If the DATA_PREVIEW
column in the execution result is empty, TiDB telemetry is disabled. If not, TiDB telemetry is enabled. You can also check when the usage information was shared previously according to the LAST_STATUS
column and whether the sharing was successful or not.
For TiUP telemetry, execute the following command to check the telemetry status:
tiup telemetry status
Compliance
To meet compliance requirements in different countries or regions, the usage information is sent to servers located in different countries according to the IP address of the sender machine:
- For IP addresses from the Chinese mainland, usage information is sent to and stored on cloud servers in the Chinese mainland.
- For IP addresses from outside of the Chinese mainland, usage information is sent to and stored on cloud servers in the US.
See PingCAP Privacy Policy for details.