Telemetry

Telemetry

Telemetry is an automated process that collects data at a remote point. The only reason why Memgraph uses telemetry data is to improve its products by focusing on areas important to users. Memgraph fully understands the need for user privacy which is why the telemetry feature is completely optional and can be fully disabled before starting the database.

This article serves to cultivate transparent communication with the developer community. Your feedback is very much appreciated, and telemetry data is a way of receiving such feedback. If you wish to get in touch with us, you can always schedule an office hours call (opens in a new tab) or join our community on Discord (opens in a new tab).

Data collected

While a Memgraph database instance is running and an open internet connection is available, the following data will be sent to and stored on Memgraph's servers.

Information about the host machine:

  • CPU model
  • Memory information
  • Host OS
  • Kernel information

Information about the clients:

  • client name
  • supported and agreed Bolt version
  • number of sessions from each clients
  • number of executed queries
  • authentication type (user or anonymous)

Information about active databases:

  • disk storage and usage
  • RAM usage
  • number of nodes and relationships
  • number of constraints and indices
  • storage mode
  • isolation level

Database runtime information:

  • If durability and SSL is enabled.
  • Timestamp of the first failed and first successful executed query.
  • Event counters - For example, number of failed queries or ScanAll operator calls.
  • Query module calls - Only the names of the query module and procedure are recorded.

No personal information is sent in the process of collecting telemetry data. Each database generates a unique identifier by which data coming from the same database instance is grouped. This unique identifier is in no way connected to other personal information about the user.

Data usage

Telemetry data is used by Memgraph's developers for the purpose of developing new functionalities and the general maintenance of products. By analyzing the host machine environment and runtime information, products can be optimize to better suit specific user needs.

For example, if there is a considerable number of users who regularly call NetworkX query modules, more resources would be invested in the development of similar new features and extending the support for implemented ones.

As is often the case, certain goals need to be prioritized. A data-driven understanding of product usage will help memgraph prioritize features that are more likely to benefit a larger subset of Memgraph users.

Disable telemetry

Telemetry is completely optional and can be fully disabled when starting the database.

There are two ways to disable Memgraph's telemetry features:

  • In the /etc/memgraph/memgraph.conf file change the setting --telemetry-enabled=true to --telemetry-enabled=false.
  • Include --telemetry-enabled=false as a command-line argument when starting the database.