Usage Data Collector

The Crate Data Usage Data Collector (UDC) is a sub-system that gathers usage data, reporting it to the UDC server at https://udc.crate.io. It is easy to disable, and does not collect any data that is confidential. For more information about what is being sent, see below.

Crate uses this information as a form of automatic, effortless feedback from the community. We want to verify that we are doing the right thing by matching download statistics with usage statistics. After each release, we can see if there is a larger retention span of the server software.

The data collected is clearly stated here. If any future versions of this system collect additional data, we will clearly announce those changes.

Crate is very concerned about your privacy. We do not disclose any personally identifiable information.

Technical Information

To gather good statistics about Crate Data usage, UDC collects this information:

Name Description
Kernel Version The build number, and if there are any modifications to the kernel.
Cluster Id A randomized globally unique id created every time the whole cluster is restarted.
Master Boolean whether the current node is master.
Ping Count UDC holds an internal counter per node which is incremented for every ping, and reset on every restart of the a node.
Crate Version The crate version.
Java Version The Java version crate is currently running with.
Hardware Address MAC address to uniquely identify instances behind firewalls.

After startup, UDC waits for 10 minutes before sending the first ping. It does this for two reasons; first, we don’t want the startup to be slower because of UDC, and secondly, we want to keep pings from automatic tests to a minimum. By default, UDC is sending pings every 24 hours. The ping to the UDC servers is done with a HTTP GET.

Configuration

The Usage Data Collector can be configured by following parameters:

Name Default Value Description
udc.enabled true Disable/Enable UDC.
udc.initial_delay 10 Minutes The delay for first ping after start-up.
udc.interval 24 Hours The interval a ping is sent.
udc.url https://udc.crate.io The url the ping is sent to.

How to disable UDC

There are two ways you can disable UDC:

By configuration

Just add following to your crate.yml configuration file:

udc.enabled:  false

By system property

If you do not want to make any change to the jars or to the configuration, a system property setting like this will also make sure that UDC is never activated:

-Dudc.enabled=false